On this page:
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Week 11
Week 12
Week 13
Week 14
Week 15
Week 16
6.12

Schedule

With the exception of midterms and exams, this schedule is subject to change as the semester progresses.

Week 1

Lab 1: Simple Data Definitions with ClassSimple Data definitions and methods in Class

Lab 2: More Data DefinitionsDesigning methods in Java: classes, containment, unions, self-reference

Week 2

Lab 3: Classy SnakesDesigning methods for self-referential data

Lab 4: Same Story, More SyntaxPractice with abstract classes and constructors

Week 3

Lab 6: A Simple OO UniverseWorking with function objects

Week 4

Lab 7: JSON EqualityGenerics and Visitors

Lab 8: 99 Red Falling BallsWorking with mutable and cyclic data

Week 5

Lab 9: Fold!Loyd's 15 puzzle: working with ArrayLists, loops and imperative worlds

Lab 10: Exam PracticePractice implementing iterators

Week 6

Lab 11: No labHeapsort, stress tests

3/8: Midterm 1 

Week 7

14

3/15: Lecture 20

Week 8

3/18: No Class: Spring break 

3/20: No Class: Spring break 

3/22: No Class: Spring break 

Week 9

3/25: Lecture 21

15

16

Week 10

17

18

Week 11

19

20

Week 12

21

22

4/19: Midterm 2 

Week 13

23

Week 14

Week 15

Week 16

5/13: Lecture 41: Wrap-up