Introduction to Computer Science 1: Spacewar!

CS2389.01
Course System Home Terms Fall 2026 Introduction to Computer Science 1: Spacewar!

Course Description

Summary

In 1962, a group of programmers at MIT created Spacewar!, one of the first video games ever made. By the end of this course, you’ll build your own version of it. Along the way, you’ll learn what computer science actually is, which turns out to be less about coding and more about systematic design.

We use Racket, a language designed for learning, where images, strings, and numbers are all things you can compute with. That means you can work with pictures just as naturally as you can add numbers. Within the first few weeks, you’ll be writing programs that produce images and respond to keyboard and mouse input. No prior programming experience is required. Instead of memorizing syntax, you’ll learn a systematic design method: a repeatable way of moving from a problem statement to a working program, one careful step at a time.

The ideas you’ll encounter, including functions, control structures, data structures, and event-driven programs, are foundational to all of computer science. But they’ll also teach you something broader: how to take a messy real-world problem, figure out what information matters, and build a clear solution. This course is a prerequisite for CS2: Designing Worlds.

Learning Outcomes

  • Apply a systematic design method to move from problem statements to well-tested programs.
  • Work with multiple forms of data, including numbers, strings, and images, and understand that computation is not limited to arithmetic on numbers.
  • Define functions, compose them, and use constants to write programs that are readable and easy to change.
  • Build interactive, graphical programs using world state, event handlers, and rendering, the same ideas behind every modern user interface.
  • Use data definitions, intervals, enumerations, and structures to model real-world information as data a program can work with.
  • Develop a foundation in program design that supports more advanced work in algorithms, data structures, and computer science broadly.

Instructor

  • Darcy Otto

Day and Time

TU,FR 10:30am-12:20pm

Delivery Method

Fully in-person

Length of Course

Full Term

Academic Term

Fall 2026

Area of Study

Credits

4

Course Level

2000

Maximum Enrollment

30

Course Frequency

Every 2-3 years