Kathleen Booth — Machine Learning Pioneer
Looking at the work of Kathleen Booth shows a person heavily interested in improving the usability of computers. She wrote the first assembly language, co-authored one of the first books about computer programming, and was a university lecturer.
Being the author of the first assembly language is quite a feat already, but Kathleen Booth didn’t stop there. The more I dug through some of the papers she co-authored with her husband Andrew Booth, the more I was being blown away by the amazing work of a woman whose achievements and inventions are almost unknown to the majority of programmers today.
The Perfect Team
The Booth couple made the perfect team: While her husband designed the computers, she was doing all the programming, devising methods to work effectively with the computers. This prompted her to develop many techniques that have been influential to this day. Despite that some of those techniques seemed so obvious for them that they didn’t publish papers long after they were widely adopted.
This is what they wrote about a fundamental technique like Binary Partitioning:
The lookup method used from the first was binary partitioning — a technique which we regarded as so obvious that we did not deem it worth publication until we discovered that several major computer groups were using sequential search strategies.
For them there was no need to even write a paper about something so obvious!
Asynchronous and Synchronous programming
With the advent of tools like node.js, asynchronous programming became a technique known almost by every web dev out there. What caught me totally by surprise was to find descriptions of these techniques in a paper she co-authored back in 1947. Considering that she was the programmer in the Booth family, we could assume that she came up with these techniques herself.
Machine Learning & Artificial Intelligence
In 1953 the couple published a book called Automatic Digital Calculators, where not only they explain the design of a computer, but also they present techniques about how to program them.
The last chapter is called Some Applications of Computing Machines, which includes examples like these:
Linguistic processing, where they propose what are the beginnings of Machine Translation. This seems like a small contribution, but as they explain in their writings, computers where used mostly for numeric computation, so doing linguistic work was a new thing.
They published papers later in Canada about some experiments they did translating English into French. English-French Translation on a Computer. Besides machine translation they wander into areas like Stylistic Analysis used as a basis for deciding the date or authenticity of literary works.
Computer games, here they propose that computers could also be used for playing games, something quite obvious today, but not as evident back then. In this chapter they explain techniques for implementing a game of Tic-Tac-Toe (which they call noughts & crosses). They also discuss the techniques known back then for writing programs that could play checkers and chess.
Machine Learning and Artificial Intelligence, in this last section they explain how to produce a conditioned reflex in a digital calculator.
What seems more like a nice hypothesis than an actual practical problem, becomes a reality in the time between the first and the second editions of the book, where they manage to implement their ideas on a IBM machine.
Possibly the most exciting area of computer research at the present time is that of artificial intelligence. [These ideas that we] first put forward […] in 1952, seem to be those most in favour at the present time. — Kathleen Booth
To finish this article I’d like to echo the sentiment of Kathleen and her husband, as it appears in the preface of the third edition of their book. Despite all the highly innovative work they did during their careers, one can still notice that they didn’t get the recognition they deserved. This is what they have to say about the state of Artificial Intelligence in the ‘60s.
As the old adage says, everything old is new again. I hope this article is a little contribution to highlight the life and work of Kathleen Booth and her husband, pioneers of the computing age.
Advent Calendar — Help us make it a book!
From December 1st until December 24th we plan to release one article each day, highlighting the life of one of the many women that have made today’s computing industry as amazing as it is: From early compilers to computer games, from chip design to distributed systems, we will revisit the lives of these pioneers.
Each article will come with an amazing illustration by @SebastianNavasF.
If you want to see these series to become a book with expanded articles and even more illustrations by Sebastián, then subscribe to our newsletter below.
- Illustration: Sebastián Navas
- Booth, Andrew D. and Britten, Kathleen H. V.: General considerations in the design of an all purpose electronic digital computer. 2nd. Edition, August 1947. Institute for Advanced Study, Princeton, N.J. http://www.mt-archive.info/Booth-1947.pdf
- Booth, Andrew D., and Booth, Kathleen H.V. Automatic Digital Calculators. https://archive.org/details/AutomaticDigitalCalculators
- Booth, Andrew D., and Booth, Kathleen H.V. The Origins of MT. http://www.mt-archive.info/MTS-1997-Booth.pdf
- Dufresne, Steven. Kathleen Booth: Assembling Early Computers While Inventing Assembly. https://hackaday.com/2018/08/21/kathleen-booth-assembling-early-computers-while-inventing-assembly/