This schedule is tentative and likely to be revised. | |
Lecture recordings are available on Canvas. | |
Content Quizzes are available on Gradescope and are due Saturdays at midnight. | |
Recitation Materials are available in this Google Drive. | Add the calendar of Homeworks, Exams, and Review sessions to your Google Calendar. |
Date | Topic | Slides | Code | Reading | 1: Introductions, Program Design, and Value-Oriented Programming |
|
2: Lists, Pattern Matching, and Recursion |
|
3: Tuples, Nested Patterns, Datatypes, and Trees |
|
Sat 6/1 | 4: Trees and Binary Search Trees |
|
5: Generics and Higher-order Functions: Transform and Fold |
|
6: Abstract Types: Sets |
|
7: Abstract Types: Finite Maps, Typechecking |
|
Sat 6/8 | 8: Options, Programming with mutable data structures |
|
9: Mutable Data Structures, Abstract Stack Machine, Reference Equality, and Mutable Queues |
|
10: Iteration and Tail Recursion |
|
11: Closures and Objects, Review |
|
Sat 6/15 | 12: Transition to Java, Java Basics: Classes, Interfaces | Midterm 1 |
Prior exams: 24su (coding): 24su (concept): 23su: 22su: 22sp: 21fa: 21su: 21sp: 20fa: 20su: |
Juneteenth (no classes) | 13: Java Static Methods and Arrays |
|
14: Resizeable Arrays and Java ASM |
|
Sat 6/22 | 15: Java ASM, Subtyping |
|
16: Static Types vs. Dynamic Classes, Generic Types and Collections, Overriding, Equality |
|
17: Enumerations and Iteration |
|
Sat 6/29 | 18: Exceptions |
|
19: I/O & Histogram Demo |
|
Wed 7/3 | Midterm 2 |
Prior exams: 23su: 22su: 22sp: 21fa: 21su: 21sp: 20fa: 20su: |
Sat 7/06 |
---|