1 | Wed 1/17 | Welcome[intro] | | Disc 00: Getting Started | |
1 | Fri 1/19 | Functions [01Names Assignment and UserDefined Functions][02Environment Diagrams][03Defining Functions][04Print and None] | [Ch.1.1], [Ch.1.2], [Ch.1.3] | Lab 00: Getting Started [pdf][zip] | HW 01: Functions, Control[pdf][zip] |
2 | Mon 1/22 | Control [01Multiple Environments] [02Miscellaneous Python Features][03Conditional statements][04Iteration] | [Ch. 1.4] [Ch. 1.5] | Lab 01: Functions, Control[pdf][zip] | |
2 | Wed 1/24 | Higher-Order Functions [01Iteration Example][02Control][03Control Expressions][04Higher-Order Functions][04-Higher-Order_Functions_1pp][05Functions as Return Values] | [Ch. 1.6] | Disc 01: Control, Environment Diagrams | Hog[pdf][zip] |
2 | Fri 1/26 | Environments [01Environments for HigherOrder Functions][02Environments for Nested Definitions][03Local Names][04Function Composition][05Lambda Expressions][06Function Currying] | [Ch. 1.6] | | HW 02: Higher-Order Functions [pdf][zip] |
3 | Mon 1/29 | Functional Abstraction [01Lambda Function Environments][02Return][03Abstraction][04Errors Tracebacks] | | Lab 02: Higher-Order Functions,Lambda Expressions[pdf][zip] | |
3 | Wed 1/31 | Function Examples [01Midterm 1 Review][02Implementing Functions][03Decorators] | | Disc 02: Environment Diagrams, Higher-Order Functions | |
3 | Fri 2/2 | Function Demos (Optional) | | | |
4 | Mon 2/5 | Midterm 1 (8pm-10pm) | | | |
4 | Wed 2/7 | Recursion [01SelfReference][02Recursive Functions] | Ch. 1.7 | Disc 03: Recursion | |
4 | Fri 2/9 | Tree Recursion [01Order of Recursive Calls][02Example Inverse Cascade][03Tree Recursion][04Example Counting Partitions] | Ch. 1.7 | | HW 03: Recursion, Tree Recursion[pdf][zip] |
5 | Mon 2/12 | Sequences [01Lists][02Containers][03For Statements][04Ranges][05List Comprehensions] | [Ch. 2.1] [Ch. 2.3] | Lab 03: Recursion, Python Lists[pdf][zip] | |
5 | Wed 2/14 | Containers [01BoxandPointer Notation][02Slicing][03Processing Container Values][04Strings][05Dictionaries] | [Ch. 2.3] | Disc 04: Tree Recursion | Cats[pdf][zip] |
5 | Fri 2/16 | Data Abstraction [01Data Abstraction][02Representing Rational Numbers][03Abstraction Barriers][04Data Representations] | [Ch. 2.2] | | |
6 | Mon 2/19 | No Lecture: Presidents’ Day | | Lab 04: Tree Recursion, Data Abstraction[pdf][zip] | |
6 | Wed 2/21 | Trees [01Trees][02Tree Processing][03Example Printing Trees][04Example Summing Paths][05Example Counting Paths] | [Ch. 2.3] | Disc 05: Trees | |
6 | Fri 2/23 | Mutability [01Objects][02Example Strings][03Mutation Operations][04Tuples][05Mutation][06Mutable Functions] | [Ch. 2.4] | | HW 04: Sequences, Trees |
7 | Mon 2/26 | Iterators [01Iterators][02Dictionary Iteration][03For Statements][04Builtin Iterator Functions][05Zip][06Using Iterators] | [Ch. 4.2] | Lab 05: Iterators, Mutability[pdf][zip] | |
7 | Wed 2/28 | Generators [01Generators][02Generators Iterators][03Example Partitions] | [Ch. 4.2] | Disc 06: Iterators, Generators Video | |
7 | Fri 3/1 | Objects [01ObjectOriented Programming][02Class Statements][03Creating Instances][04Methods] | [Ch. 2.5] | | HW 05: Generators[pdf][zip] |
8 | Mon 3/4 | Attributes [01Method Calls][02Attribute Lookup][03Class Attributes][04Bound Methods] | [Ch. 2.5] | Lab 06: Object-Oriented Programming[pdf][zip] | Ants[pdf][zip] |
8 | Wed 3/6 | Inheritance [01Inheritance][02ObjectOriented Design][03Attribute Lookup Practice][04Multiple Inheritance] | [Ch. 2.5] | Disc 07: OOP Video | |
8 | Fri 3/8 | Representation [01String Representations][02String Interpolation][03Polymorphic Functions][04Special Method Names] | [Ch. 2.7] | | HW 06: Object-Oriented Programming, Linked Lists[pdf][zip] |
9 | Mon 3/11 | Composition [01Linked Lists][02Linked List Processing][03Linked List Mutation][04Linked List Mutation Example][05Tree Class][06Tree Mutation] | Lab 07: Linked Lists, Inheritance[pdf][zip] | | |
9 | Wed 3/13 | Efficiency [01Measuring Efficiency][02Memoization][03Exponentiation][04Orders of Growth][05Order of Growth Notation][06Space] | [Ch. 2.8] | Disc 08: Linked Lists, Efficiency Video | |
9 | Fri 3/15 | Decomposition [01Modular Design][02Example Restaurant Search] [03Example Similar Restaurants][04Example Reading Files][05Set Intersection] | | | |
10 | Mon 3/18 | Data Examples [01Examples Lists][02Examples Objects][03Examples Iterables Iterators][04Examples Linked Lists] | | Lab 08: Mutable Trees[pdf][zip] | |
10 | Wed 3/20 | No Lecture: Midterm 2 on Thursday | | | |
10 | Thu 3/21 | Midterm 2 (8pm-10pm) | | | |
10 | Fri 3/22 | Large Language Models (Pamela Fox) (Optional) | | | |
11 | Mon 3/25 | No Lecture: Spring Break | | | |
11 | Wed 3/27 | No Lecture: Spring Break | | | |
11 | Fri 3/29 | No Lecture: Cesar Chavez Day | | | |
12 | Mon 4/1 | Scheme [01Scheme][02Scheme Interpreters][03Special Forms][04Lambda Expressions][05More Special Forms][06Example Sierpinskis Triangle] | [Ch. 3.1] [Ch. 3.2] | Lab 09: Scheme[pdf][zip] | HW 07: Scheme[pdf][zip] |
12 | Wed 4/3 | Scheme Lists [01Lists][02Symbolic Programming][03List Processing][04Example Even Subsets][05Discussion Question Even Subsets Using Filter] | [Ch. 3.2] | Disc 09: Scheme, Scheme Lists | |
12 | Fri 4/5 | Calculator [01Exceptions][02Example Reduce][03Programming Languages][04Parsing][05SchemeSyntax Calculator][06Evaluation][07Interactive Interpreters] | [Ch. 3.3] [Ch. 3.4] | | HW 08: Scheme Lists[pdf][zip] |
13 | Mon 4/8 | Interpreters [01Interpreting Scheme][02Special Forms][03Logical Forms][04Quotation][05Lambda Expressions][06Define Expressions][07Dynamic Scope] | Ch. 3.5 | Lab 10: Interpreters[pdf][zip] | Scheme[pdf][zip] |
13 | Wed 4/10 | Programs as Data [01Programs as Data][02Generating Code] | | Disc 10: Interpreters Video | |
13 | Fri 4/12 | Macros [01Expressions][02Macros][03For Macro][04Trace] | | | HW 09: Programs as Data, Macros[pdf][zip] |
14 | Mon 4/15 | SQL [01Databases][02Structured Query Language SQL][03Projecting Tables][04Arithmetic] | | Lab 11: Programs as Data, Macros[pdf][zip] | (Optional) Scheme Contest[pdf][zip] |
14 | Wed 4/17 | Table [01Joining Tables][02Aliases and Dot Expressions][03Numerical Expressions][04String Expressions] | | Disc 11: SQL | |
14 | Fri 4/19 | Aggregation [01Aggregation][02Grouping] | | | HW 10: SQL[pdf][zip] |
15 | Mon 4/22 | Databases (Optional) [01Create Table and Drop Table][02Modifying Tables][03Python and SQL][04Database Connections] | | Lab 12: SQL[pdf][zip] | |
15 | Wed 4/24 | Final Examples [01Trees][02Tree Processing][03Recursive Accumulation][04Designing Functions][05Applying the Design Process] | | Disc 12: Final Review | |
15 | Fri 4/26 | Conclusion Recording | | | HW 11: Finale Scheme Gallery[pdf][zip] |
16 | Mon 4/29 | No Lecture: RRR Week | | | |
16 | Wed 5/1 | No Lecture: RRR Week | | | |
16 | Fri 5/3 | No Lecture: RRR Week | | | |
17 | Tue 5/7 | Final (11:30am-2:30pm) | | | |