CMU 15-112 Schedule
Fall 2017

Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 28-Aug
to
Fri 1-Sep
Getting Started
Functions
Data and Expressions
Conditionals
week1-practice (due never)
check1 (on Wed 30-Aug at 8am)
lab1 (due Thu 31-Aug at 10pm)
hw1 (due Sat 2-Sep at 8pm)
Week
#2
Mon 4-Sep
to
Fri 8-Sep
Loops
week2-practice (due never)
check2 (due Tue 5-Sep at 10am)
quiz1 (on Thu 7-Sep in class)
lab2 (due Thu 7-Sep at 10pm)
hw2 (due Sat 9-Sep at 8pm)
Week
#3
Mon 11-Sep
to
Fri 15-Sep
Strings
Style
Top-Down Design + Testing + Debugging
Fri 15-Sep: Deadline for transfer to 15-110
week3-practice (due never)
check3 (due Tue 12-Sep at 10am)
quiz2 (on Thu 14-Sep in class)
lab3 (due Thu 14-Sep at 10pm)
hw3 (due Sat 16-Sep at 8pm)
Week
#4
Mon 18-Sep
to
Fri 22-Sep
Graphics
1d Lists and Tuples
week4-practice (due never)
check4 (due Tue 19-Sep at 10am)
quiz3 (on Thu 21-Sep in class)
lab4 (due Thu 21-Sep at 10pm)
hw4 (due Sat 23-Sep at 8pm)
Week
#5
Mon 25-Sep
to
Fri 29-Sep
2d Lists
Event-Based Animations (Getting Started)
week5-practice (due never)
check5 (due Tue 26-Sep at 10am)
quiz4 (on Thu 28-Sep in class)
lab5 (due Thu 28-Sep at 10pm)
hw5 (due Sat 30-Sep at 8pm)
Week
#6
Mon 2-Oct
to
Fri 6-Oct
Event-Based Animations
Wed 4-Oct: Optional Lecture: How the Internet Works
check6 (due Tue 3-Oct at 10am)
quiz5 (on Thu 5-Oct in class)
lab6 (due Thu 5-Oct at 10pm)
hw6 (due Sat 7-Oct at 8pm)
Week
#7
Mon 9-Oct
to
Fri 13-Oct
Efficiency
Sets and Maps (Dictionaries)
Wed 11-Oct: Optional Lecture: How to Build a CPU
Fri 13-Oct: Optional: 15-112 Puzzle Hunt!
week7-practice (due never)
check7 (due Tue 10-Oct at 10am)
quiz6 (on Thu 12-Oct in class)
lab7 (due Thu 12-Oct at 10pm)
hw7 (due Sat 14-Oct at 8pm)
Week
#8
Mon 16-Oct
to
Fri 20-Oct
Midterm review
Tue 17-Oct: Optional Lecture: Neural Networks
Thu 19-Oct: Midterm #1
Fri 20-Oct: Mid-Semester Break (No Classes)
no quiz or hw this week
Week
#9
Mon 23-Oct
to
Fri 27-Oct
Object-Oriented Programming (OOP) (part 1)
Recursion (part 1)
Wed 25-Oct: Optional Lecture: Human-Computer Interaction
Week
#10
Mon 30-Oct
to
Fri 3-Nov
Recursion (part 2, except sorting)
Functions Redux (part 1)
Functional Programming with map/filter/reduce
Sat 4-Nov: Optional Workshop: Microsoft Kinect, NSH 3305, RSVP required
Sun 5-Nov: Optional Lecture: Django Webapps, NSH 3305, 10am-2pm
week10-practice (due never)
Week
#11
Mon 6-Nov
to
Fri 10-Nov
Object-Oriented Programming (OOP) (part 2)
Functions Redux (part 2)
Exceptions
Mon 6-Nov: Drop Deadline
Fri 10-Nov: No classes
Week
#12
Mon 13-Nov
to
Fri 17-Nov
Midterm review
Tue 14-Nov: Optional Lecture: More Ideas from Functional Programming
Thu 16-Nov: Midterm #2
no quiz or hw this week
Week
#13
Mon 20-Nov
to
Fri 24-Nov
TP Peer Discussions
Wed 22-Nov to Fri 24-Nov: Thanksgiving (no classes)
Week
#14
Mon 27-Nov
to
Fri 1-Dec
Monte Carlo Methods
Recursion (part 2, sorting)
Using the pyzo debugger
NP-Completeness + the Halting Problem
Wed 29-Nov: Optional Lecture: Security
Week
#15
Mon 4-Dec
to
Fri 8-Dec
TP User-study-a-thon
TP Last-minute-OH
Wed 6-Dec: Optional Lecture: How to Write a Programming Language
Thu 7-Dec at 7:30pm: Term Project Presentations (TBD)
Term Project (due Thu 7-Dec at 4:30pm)
Finals
-- Fri 15-Dec, 1:00pm-4:00pm: Final Exam
Final exam will be three hours long. Location TBD.