Most of the course materials are available on this site using the
links in the navigation bar.
The lecture materials (including pre-lecture tasks) and the
course announcements are found on
The first course for computer science majors and anyone seeking a
rigorous introduction. Develops computational problem-solving skills
by programming in the Python language, and exposes students to a
variety of other topics from computer science and its applications.
All students must attend a one-hour lab session.
The lab sections are interchangeable. For example, you could be
enrolled in the A1 lecture and a B or C lab section.
Please check your schedule for the location of your lab.
Weekly problem sets and final project (25% of the final grade)
Exams: two midterm exams (25%) and a final exam (40%)
Preparation and participation (10%)
To pass the course, you must earn a passing grade for each of these
CS for All by Christine Alvarado, Zachary Dodds, Geoff Kuenning,
and Ran Libeskind-Hadas. This is an online textbook that
We will be using the Top Hat platform for in-class
activities and attendance. More information will be provided in lecture.
This course is based closely on the CS for All curriculum developed
at Harvey Mudd College by Christine Alvarado, Zachary Dodds,
Geoff Kuenning, and Ran Libeskind-Hadas. We have also drawn on
extensions to that curriculum by Daniel Hyde and his colleagues at