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
Thu 16-Jan: Optional: How to Build a Computer (from Gates to CPU's)
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
Thu 23-Jan: 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
Thu 30-Jan: 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
Thu 6-Feb: 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
Unit5 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
Tue 25-Feb
to
Tue 3-Mar
Mon 24-Feb: Semester Course Drop Deadline
Animations Part 1: Events and MVC
Thu 27-Feb: 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
Tue 3-Mar
to
Tue 17-Mar
OOP Part 3: Special Methods + Inheritance
Thu 5-Mar: Optional: Animations Part 2: Using the App Class
Fri 6-Mar: Mid-Semester Break (No Classes)
No writing-session7
hw7 (due Thu 5-Mar at 8pm)
extra-practice7 (due never)
No quiz7
Spring
Break
Fri 6-Mar
to
Wed 18-Mar
Spring Break (extended due to coronavirus response)
Note: 15-112 is fully virtual for the rest of this semester.
Unit
#8
Thu 19-Mar
to
Tue 24-Mar
Thu 19-Mar: Sets   |   Dictionaries   |   OOP Part 4: The __hash__ method
TA-led Mini-Lectures (Attend 1 or more of your choice):
DayTimeTopic
Fri 3/206:30pmGraphs in Games (Graph Theory)
7:30pmWeb Apps (Django)
Sat 3/213:00pmSockets
4:00pmData Structures
Sun 3/222:00pmWeb Driving (Selenium)
4:00pmML & AI
5:00pmOpenCV
7:00pmPygame
8:00pmGame AI
Mon 3/236:00pmAudio
7:00pmVisual Arts
8:00pm3D Graphics
9:00pmWebscraping (bs4)
hw8 (due Sun 22-Mar at 8pm)
extra-practice8 (due never)
quiz8 (on Thu 26-Mar)
Unit
#9
Tue 24-Mar
to
Tue 31-Mar
Tue 24-Mar: Recursion (part 1)
Thu 26-Mar: More Recursion (part 1)
TP Ideation Meetings (by Mon 30-Mar)
hw9 (due Sat 28-Mar at 8pm)
extra-practice9 (due never)
quiz9 (on Thu 2-Apr)
Note: midterm2 is canceled
Term
Projects
Thu 2-Apr
to
Thu 30-Apr
Tue 31-Mar: quiz9 review
Thu 2-Apr: Term Project Assignment   |   Large Projects (optional)
Tue 7-Apr: Efficiency
Thu 9-Apr: More Efficiency
Thu 9-Apr: Optional: Quantum Computing
Tue 14-Apr: Recursion (part 2)
Thu 16-Apr: More Recursion (part 2)
Tue 21-Apr: Monte Carlo Methods
Thu 23-Apr: Exceptions   |   Functions Redux
Tue 28-Apr: NP-Completeness   |   The Halting Problem
Thu 30-Apr: TP Showcase   |   Programming for Social Good
TBD: Optional: How to write a programming language
tp3 (due Wed 29-Apr at 4:30pm)
Finals
-- Mon 11-May, 1pm-4pm: Final Exam