On this page
In 1947, a young mathematician named Kathleen Britten faced a problem every programmer since has met. Her computer understood only strings of 1s and 0s; people do not think that way. Her answer, a short readable notation standing in for the binary, is why her name comes up whenever someone asks who invented assembly language.
Who was Kathleen Booth?
Kathleen Hylda Valerie Booth (née Britten) was born on 9 July 1922 in Stourbridge, England, and died on 29 September 2022 in British Columbia, Canada, aged 100, according to her Wikipedia biography. From 1946 she worked at Birkbeck College in London with Andrew Booth, whom she married in 1950.
Together they built a run of early machines: the ARC (Automatic Relay Calculator), its redesign the ARC2, the all-electronic SEC, and later the APEXC. Between March and September 1947 the pair worked at the Institute for Advanced Study in Princeton, where they discussed computer design with John von Neumann and Herman Goldstine, says her MacTutor biography at the University of St Andrews. Out of that trip came the redesigned ARC2.
What did Kathleen Booth actually invent?
She wrote all the software for the ARC2 and SEC, and in the process invented what she called Contracted Notation, which "through evolution and contributions by others, is today known as assembly language," wrote Liam Proven in The Register's obituary.
Assembly language is a low-level programming language in which each readable instruction corresponds closely to one machine-code instruction, and a program called an assembler translates it into binary (Wikipedia: Assembly language).
Here is her idea in one example. On the ARC2, the binary order 10011 meant "clear the arithmetic register, then copy a number from memory into it." In Contracted Notation she wrote the same order as M → cR, as Steven Dufresne described in a Hackaday profile. M is memory, R is the register, c means clear, and the arrow shows which way the number moves. You can read it aloud; you cannot really read 10011.
The notation was set out in "Coding for A.R.C.", a report by Andrew Booth and Kathleen Britten dated September 1947 and regarded as the first published description of an assembly language (Wikipedia: Automatic Relay Calculator). The St Andrews transcription of the Booth-Britten reports shows how carefully they thought: a satisfactory code "must be arithmetically complete," able to build any function from the ordinary rules of arithmetic, starting from addition, subtraction and shifts.
So did she invent assembly language alone?
The fair answer is that her report is the earliest published description of one, and others pushed the idea further. At Cambridge, David Wheeler wrote the "initial orders" for the EDSAC computer, which let programmers type short letter codes instead of binary. The IEEE Computer Society gave him its 1985 Computer Pioneer Award "for assembly language programming" (IEEE Computer Society profile). Booth's 1947 notation came first on paper; Wheeler's initial orders did the translating on a running machine. Both stories are true.
Booth also believed this skill was open to anyone. Her 1958 book, Programming for an Automatic Digital Calculator, argued that "programming can be acquired by anyone with a capacity for accurate detailed thinking," as quoted in the MacTutor biography. In 1962 she moved to Canada, working at the University of Saskatchewan and later Lakehead University.
How can you try her idea yourself?
Spend a few minutes being an assembler. The toy machine below is invented for practice; only the M → cR example above is Booth's real ARC2 order.
Take a made-up code table: 001 means "load memory into R", 010 means "add memory to R", 011 means "store R in memory".
Write a readable name for each, in her style: M → R, R + M → R, R → M.
Translate this binary program into your notation: 001, 010, 011.
Say what it does in plain words. (It loads a number, adds a second one, and saves the total.)
Now go backwards: write "load, add, add, store" in binary.
Notice how quickly you start trusting the symbols instead of the bits. That is the bridge Booth built.
If you want the bigger picture of how a computer moves numbers between memory and registers, the Fermi Concept Library has a lesson for every concept in computing, alongside physics, chemistry, biology and mathematics, each with its place in the map of how ideas connect.
Why does this matter if you want to study computing?
Every app on your phone still ends up as machine code, and reading a little assembly shows you what the hardware is really doing. Rick Bunt, a professor emeritus of computer science at the University of Saskatchewan who took over her post there in 1972, put it simply: "Assembly languages were the first way that normal people like us were able to start using computers."
For more of that history, read about Jean Bartik and the ENIAC programmers and Frances Allen's work on compiler optimisation. If you are a school student drawn to this, our guide on moving from informatics olympiads to competitive programming is a practical next step.



