Structure and Interpretation of Computer Programs (CS4380.01)

Jim Mahoney

A classic computer science textbook, SICP (Structure and Interpretation of Computer Programs, also known as “the wizard book”) is a deep examination of some of the core ideas of programming and computer science, including an introduction to functional programming, mutable state, register machines, and building a compiler from first principles. This course will work through its concepts and exercises using scheme, one of the lisp programming languages. No prior experience with scheme or lisp is assumed, but at least one previous programming course and familiarity with math through at least pre-calculus is required.

Students will require a MacOS, Windows, or Linux computer.

Learning Outcomes:
In this course you will

* learn to program in scheme, one of the lisp languages
* gain a deep understanding of program language design
* practice the functional style of programming
* learn how to write a compiler, translating one language into another

Delivery Method: Remotely accessible
Prerequisites: Previous programming experience is required.
Course Level: 4000-level
Credits: 4
M/Th 3:40PM - 5:30PM (Full-term)
Maximum Enrollment: 20
Course Frequency: Every 2-3 years

Categories: All courses , Computer Science , Remotely Accessible