CMU 15-112: Schedule
Spring 2020

   
Unit Dates Event / Topics Quizzes / Homeworks / Practice
Unit
#1
Mon 13-Jan
to
Tue 21-Jan
Unit 1 Plan
Getting Started  |  Getting Started with VSCode
Data Types and Operations
Variables and Functions
Conditionals
Optional: How to Build a Computer (from Gates to CPU's) + "Bits and Bytes"
112-student-contract (due Wed 15-Jan)
writing-session1 (on Thu 16-Jan)
hw1 (due Sat 18-Jan at 8pm)
extra-practice1 (due never)
quiz1 (on Tue 21-Jan)
Unit
#2
Thu 16-Jan
to
Tue 28-Jan
Loops
Graphics
Debugging
Optional: Gaussian Elimination + Power Sum Polynomials
writing-session2 (on Thu 23-Jan)
hw2 (due Sat 25-Jan at 8pm)
extra-practice2 (due never)
quiz2 (on Tue 28-Jan)
Unit
#3
Thu 23-Jan
to
Tue 4-Feb
Code Tracing and Reasoning Over Code
Strings
OOP Part 1: Using Objects and Methods
Style + Algorithmic Thinking
Optional: How to Build a CPU + Assembly Programming
Fri 31-Jan: Deadline to transfer to 15-110
writing-session3 (on Thu 30-Jan)
hw3 (due Sat 1-Feb at 8pm)
extra-practice3 (due never)
quiz3 (on Tue 4-Feb)
Unit
#4
Thu 30-Jan
to
Tue 11-Feb
1d Lists and Tuples
OOP Part 2: Writing Classes and Methods
Optional: History of Computing
writing-session4 (on Thu 6-Feb)
hw4 (due Sat 8-Feb at 8pm)
extra-practice4 (due never)
quiz4 (on Tue 11-Feb)
Unit
#5
Thu 6-Feb
to
Sat 15-Feb
2d Lists
Week5 Case Studies
writing-session5 (on Thu 13-Feb)
hw5 (due Sat 15-Feb at 8pm)
extra-practice5 (due never)
No quiz5
Midterm
#1
Midterm Review
Thu 20-Feb: Midterm #1
Optional: Sun 23-Feb, 12:30pm-4:30pm: 15-112 Puzzle Hunt!
Unit
#6
Thu 13-Feb
to
Tue 3-Mar
Mon 24-Feb: Semester Course Drop Deadline
Animations Part 1: Events and MVC
Optional: Machine Learning and Robotics
writing-session6 (on Thu 27-Feb)
hw6 (due Sat 29-Feb at 8pm)
extra-practice6 (due never)
quiz6 (on Tue 3-Mar)
Unit
#7
Thu 27-Feb
to
Tue 17-Mar
Efficiency
Sets
Dictionaries
Fri 6-Mar: Mid-Semester Break (No Classes)
No writing-session7
hw7 (due Thu 5-Mar at 8pm)
extra-practice7 (due never)
quiz7 (on Tue 17-Mar)
Spring
Break
Fri 6-Mar
to
Sun 15-Mar
Spring Break
Unit
#8
Thu 5-Mar
to
Tue 24-Mar
OOP Part 3: Special Methods + Inheritance
Animations Part 2: Using the App Class
Optional: QuickSort, RadixSort, Priority Queues, Heapsort, Huffman Coding
writing-session8 (on Thu 19-Mar)
hw8 (due Sat 21-Mar at 8pm)
extra-practice8 (due never)
quiz8 (on Tue 24-Mar)
Unit
#9
Thu 19-Mar
to
Tue 31-Mar
Recursion (part 1)
TA-led Mini-Lectures (Attend 1 or more of your choice)
Optional: Sat 28-Mar at 6pm to Sun 29-Mar at 9pm: Hack112!
writing-session9 (on Thu 26-Mar)
hw9 (due Sat 28-Mar at 5pm)
extra-practice9 (due never)
quiz9 (on Tue 31-Mar)
Unit
#10
Thu 26-Mar
to
Sat 4-Apr
Mon 30-Mar: Semester Course Withdrawal + Pass/Fail Deadline
Recursion (part 2)
Term Project Assignment
Large Project Design and Documentation
Optional: Quantum Computing
writing-session10 (on Thu 2-Apr)
hw10 (due Sat 4-Apr at 8pm)
extra-practice10 (due never)
No quiz10
Midterm
#2
Midterm Review
Thu 9-Apr: Midterm #2
Term
Projects
Fri 10-Apr
to
Thu 30-Apr
Monte Carlo Methods
Exceptions
Functions Redux
NP-Completeness + The Halting Problem
Programming for Social Good
Thu 16-Apr to Sun 19-Apr: Spring Carnival
Tue 28-Apr: Early-AMG-Final
Thu 30-Apr at 7:30pm: Term Project Presentations (McConomy)
Optional: How to write a programming language
tp1 (due date TBD)
tp2 (due date TBD)
tp3 (due Thu 30-Apr at 4:30pm)
Finals
-- Date/Time TBD: Final Exam