Fall 2025

This program, primarily based in Cambridge, explores the last two centuries of the history of computing, particularly focusing on two eras with particularly strong British contributions: when the first programmable devices were being designed (in the mid-1800s) and when the first physical programmable computers were being built (in the mid-1900s, as part of the Allied efforts in World War II).


Message from Faculty Director

David Liben-Nowell

If you think about computer science as dating back to the early 1980s (when the first Carleton CS majors start to appear in the alumni directory), or even to 1956 (when the name “computer science” was coined), it probably seems a little bit strange to study the history of the field in the shadow of a university that was founded in 1209. But that’s exactly what we’ll do in this program! Some of the key moments in the history of computation happened in or near Cambridge, particularly in the mid-nineteenth century (when Charles Babbage and Ada Lovelace worked to develop the first design for a programmable device) and the middle-to-late twentieth century (when Alan Turing and collaborators built physical computational devices to serve as a key part of the British code-breaking efforts during the Second World War).

This program is designed for students interested in today’s computation-heavy world, and how we got here — whether that’s about the computational devices themselves, how information travels into and out of them, what artificial intelligence looked like 250 years ago, or to what ends computation was, is, and can be used. If you want to expand and situate your CS knowledge in a broader societal, historical, and personal context, to experience and adapt to a different culture both inside and outside computer science, and you’ve taken a few CS classes already (CS 111, CS 200 or 201, and either CS 202 or Math 236), then this program could be a great fit for you.

I’m always excited by a chance to spend time in Cambridge, where I lived for a year when I was doing a masters degree (you can see more about me here), and I’m particularly excited to lead this program — for the third time. There’s always more to discover about a place like Cambridge, and being there with you will, I hope, be both fun and educational for all of us (very much including me!).

Please get in touch if you have any questions. I’ll look forward to hearing from you! David Liben-Nowell


Academics

Learning Goals

  • To explore some of the major historical developments in computer science that, in part, led to our modern age of computation.
  • To learn about cryptography and code-breaking, including its role in World War II.
  • To situate CS knowledge (from this program and beyond) in a broader societal, historical, and personal context.
  • To experience and adapt to a different culture, both inside and outside computer science.

Prerequisites

Either CS 200 or 201, plus CS 202 (Math 236 will be accepted in lieu of CS 202). All students who will have completed those CS courses by the end of the spring term are welcome to apply, no matter their major or class year.

Course of Study
20 Credits

Students enroll in three 6-credit courses and one 2-credit course, for a total of 20 credits. Two of the 6-credit courses, CS 301 and CS 341, count toward the CS major, specifically toward the CS elective requirement, and fulfill the Formal and Statistical Reasoning graduation requirement. The third 6-credit course, HIST 145, fulfills the Humanistic Inquiry graduation requirement, along with the International Studies requirement. The final 2 credits are earned in a S/CR/NC-only IDSC course.

CS 301: History of Computing (6 credits)

In the mid-1800s, Charles Babbage’s analytical engine, inspired by programmable looms, was the first conception of an automated programmable computing device. A century later, British researchers built some of the first physical computers — particularly WWII-era code-breaking work, and programmable machines developed immediately after the war. We will explore those two eras through historical writings (including Babbage and Ada Lovelace, who wrote programs for the analytical engine, and Alan Turing) and visits to relevant museums and archives. We will also study some of the more recent history of computing, particularly the major advances in the 1960s and 1970s. Prerequisites: Either CS 200 or 201, plus CS 202. (Math 236 will be accepted in lieu of CS 202.)
Instructor: David Liben-Nowell

CS 341:  Cryptography (6 credits)

Modern cryptographic systems allow parties to communicate in a secure way, even if they don’t trust the channels over which they are communicating (or maybe even each other). Cryptography is at the heart of a huge range of applications: online banking and shopping, password-protected computer accounts, and secure wireless networks, to name just a few. In this course, we will introduce and explore some fundamental cryptographic primitives. Topics will include public-key encryption, digital signatures, code-breaking techniques (like those used at Bletchley Park during WWII to break the Enigma machine’s cryptosystem), pseudorandom number generation, and other cryptographic applications. Prerequisites: Either CS 200 or 201, plus CS 202. (Math 236 will be accepted in lieu of CS 202.)
Instructor: David Liben-Nowell

History 145:  World War II History (6 credits)

This course will consider the broad context of World War II, from the British perspective. Topics will include a variety of aspects of the British experience both at home and abroad, including military, political, and social; the course will include a number of excursions to relevant sites, including the Churchill War Rooms, Bletchley Park, and buildings damaged or destroyed in the Blitz. Prerequisites: None.
Instructor: Local British faculty

IDSC 141: Computing with Context: Alan Turing, Gender, and Computing (2 credits, S/CR/NC only)

This course will address a cluster of topics related to a broad gender-based context for computing. The starting point is Alan Turing himself: a hero for his code-breaking work during the war, Turing was also a gay man chemically castrated by the British government who (likely) died by suicide after enduring that treatment. The course will spiral outward from Turing to include a broader set of topics related to gender and sexuality in computing, ranging from Turing’s era to the present. Specific topics will vary based on the interests of available experts in aspects of gender and computing. Prerequisites: None.
Instructor: Staff

Program Features

Excursions

The program’s home base is Cambridge, England, with several weeks of planned excursions in England and France. Our major excursions will include London, Manchester, Bletchley Park, Portsmouth, and Normandy.

Housing

While in Cambridge, the home base for the program, students will stay in a combination of hotels, hostels, and rooms in one of the 31 colleges that are part of the University of Cambridge. On longer excursions outside of Cambridge, students will generally stay in hotels and hostels.


Lazuli and Alan Turing, Bletchley Park
Visiting Pointe du Hoc
A street in Cambridge
The Science Museum, London
Enigma machine
Watching cricket at Old Trafford
A formal dinner at Wolfson College
A cow in Lammas Land, Cambridge
Engine at the London Science Museum
Cryptography class, Bayeux
The Cambridge rail station
Leisurely punting in Cambridge