Below is the current calendar for the CSE341 class. Please keep in mind that Stuart is constantly updating this. It should accurately describe the past, but it won't always accurately predict the future. Links to lecture notes are included as they become available.
Monday | Wednesday | Friday |
---|---|---|
administrative details OCaml types and expressions Notes: notes |
functions Notes: notes Code: functions.ml |
mutable state, let Notes: notes |
pattern matching Notes: notes |
mergesort tail recursion efficient reverse quicksort Notes: notes |
higher-order functions map, filter, reduce Notes: notes Lecture: cse143 Java 8 lecture Program: Java8Demo.java |
Curried functions composition of functions anonymous functions Notes: notes |
more curried functions type safety Notes: notes |
defining types Notes: notes |
more binary tree option type Notes: notes |
closures scope Java inner classes Notes: notes |
modules structures Notes: notes |
signatures Notes: notes |
midterm review |
midterm |
intro to Scheme Notes: notes |
let, let* internal definitions struct Notes: notes OCaml/Scheme Comparison |
higher-order functions anonymous functions equality operators Notes: notes |
how to make a repl Notes: notes |
parsing Notes: notes |
more parsing Notes: notes Program: grammar1.rkt Program: grammar2.rkt |
introduction to Ruby Notes: notes |
control structures blocks classes Notes: notes Program: range.rb |
more on yield console input file processing Notes: notes |
OOP in Ruby Notes: notes Program: tree1.txt Program: guess_odd.rb |
mixins Notes: notes Program: tree2-1.txt (ruby) Program: tree2-2.txt (Python) |
memoization Notes: notes |
Memorial Day Holiday |
Guest lecture Slides: slides Program: OOPv1.rkt Program: OOPv2.rkt Program: FPv1.rkt Program: FPv2.rkt |
review for the final |
Final Exam -- Thursday, June 6, 8:30-10:20 am |