CSE 341 Autumn 2023 Schedule

September
MondayTuesdayWednesdayThursdayFriday
25 26 27
13:30-14:20 Lecture
Welcome to PL, Intro to OCaml (ints, bools, variables, functions)
Whiteboards
Demo code
Video (poor quality, no screen)
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
28
Set up OCaml before section if possible, bring remaining issues
Section
OCaml setup, ints, bools, variables, functions, recursion
Worksheet (solutions)
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
29
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Canceled (James sick)
October
MondayTuesdayWednesdayThursdayFriday
02
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Environments
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
03
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
04
13:30-14:20 Lecture
Local bindings, Each-of types (tuples, lists)
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
05
Section
Shadowing, triples, debugging errors
Worksheet (solutions)
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
06
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Local functions, Performance, One-of types (options)
Demo Code
09
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Declaring types (aliases, records), Variants, Pattern matching
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
10
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
11
13:30-14:20 Lecture
Polymorphic variants, Nested patterns, Reflections on nesting, the Truth about patterns
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
23:59 HW1 due
12
Section
Testing, Type Generality, Variants, Records
Worksheet
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
13
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
More Nested Pattern matching, Exceptions, Tail recursion
Demo Code
16
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
First-class functions
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
17
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
18
13:30-14:20 Lecture
Lexical scope and closures, currying
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
19
Section
Currying, Map and Filter, Higher-order functions
Slides
Worksheet (doc)
Worksheet (code and solutions)
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
23:59 HW2 due
20
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Idioms that use first-class functions, Mutation
Demo Code
23
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Notions of equivalence, Modules and Signatures
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
24
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
25
13:30-14:20 Lecture
Abstract types, Thunks, Promises, Streams
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
26
Section
Thunks, Promises, and Streams
Slides
Worksheet (solutions)
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
23:59 HW3 due
27
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Implementing programming languages, Trefoil v0
Demo Code
Whiteboards
30
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Tokenization, languages with flat syntax, Trefoil v1
Demo Code
Whiteboards
14:30-15:30 OH (Aaminah)
CSE2 150
31
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
01
13:30-14:20 Lecture
Parsing, nesting, parenthesized syntax trees
Demo Code
Whiteboards
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
02
Section
Random testing
Worksheet and solutions
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
03
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Trefoil v2: expressions, lexical scope
Demo Code
November
MondayTuesdayWednesdayThursdayFriday
06
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Trefoil v2: booleans, global variable bindings, pairs
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
23:59 HW4 due
07
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
08
13:30-14:20 Lecture
Trefoil v3: first-order, second-class functions
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
09
Section
HW5 intro
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
10
Veteran's Day (observed)
13
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
More Trefoil v3: Implementing scope
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
14
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
15
13:30-14:20 Lecture
More Trefoil v3: lists and cond
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
16
Section
Open office hours for HW5
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
17
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Trefoil v4: structs and pattern matching
Demo Code
23:59 HW5 due
20
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
More Trefoil v4
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
21
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
22
Thanksgiving travel day
23
Thanksgiving
24
Native American Heritage Day
27
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Guest Lecture: Effective ML by Ron Minsky from Jane Street
14:30-15:30 OH (Aaminah)
CSE2 150
28
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
29
13:30-14:20 Lecture
Trefoil first-class functions
Demo Code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
23:59 HW6 due
30
Section
HW7 intro
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
01
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Implementing object features without meta features
Demo Code
December
MondayTuesdayWednesdayThursdayFriday
04
11:00-12:00 OH (Stanley)
CSE2 150 or Zoom
13:30-14:20 Lecture
Type checking
Demo Code
14:30-15:30 OH (Aaminah)
CSE2 150
05
10:30-11:30 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
06
13:30-14:20 Lecture
Objects
Whiteboards
Demo code
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
07
Section
Open office hours
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
23:59 HW7 due
08
10:30-11:30 OH (Vani)
CSE2 131
13:30-14:20 Lecture
Victory lap
Whiteboards
11
09:00-10:00 OH (Aaminah)
Zoom link TBD
12
11:00-12:00 OH (James)
CSE1 440 or Zoom
15:30-16:30 OH (Allan)
CSE1 2nd floor breakout
13
17:30-18:30 OH (Ethan)
CSE1 3rd floor breakout
23:59 Project due
14
11:00-12:00 OH (Aditya)
CSE2 131
14:30-15:30 OH (Anirudh)
CSE2 121
15
10:30-11:30 OH (Vani)
Zoom