Last Updated: Tue, 04/07/2026
Syllabus
General Class Information
Academic year:
2026
Semester:
Summer
Course prefix:
CS
Course number:
8001
Section:
OIC
CRN
57289
Department (you may add up to three):
Instructor first name:
Ana
Instructor last name:
Rusch
Catalog Description

This seminar, intended for students used to high-level languages such as Ruby and Python, will teach C, the lingua franca for systems programming over the past forty years due to its elegance, efficiency, and low-level (close to the hardware) capabilities. We will tackle C's syntax, type system, and program layout, as well as arrays, pointers, and control structures, giving students the ability to translate familiar techniques into this lower-level language. In this project-based course, students will be guided through the implementation of an interpreter for a very basic Lisp, designed to give them a sense of what the computer, whether they use low-level languages or continue with high-level ones, is doing. We'll also cover file I/O, memory management, C's standard library, and the tools necessary to implement common data structures like hash tables and resizable arrays.

Administrative Data
Course status
Active