Imagine having to program your computer by rewiring it. For a brief period of time around the mid-1940s, the first general-purpose electronic computers worked that way. Computers like ENIAC initially had no internal storage for code. Programming it involved manipulating thousands of switches and cables. The positions of those switches and cables were the program.
Kathleen Booth began working on computers just as the idea of storing the program internally was starting to permeate through the small set of people building computers. As a result, she was one of the first programmers to work on software and is credited with inventing assembly language. But she also got her hands dirty with the hardware, having built a large portion of the computers which she programmed. She also did some early work with natural language processing and neural networks. And this was all before 1962, making her truly a pioneer. This then is her tale.
Early Years
Kathleen Booth was born Kathleen Britten in 1922 in Stourbridge, Worcestershire, England. She got a B.Sc. in Mathematics from the University of London and a Ph.D. in Applied Mathematics in 1950. There weren’t any computer degrees to be had as of yet. From 1944 to 1946 she was a Junior Scientific Office at the Royal Aircraft Establishment and then from 1946 to 1952, a Research Scientist at the British Rubber Producer’s Research Association (BRPRA). Also in 1946, she started work as a research assistant at Birkbeck College, University of London, later becoming a Research Fellow and Lecturer.
Building Computers At Birkbeck College
At Birkbeck, computer research was being done by Andrew Booth whom Kathleen would eventually marry. Andrew had previously done X-ray crystallography research at the University of Birmingham and that included doing a lot of computations. This started him down the path of building computing machines to make the work easier. He next spent a short time as a research physicist at the BRPRA where he began work on the ARC, the Automatic Relay Computer (sometimes referred to as the Automatic Relay Calculator). This used paper tape for input and was really a special purpose computer serving as a Fourier synthesizer.
In 1946 he took up a post as a Nuffield fellow at Birkbeck. He continued work on the ARC but as there was no room at the College, and since the BRPRA was funding it, the work was done at their facilities. It was then that he met Kathleen. Kathleen and another research assistant, Xenia Sweeting, helped Andrew continue building the ARC and in fact did most of the construction.
6 Months In Princeton
In 1945, John von Neumann wrote a document called the First Draft of a Report on the EDVAC wherein he described what became known as the von Neumann architecture for a computer. In it, he defines the parts of a computer and in particular that program is stored in the computer’s memory. For that reason, it’s also sometimes called the stored-program computer.
In 1947, through funding from the Rockefeller Foundation and the BRPRA, Andrew and Katheleen took a 6 month US tour with von Neumann whom Andrew had met during a previous visit. The tour was based in Princeton, New Jersey at the Institute for Advanced Study.
This visit was also the first time that the Booth’s had heard of the von Neumann architecture. It led Andrew to redesign the ARC, designing the relay part of the machine in only 2 months, coming up with what is sometimes referred to as the ARC2. Still in 1947, Kathleen and he also wrote up two reports about it, General considerations in the design of an all-purpose electronic digital computer and Coding for A.R.C.. The first of those reports was widely circulated and even underwent a 2nd edition. In it, they detailed what’s needed for a von Neumann architecture machine, outlining a number of different options for the memory.
Inventing Early Assembly Language
The only place I could find Coding for A.R.C. was as a hard copy on the Institute’s shelves, which is unfortunate as it’s usually the reference for where Kathleen first outlined her assembly language, or autocode, for ARC2. She also wrote the assembler for it.
The other report was released around the same time, and while it does give a contracted notation for the ARC2’s machine language, I suspect that this wasn’t the assembly language. In that report, she first explains how the orders, which we now call instructions, are represented by 0s and 1s loaded into some sort of storage. For the ARC2, 10011
was the order to clear the arithmetic register and transfer a value from memory into the register. Today, we call this machine language. In contracted notation, she then gives the same order as M -> cR
.
The Electronic Computers
Andrew Booth’s next computer was entirely electronic and called the SEC (Simple Electronic Computer). That was followed by the APE(*)C (All Purpose Electronic Computer) where the * was to be replaced by a letter representing the sponsor.
Katherine also wrote software for those two computers but unlike with ARC and ARC2, she didn’t do any of the construction.
Natural Language Processing
In 1947, in order to get funding from Rockefeller, the Booth’s added working on natural language processing to their list of projects. The goal was to achieve accurate technical translation and not literary quality. In their book, Automatic Digital Calculators, they outline some of the algorithms which they and collegues had worked on up to 1965, starting out with word substitutions and processing of stems and word endings. While they did a lot of work on NLP at Birkbeck College with their students, there’s also a record of them working on English-French translations for the National Research Council Canada between 1965 and 1972.
Neural Networking In The 1950s
As another example of her pioneering work, the Birkbeck College Annual Report of 1958/59 says that Kathleen wrote a program to simulate a neural network investigating ways in which animals recognize patterns and that the following year’s report mentions her work on a neural network for character recognition. This was only four years after the first running of a neural network on a computer.
Off To Canada
The Booth’s left Birkbeck College in 1962, both moving to Canada to work at the University of Saskatchewan and then at Lakehead University in 1972. She retired from Lakehead in 1978 but an article search shows a paper by her and her son, Dr. Ian J. M. Booth, entitled Using neural nets to identify marine mammals dated 1993 when she would have been 71 and still going strong.
I thought I recognised the name: hubby Andrew created Booth Coding, used in his multiplier. Booth Coding is a useful technique for reducing the size of arithmetic circuits that digital designers should know.
https://en.wikipedia.org/wiki/Booth%27s_multiplication_algorithm
Hackaday needs to get a different graphic artist to do its illustration. The drawing here doesn’t look anything like
Kathleen Booth. Kathleen was a WOMAN, not some androgynous human-like life form.
That graphic is almost an exact copy of an actual photograph. Take 5 seconds to google before you complain.
http://www.computinghistory.org.uk/det/32489/Kathleen-Booth/
I must admit I though the same because the above photo shows her with a distinctively 40s hairstyle.
when I googled her name, that picture never showed up. You know how google is, inconsistent, mysterious, even occasionally nefarious. Besides,the picture you provided is not Kathleen’s usual look. She probably just didn’t want to get her hair stuck in the machinery that day, plus those machines didn’t exactly run cool I’m sure. Many pictures of her, especially when she was older were much more feminine. It’s just that the one in your link gets WAY too much exposure, further amplified by this article. (Kind of like the pictures of Nicola Tesla. You would think there were only ~3 of them in total, just rehashes of the same old photos. It’s so much easier to copy what’s already out there and convenient than to find more obscure images and bring fresh content to the public.)
https://www.google.com/search?tbm=isch&source=hp&biw=1366&bih=649&ei=p1e9W7ffM6Sb5wKAiiw&q=kathleen+booth&oq=kathleen+booth&gs_l=img.3..0l2j0i30j0i24l5.1402.3989..4566…0.0..0.190.858.13j1……0….1..gws-wiz-img…….0i8i30.HchkocziKWE
It really is that easy. She seems to have favored above the collar cuts. But by all means let’s make it all about her hair.
I loved the style of the art.
“ASSEMBLING EARLY COMPUTERS WHILE INVENTING ASSEMBLY”
Ah! A meta-title.
The mother and son team of Dr. Booth used to lecture at the University of Victoria in the 1990s. She gave a good lecture on the importance of communications for engineers.
FYI – here’s a scan of Coding for A.R.C.
https://diglib.amphilsoc.org/islandora/object/andrew-d-booth-and-kathleen-h-v-britten#page/1/mode/1up
A fascinating read. It includes several programs written in her notation.
The “other paper” referenced above (now with broken link) is “General Considerations in the Design of an All-Purpose Electronic Digital Computer”, 1947, 2nd edition.
There is a working link in the WayBack machine.
https://web.archive.org/web/20201023162320/http://www.mt-archive.info/Booth-1947.pdf