csse304 / schedule.html

Schedule

Note that the videos linked in the video section are from Claude Anderson's (older) version of the class. Content-wise, this class should be pretty similar (though I don't promise things will be exactly the same).

Details of due dates, exams, etc. are probably different. So use Claude's videos as a supplement to the in-class lectures, not a replacement.

SessionReading (optional)xTopicsMaterialsVideos
1
Mon 02 Dec 2024
SchemeIntro
YouTube video showing how to use trace in Racket
Zoom 1
Intro-1 numbers
Intro-2 symbols and strings
Intro-3 lists pairs begin
Intro-3b more lists
Intro-4 defining procedures trace
Intro-5 local variables recursive procedures
Assignment 0 DUE Mon 02 Dec 2024 11:59 pm
2
Tue 03 Dec 2024
TSPL Ch. 1, 2.1-2.2 lambda
recursive procedures
if, cond, case
offline testing & submission
Lambda
Zoom 2
Second live demo
Lambda the Magnificent
Assignment 1 DUE Tue 03 Dec 2024 11:59 pm
3
Thu 05 Dec 2024
TSPL Section 2.2-2.8
EOPL-1 2-29
course intro
assorted scheme topics
CourseIntro
Zoom 3
cons_list_append
write some recursive procedures
Part left out in sections 2 and 3
Assignment 2 DUE Thu 05 Dec 2024 11:59 pm
4
Fri 06 Dec 2024
TSPL sections 3.2, 4.1-4.4, 6.1-6.4
EOPL-1 67-74
let & and its many flavors
insertion sort
LetVariants
Zoom 4
procedures with variable numbers of arguments
map-apply procedures
Assignment 3 DUE Fri 06 Dec 2024 11:59 pm
5
Mon 09 Dec 2024
TSPL 5.1-5.4
EoPL Forward & Preface
Map & Apply MapApply
Zoom 5
andmap ormap
some prob solutions
Assignment 4 DUE Mon 09 Dec 2024 11:59 pm
6
Tue 10 Dec 2024
EoPL Section 1.1 Procedures that produce procedures
list mutation
ProcedureProcedures
Zoom 6 (kinda outdated, unfortunately)
vectors
list sharing and mutation
two more recursive procedures
Assignment 5 DUE Tue 10 Dec 2024 11:59 pm
7
Thu 12 Dec 2024
EoPL Section 1.2 1.2.1
Re-read TSPL 4.1-4.4 (you'll probably get more out of it on a second reading)
BNF Grammar Specification
s-lists
GrammarsAndLanguages
Zoom 7
largest-in-lists
some prob solutions
Assignment 6a (problems 1-7) DUE Thu 12 Dec 2024 11:59 pm
8
Fri 13 Dec 2024
EoPL Section 1.2.2-1.2.4 Exam 1 specification
s-list procedures
ProgramsAboutSlists
Zoom 8
Assignment 6b (problems 8-11) DUE Fri 13 Dec 2024 11:59 pm
9
Mon 16 Dec 2024
EoPL Section 1.3, 1.4
TSPL Sections 2.9 and 3.5 (you can skip the parts that use define-syntax for now)
compose
case-lambda
OO behavior
OOP
Zoom 9
compose and case lambda
Assignment 7a (problems 1-3) DUE Mon 16 Dec 2024 11:59 pm
10
Tue 17 Dec 2024
EoPL 2.1 procedural abstraction
list-recur
ProceduralAbstraction
Zoom 10
Assignment 7b (problems 4-6) DUE Tue 17 Dec 2024 11:59 pm
11
Thu 19 Dec 2024
EoPL 2.2 snoc and efficient rotate
occurs-bound?
lexical depth and lexical address example
OccursBound
Zoom 12
Assignment 8 DUE Thu 19 Dec 2024 11:59 pm
12
Fri 20 Dec 2024
Exam 1 topics, maybe some example problems Exam1Prep
Teams recording of my discussion of Exam
Assignment 9 DUE Fri 20 Dec 2024 11:59 pm
13
Mon 06 Jan 2025
EoPL 2.3 abstract datatypes
composite datatypes
define datatype
DatatypesParsing
Zoom 15
Assignment 10 DUE Mon 06 Jan 2025 11:59 pm
14
Tue 07 Jan 2025
EoPL 2.4 more on define datatype
parsing LcExpressions
global environments, local environments
DatatypesParsing
Zoom 16
E&C Pre-work 1 DUE Tue 07 Jan 2025 11:59 pm
15
Thu 09 Jan 2025
Catch up on any reading assignments you're behind lambdas, procedures and closures
environments and closures
EnvironmentsAndClosures
Zoom 17
Exam 1 DUE Thu 09 Jan 2025 11:59 pm
16
Fri 10 Jan 2025
Class cancelled
E&C Pre-work 2 DUE Fri 10 Jan 2025 11:59 pm
17
Mon 13 Jan 2025
EoPL 2.5 environments and closure examples
environment ADT specification
EnvironmentsAndClosures2
Zoom 18
complex e and c example
18
Tue 14 Jan 2025
EoPL 3.1, 3.2 A bit more E&C practice
Environment ADT implementation
EnvironmentsAndClosures3
Zoom 19
Assignment 11 DUE Tue 14 Jan 2025 11:59 pm
19
Thu 16 Jan 2025
TSPL 5.7 (skip call/cc parts) Interpreter initial framework
let, if, lambda
AddLetIfLambda
Zoom 20
E&C Takehome Mini-Exam DUE Thu 16 Jan 2025 11:59 pm
20
Fri 17 Jan 2025
idea of syntax expansion
template based expansions
Macros1
Recorded Lecture
Assignment 13 DUE Fri 17 Jan 2025 11:59 pm
21
Mon 20 Jan 2025
macro variable capture
expansion variables
Macros2
22
Tue 21 Jan 2025
Macros 3
Macros Assignment DUE Tue 21 Jan 2025 11:59 pm
23
Thu 23 Jan 2025
Memoization
Multiple return values in scheme
Memoization
Zoom 22
24
Fri 24 Jan 2025
EoPL 3.3, 3.4 Continuations CPS
-Buffalo Solves a CPS Problem Video
Zoom 24
Assignment 14 DUE Fri 24 Jan 2025 11:59 pm
25
Mon 27 Jan 2025
EoPL 3.5, 3.6
Skim EoPL 6.2, 6.3
Another CPS conversion example
add letrec to interpreted language
CPSMore2
Zoom 25
Assignment 15 (small individual) DUE Mon 27 Jan 2025 11:59 pm
26
Tue 28 Jan 2025
EoPL 4.1-4.3 Exam Specification
add set! to interpreter
References apply-env-ref and implementations
cells
rib-cage approach to references
memory model (basic idea, no details)
Differences between set! and define.
call/cc warm-up (if we have time)
CPSFinal
Zoom 26
Assignment 16 DUE Tue 28 Jan 2025 11:59 pm
27
Thu 30 Jan 2025
interpreter in CPS form CPSDatatypesInterpreter
Zoom 31
28
Fri 31 Jan 2025
EoPL 4.1-4.3 Receivers
Escape Procedures
def of call/cc
call/cc examples
CallCC1
Zoom 27
Assignment 17 DUE Fri 31 Jan 2025 11:59 pm
29
Mon 03 Feb 2025
Cancelled for Exam 2
30
Tue 04 Feb 2025
EoPL 5.1, 5.2 call/cc examples CallCC2
Zoom 28
Exam 2 DUE Tue 04 Feb 2025 11:59 pm
31
Thu 06 Feb 2025
TSPL 3.3, 3.4 call/cc examples CallCC3
Zoom 29
32
Fri 07 Feb 2025
example fact with call/cc
Add call/cc to interpreted language
CPSDatatypesInterpreter
Zoom 32
which procedures are substantial?
Add call/cc to our interprerter
factorial with call/cc
33
Mon 10 Feb 2025
Garbage Collection 1 GarbageCollection1
Recorded lecture
Assignment 18 DUE Mon 10 Feb 2025 11:59 pm
34
Tue 11 Feb 2025
Garbage Collection 2 GarbageCollection2
35
Thu 13 Feb 2025
TSPL Section 12.11 engines Engines
Zoom 35
Garbage Collection Assignment DUE Thu 13 Feb 2025 11:59 pm
36
Fri 14 Feb 2025
coroutines Coroutines
Zoom 37
37
Mon 17 Feb 2025
Type Checking Typing
Video
CallCC Assignment DUE Mon 17 Feb 2025 11:59 pm
38
Tue 18 Feb 2025
Type Checking 2 ImplicitTyping
Video
39
Thu 20 Feb 2025
imperative form ImperativeForm
Zoom 34
40
Fri 21 Feb 2025
exam prep ExamPreview
Typing Assignment DUE Fri 21 Feb 2025 11:59 pm