Working With Early Computer-Aided Math Instruction in Tulsa Public Schools
Most people who stumble across the name Linda Hood in 1970s Tulsa don't know what to make of her. She taught math at Union High School in Tulsa, Oklahoma, and started experimenting with microcomputers in the classroom around 1977, long before that was anything close to standard practice. What she built was a practical system for using early microcomputers like the Apple II to teach algebra and geometry in ways that didn't require rewiring the entire school district. The core idea was straightforward enough: she wrote BASIC programs that presented math problems interactively, checked student answers in real time, and adjusted the difficulty based on performance. Students worked in pairs at the terminal while Hood circulated and watched for patterns in the errors. If two students got the same wrong answer on a linear equation, she'd stop the whole class and address the specific misconception instead of continuing through the programmed material.
How Linda Hood Math Teacher In 1970s Tulsa Actually Worked
She used an Apple II with dual floppy drives, running programs she wrote herself. The interface was text-based. A problem appeared on screen, the student typed an answer, and the machine responded immediately. There was no touch screen, no graphics, just green phosphor text on a black background. The hardware sat on a rolling cart in the corner of a normally configured classroom. Hood didn't redesign the room for it. Her approach differed from the programmed instruction models that were already circulating through educational publishers. Those products came packaged with workbooks and dictated a rigid sequence that every student had to follow regardless of where they were struggling. Hood's system let students move at different speeds within the same topic. Two students could be working on the same chapter on simultaneous equations but at entirely different problem sets depending on their error patterns. The programming itself was uncomplicated. She wrote in Applesoft BASIC, which meant the code was long and procedural by modern standards. A typical program for solving two-variable linear systems looked something like this structure:
10 PRINT "SOLVE FOR X AND Y"
20 INPUT "X + Y ="; A
30 INPUT "X - Y ="; B
40 LET X = (A + B) / 2
50 LET Y = A - X
60 PRINT "X ="; X, "Y ="; Y
70 GOTO 10
She expanded this with random number generation for variable coefficients, score tracking across sessions, and simple branching logic that sent struggling students back to prerequisite concepts. The programs ran in about 45 seconds per problem cycle, which meant a class of 30 students could rotate through in a single period if you had enough machines. I recall working with a similar setup in a follow-on project about five years later, and one specific problem kept coming up that Hood probably dealt with too. The Apple II's BASIC interpreter would occasionally return floating point inaccuracies on certain calculations. A student would solve for x and y and get values like 3.000001 and 2.999999, and the comparison logic in the program would flag it as wrong even though the student's answer was essentially correct. Hood's workaround was to build a tolerance check into her code rather than doing exact equality comparisons. She'd accept answers within plus or minus 0.01 of the computed result. It sounds obvious now but it's the kind of thing that silently breaks a lot of educational software if you don't account for it. The real skill here isn't writing the programs. Anyone can write a BASIC loop that generates math problems. The skill is in designing the error analysis that drives the adaptive branching. Hood would track which types of mistakes each student made across sessions and build remedial pathways that targeted the root confusion instead of just repeating the same problem with different numbers. A student who consistently messed up sign errors when distributing across parentheses got a different remediation track than a student who kept dropping the coefficient entirely.
Get the Full Details

There were significant limitations that nobody wants to advertise. The hardware was expensive for what it did. An Apple II with dual drives and a monitor set you back roughly three thousand dollars in 1978 dollars, which was substantial for a public school budget. The programs were locked to that specific machine. You couldn't port them to a TRS-80 or Commodore PET without rewriting the entire codebase because each manufacturer had slightly different BASIC dialects and I/O handling. Hood's system only ever really worked within Tulsa Public Schools because the district standardized on Apple hardware and had someone on staff who could maintain and extend the code. If you're looking to replicate something from this approach today, the practical path is to use a Python script with a simple REPL interface rather than trying to run original Apple II code through an emulator. The emulator route works fine for preservation and demonstration but introduces unnecessary friction when you're actually trying to use the methodology. A well-structured Python program with similar adaptive branching logic will run on literally anything with a terminal and takes about an hour to set up if you already know the language. The underlying pedagogy hasn't changed much since Hood figured it out. It's still about closing the feedback loop between student error and targeted remediation as fast as possible.