CMU 15-112: Fundamentals of Programming and Computer Science
Carnegie Mellon University
Summer 2022 (N22)

   
Units 12
Department Computer Science
Prerequisites None
Description 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. We will also target numerous deployment scenarios, including standalone programs, shell scripts, and web-based applications. 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: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course. (This requirement may be higher for some graduate students.)
Learning
Objectives
At the end of the course, students should be able to:
  • Write clear, robust, and efficient code in Python using:
    • sequential, conditional, and loop statements
    • strings, lists, tuples, sets, and dictionaries
    • objects and classes
    • recursive approaches
    • graphics and interaction
  • Develop programs to effectively solve medium-sized tasks by:
    • employing modular, top-down design in program construction
    • demonstrating an effective programming style based on established standards, practices, and guidelines
    • proactively creating and writing test cases to test and debug code
    • applying computational problem-solving skills to new problems, especially in the student's home academic discipline
    • explaining and analyzing the efficiency of algorithms
  • Design and write a substantial program in Python with minimal guidance
Quick
Info
See the syllabus for more details! Unless otherwise stated, all times in all course-related documents and correspondence will be in Pittsburgh time (EDT).

Lectures and Recitations must be attended in-person. For remote events, you can find zoom links in the 112 Zoom Link spreadsheet from the 112 Forms page.

Lecture:
  Days Lecturer Time Location
Lecture 1 M/Tu/W/Th/F Mike Taylor (mdtaylor) 10:40am - 12:00pm PH 100

Recitations:
  Days TAs Time Location
Section A M/Tu/W/Th/F Helen (zhuowenh) and Amalia (akamon) 1:00pm - 1:50pm DH 2105
Section B M/Tu/W/Th/F Fa (pphanach) and Jake M (jmorin) 1:00pm - 1:50pm DH 2122
Section C M/Tu/W/Th/F Alice (alicehon) and Margaret (mche) 1:00pm - 1:50pm DH 1117
Section D M/Tu/W/Th/F Hong (hongsng) and Jacob D (jadought) 2:00pm - 2:50pm DH 2105
Section F M/Tu/W/Th/F Victoria (vxc), Warren (tingguaw), and Hanson (jiaheng2) 2:00pm - 2:50pm DH 2122
Section G M/Tu/W/Th/F Ben (hnguyent), Hao (haok), and Jorge (jtamayo) 3:00pm - 3:50pm DH 2105
Section H M/Tu/W/Th/F Emily (esands), Connor (cjtsui), and Cynthia (cmeah) 5:00pm - 5:50pm WEH 7500
Section I M/Tu/W/Th/F Zoe (zrudnick), Theo (tkroenin), and Daniel (dc2) 6:00pm - 6:50pm WEH 7500

Large-Group Sessions:
    SessionTimeLocation
    Quiz prep sessionSunday 1pm-2:30pmGHC 4401
    Quiz solution sessionTuesday 7pm-8pmGHC 4303
  • Unless indicated as remote, all of these sessions are in-person, optional, and will not be recorded.

Instructor Open Office Hours:
  • Times and locations (subject to change):
    • Mike Taylor (mdtaylor): Mon 5pm-7pm and Wed/Fri 12:15pm to 2:15pm, in-person, GHC 4126
  • During these open OH, you can ask questions about anything, or just listen in and maybe pick up some neat stories. These are open OH, so they are not private. For specific homework and debugging help, please attend your TA's study sessions and/or use Piazza and OH instead so that we can include everyone in the discussion. We expect these will be fun and collaborative, and will help us all get to know each other!


TA Office Hours:
    Mon Tue Wed Thu Fri Sat
    4pm-5pm 7pm-8pm 4pm-5pm 7pm-8pm 4pm-5pm 1pm-2pm
    5th floor Gates Commons Zoom 5th floor Gates Commons Zoom 5th floor Gates Commons Zoom
  • Use the OH Queue to sign up for help! OH Queue is used only for TA office hours. TA's can only spend five minutes with each student.
  • If you are attending during remote office hours, check the zoom link spreadsheet on the forms page for the zoom link you should join!

Spicy Recitations and Exploratory Lectures:
  • Spicy Recitations: Tues/Thurs, 4pm to 5pm, GHC 8102
  • Other times and locations TBD!