CMU 15-112: Schedule
Spring 2021

   
Week Dates Event / Topics Quizzes / Homeworks / Practice
Week
#1
Mon 1-Feb
to
Fri 5-Feb
Getting Started  |  Getting Started with VSCode
Data Types and Operations
Variables and Functions
Conditionals
Fri 5-Feb, 5:30pm, Optional: How to Build a Computer (from Gates to CPU's)
112-student-contract (due Wed 3-Feb)
hw1 (due Sat 6-Feb at 8pm)
extra-practice1 (due never)
Week
#2
Mon 8-Feb
to
Fri 12-Feb
Loops
Debugging
Code Tracing and Reasoning Over Code
Thu 11-Feb, 5:30pm, Optional: Gaussian Elimination + Power Sum Polynomials
Fri 12-Feb: Semester Course Add Deadline
quiz1 (on Tue 9-Feb)
hw2 (due Sat 13-Feb at 8pm)
extra-practice2 (due never)
Week
#3
Mon 15-Feb
to
Fri 19-Feb
Strings
Graphics (Tkinter)
Style
Thu 18-Feb, 5:30pm, Optional: History of Computing
Fri 19-Feb: Deadline to transfer to 15-110
quiz2 (on Tue 16-Feb)
hw3 (due Sat 20-Feb at 8pm)
extra-practice3 (due never)
Week
#4
Mon 22-Feb
to
Fri 26-Feb
Tue 23-Feb: Break Day (No Classes)
Animations Part 1: Events and MVC
Thu 25-Feb, 5:30pm, Optional: Machine Learning and Robotics
Sun 28-Feb, 1pm-5pm: Optional: 112 Puzzle Hunt!
quiz3 (on Thu 25-Feb)
hw4 (due Sun 28-Feb at 11am)
extra-practice4 (due never)
Week
#5
Mon 1-Mar
to
Fri 5-Mar
1d Lists and Tuples
1d List Case Studies
Fri 5-Mar, 4:30pm, Optional: How to Build a CPU + Assembly Programming
No quiz4 and no hw5
extra-practice5 (due never)
Week
#6
Mon 8-Mar
to
Fri 12-Mar
Graphics Redux: Circular Patterns with Trig
Animations Part 2: Case Studies
Animations Part 3: Animations with Lists
OOP Part 1: Using Objects and Methods
Fri 12-Mar, 4:30pm, Optional: Steganography + Combinatorial Iterators
Sun 14-Mar, Optional: 112 Quiz Bowl!
quiz5 (on Tue 9-Mar)
hw6a + hw6b (due Sat 13-Mar at 8pm)
Week
#7
Mon 15-Mar
to
Fri 19-Mar
Mon 15-Mar: Semester Course Drop Deadline
Midterm Review
Thu 18-Mar: Midterm #1
Fri 19-Mar: Mid-Semester Break (No Classes)
No quiz6 or hw7
Week
#8
Mon 22-Mar
to
Fri 26-Mar
2d Lists
2d List Case Studies
No quiz7
hw8 (due Sat 27-Mar at 8pm)
extra-practice8 (due never)
Week
#9
Mon 29-Mar
to
Fri 2-Apr
Sets  |  Dictionaries  |  Efficiency
OOP Part 2: Writing Classes and Methods
Term Project Preview

TA-led Mini-Lectures (Attend 1 or more of your choice):

Day Time Topic
Mon 29-Mar 8pm Web Scraping
  9pm Data Visualization
  10pm Large Project Planning
Tue 30-Mar 7pm APIs
  8pm Audio
  9pm 3D Graphics
Thu 1-Apr 7pm openCV and CV Algorithms
  8pm Sockets
  9pm Basics of Computational Biology
Sun 4-Apr 10am Machine Learning
  1pm Graph Algorithms
  8pm Databases
  9pm Game AI
quiz8 (on Tue 30-Mar)
hw9 (due Sat 3-Apr at 8pm)
extra-practice9 (due never)
Week
#10
Mon 5-Apr
to
Fri 9-Apr
Mon 5-Apr: Break Day (No Classes)
Recursion Part 1
Recursion Part 2
TP Ideation Meetings (with TP Mentors)
Sat 10-Apr - Sun 11-Apr, Optional: Hack112!
quiz9 (on Tue 6-Apr)
hw10 (due Sat 10-Apr at 5pm)
extra-practice10 (due never)
Week
#11
Mon 12-Apr
to
Fri 16-Apr
Mon 12-Apr: Semester Course Withdraw + Pass/Fail Deadline
Term Project Assignment
Animations Part 4: More Events, Images, Sound, Modes, etc
OOP Part 3: Special Methods + Inheritance
OOP Part 4: The __hash__ Method
Optional TP Check-Ins (with TP Mentors)
Thu 15-Apr - Sat 17-Apr: Spring Carnival (No Classes)
quiz10 (on Tue 13-Apr)
hw11 (due Tue 13-Apr at 11pm)
No extra-practice this week
Week
#12
Mon 19-Apr
to
Fri 23-Apr
Midterm Review
Thu 22-Apr: Midterm #2
Fri 23-Apr, 5:30pm, Optional: Quantum Computing
No more quizzes or hw's
this semester
tp0 (due Tue 20-Apr at 8pm)
Week
#13
Mon 26-Apr
to
Fri 30-Apr
Exceptions   |   Functions Redux
Monte Carlo Methods
Thu 29-Apr, 5:30pm, Optional: How to write a programming language
tp1 (due Mon 26-Apr at 8pm)
tp2 (due Sat 1-May at 8pm)
Week
#14
Mon 3-May
to
Fri 7-May
NP-Completeness   |   The Halting Problem
TP Showcase   |   Programming for Social Good
Thu 6-May, 5:30pm, Optional: Wrapping Up (David)
Fri 7-May, 5:30pm, Optional: Wrapping Up (Mike)
Fri 7-May: Semester Drop Voucher Election Deadline
tp3 (due Wed 5-May at 5pm)
Finals
-- Thu 13-May, 8:30am-11:30am: Final Exam