BASIC Curricula
Teaching code in schools
BASIC curricula in schools introduced millions of students to programming concepts through hands-on coding on classroom computers.
When schools acquired computers in the late 1970s and early 1980s, they needed curricula to teach programming. BASIC became the standard first language — its simplicity, interactivity, and ubiquity (almost every home / school computer of the era shipped with BASIC built into ROM) suited classroom use perfectly. Teachers developed progressions from PRINT statements through loops to graphics and sound. Some students went on to careers in software; all gained an early sense of how computers worked.
BASIC was created by John Kemeny and Thomas Kurtz at Dartmouth College in 1964 as an academic teaching language. By 1980 it had spread to every micro-computer, and the machines schools bought shipped with it in ROM.
Fast facts
- Language: BASIC variants (Microsoft BASIC, BBC BASIC, Commodore BASIC, Apple Integer / Applesoft, Sinclair BASIC).
- Setting: School computer labs, dedicated computer classrooms, library computer corners.
- Era: 1980-1995 peak; tapered off as Pascal, then C++, then Python took over.
- Approach: Interactive REPL, immediate feedback, no compile cycle.
- Progression: Simple output → variables → input → loops → graphics → sound → larger programs.
Region-specific traditions
| Region | Platform | Curriculum |
|---|---|---|
| UK | BBC Micro | The BBC Computer Literacy Project: a television series (The Computer Programme, 1982, followed by Make the Most of the Micro) built around the BBC Micro, whose producer David Allen wrote that “the route to computer literacy is through ‘hands-on’ experience” |
| USA | Apple II / II+ / IIe | Apple held 58% of public-school computers in 1987 to Commodore’s 12%, Tandy’s 14% and IBM’s 6% (USA Today figures, quoted in COMPUTE!’s Gazette); Logo often supplemented BASIC |
| France | Thomson MO5 / TO7 | “Plan Informatique pour Tous” (1985) — government-mandated computer in every school |
| Australia / NZ | BBC Micro / Apple II / Commodore 64 | Mixed; Apple II strongest |
| Soviet Union / Russia | Various Soviet computers (Korvet, Agat, BK-0010) | BASIC standard despite domestic computers |
| Japan | MSX / Sharp X1 | MSX BASIC was built into every machine on the MSX standard |
The BBC Micro (Acorn, 1981) was unique — designed specifically for the BBC’s TV-show curriculum, with a strong BASIC, a built-in assembler, and a robust I/O system. UK students of a certain age learned to code on a BBC Micro; that generation produced ARM (Acorn’s 1985 RISC chip family) and a disproportionate number of British game developers.
On the Commodore 64
COMPUTE!’s Gazette followed the 64 into American schools. Its October 1987 feature quotes USA Today’s count of 12% of public-school computers being Commodores against Apple’s 58%, and a Northeast dealer, Meizner Business Machines, that had sold PETs to school systems since the late 1970s and “thousands of 64s and hundreds of 128s” since. In Canada, Commodore’s education manager Ray Prachun put the company first in schools at about 21% to Apple’s 19% (October 1988), a position built on the PET’s early buyers — “math instructors, school board consultants, and other educators”.
The same 1988 feature is the clearest account in the library of what a BASIC curriculum on the 64 looked like from the inside. In 1983 Donna Mason was handed a lab of ten Commodore 64s at Alice Deal Junior High School in Washington, D.C., no software, no guidelines, and a computer-literacy programme to build for 1,000 students: “There wasn’t too much software available for the 64, so our program consisted of teaching BASIC programming.” Five years on she had moved the programme “away from pure computer literacy… to just using the computer as a tool”, with LogoWriter, tutorials and drill-and-practice software integrated into other subjects — the arc from BASIC-as-the-curriculum to computer-as-a-tool that this entry describes in general, told by one teacher.
Typical progression
How BASIC was taught — a typical 10-week progression:
| Week / phase | Topic | Example |
|---|---|---|
| 1 | PRINT, simple output |
PRINT "HELLO WORLD" |
| 2 | Variables, INPUT |
INPUT N$ : PRINT "HELLO ";N$ |
| 3 | Numeric variables, basic maths | LET A = 5 + 3 : PRINT A |
| 4 | IF...THEN conditionals |
Guess-the-number game |
| 5 | FOR...NEXT loops |
Counting, multiplication tables |
| 6 | GOTO and GOSUB/RETURN |
Menu-driven programs |
| 7 | Arrays and DIM |
Lists of names, scores |
| 8 | Graphics primitives | PLOT, DRAW, CIRCLE (platform-specific) |
| 9 | Sound | Frequency / duration commands |
| 10 | Larger project | Simple game, calculator, quiz |
Most curricula then either continued into Pascal (taught as a “more disciplined” follow-on), discontinued programming after the BASIC year, or pivoted into application use (word processing, database).
Educational value
What BASIC taught:
| Concept | How it appeared |
|---|---|
| Logical thinking | Sequencing instructions in a recipe-like way |
| Debugging | Finding and fixing errors via syntax messages and runtime tracebacks |
| Abstraction | Variables representing values that change |
| Problem-solving | Breaking tasks into steps |
| Iteration | Loops as a way to express repetition compactly |
| Conditionals | Decision-making in code |
| State management | Variables that persist across loop iterations |
These transferred perfectly to other languages — students who learned BASIC and later picked up Pascal or C found the syntactic differences trivial compared to having internalised the underlying concepts.
Criticisms
BASIC drew criticism even at its peak:
- Edsger Dijkstra (1975): “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.” (Often-quoted; possibly overstated.)
GOTOoveruse — early BASIC didn’t have structured-programming constructs; spaghetti code was the norm.- Single-character variables only (early BASICs) — discouraged meaningful naming.
- Line numbers — required forethought and renumbering, taught poor habits.
Modern BASICs (QuickBASIC, Visual Basic) addressed most of these, but the criticism stuck — academia largely moved to Pascal, then to C, then to Python.
Successor languages in education
| Era | Replacement language | Why |
|---|---|---|
| Late 1980s | Pascal | “More disciplined”; structured programming; widely used in CS departments |
| 1990s | C / C++ | Industry-relevance argument; AP Computer Science pushed C++ |
| 2000s | Java | AP Computer Science switched to Java in 2003; “industrial relevance” |
| 2010s+ | Python | Simpler than Java for teaching; ubiquitous in industry; AP CS Principles uses Python and Scratch |
| Specialty | Logo, Scratch, Snap! | Visual / specialised teaching tools; Scratch is the modern entry-level standard |
The BASIC tradition lives on in spirit in Scratch (MIT Media Lab, 2007) — visual block-based programming that emphasises immediate feedback and project-based learning.
Modern revival
BASIC is making a niche comeback:
- PICO-8 and TIC-80 fantasy consoles — programmed in Lua rather than BASIC, but built around the same type-it-and-run loop in a single small machine
- Microsoft Small Basic — modern BASIC for education
- BASIC retro communities — Sinclair BASIC, BBC BASIC, and Commodore BASIC retain dedicated communities for retro game-making