A technical introduction to the fundamentals of programming with an emphasis
on producing clear, robust, and reasonably efficient code using top-down
design, informal analysis, and effective testing and debugging. Starting
from first principles, we will cover a large subset of the Python
programming language, including its standard libraries and programming
This course assumes no prior programming experience. Even so, it is a fast-paced and
rigorous preparation for 15-122. Students seeking a more gentle introduction
to computer science should consider first taking 15-110.
NOTE: Undergraduate students must achieve a C or better in order to use this course to satisfy the
pre-requisite for any subsequent Computer Science course.