CMU 15-112, Fall 2023

Fundamentals of Programming and Computer Science
Carnegie Mellon University



Click here for the Term Project Gallery!


Overview

12

None

None. Course notes on CMU CS Academy and the website.

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 paradigms.

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.

Mike Taylor (mdtaylor@andrew.cmu.edu)
Pat Virtue (pvirtue@andrew.cmu.edu

At the end of the course, students should be able to:

  • Computationally solve problems in Python using:
    • sequential, conditional, and loop statements
    • strings, lists, tuples, sets, and dictionaries
    • objects and classes
    • recursion
    • interactive graphics
  • Analyze code through code tracing to deduce the output of small programs
  • Recognize patterns to identify possible solutions to a given problem
  • Construct code using top-down design by breaking problems into smaller steps
  • Apply debugging techniques to find and fix errors
  • Design and implement a substantial program in Python with minimal guidance