Search this site
Embedded Files
Skip to main content
Skip to navigation
CSE 341 19wi
Home
Lectures
Homeworks
Exams
Resources
CSE 341 19wi
Home
Lectures
Homeworks
Exams
Resources
More
Home
Lectures
Homeworks
Exams
Resources
Lectures
Unit 1 : ML Functions, Tuples, Lists, and More
Reading Notes
Videos
Mon, Jan 7 -
Lecture 1: Course Mechanics, ML Variable Bindings
Wed, Jan 9 -
Lecture 2: Functions, Pairs, Lists
Thu, Jan 10 -
Section 1: Emacs, SML Mode, Shadowing, Error Messages
Fri, Jan 11 -
Lecture 3: Local Bindings, Options, Benefits of No Mutation
Unit 2 : Datatypes, Pattern Matching, Tail Recursion
Reading Notes
Videos
Mon, Jan 14 -
Lecture 4: Records, Datatypes, Case Expressions
Wed, Jan 16 -
Lecture 5: More Datatypes and Pattern Matching
Thu, Jan 17 -
Section 2: Type Synonyms, Polymorphism, Function Patterns
Fri, Jan 18 -
Lecture 6: Nested Pattern Matching, Exceptions, Tail Recursion
Unit 3 : First-Class Functions and Closures
Reading Notes
Videos
Wed, Jan 23 -
Lecture 7: First-Class Functions
Thu, Jan 24 -
Section 3: Pattern Matching, Tail Recursion, HW 1 Debrief
Fri, Jan 25 -
Lecture 8: Lexical Scope and Function Closures
Mon, Jan 28 -
Lecture 9: Function-Closure Idioms
Unit 4 : ML Modules, Type Inference, Equivalence, and More
Reading Notes
Videos
Wed, Jan 30 -
Lecture 10: ML Modules
Thu, Jan 31 -
Section 4: HW2 Debrief, Higher-Order Functions, Closures
Fri, Feb 1 -
Lecture 11: Type Inference
Mon, Feb 4 -
Lecture 12: Equivalence
Thu, Feb 7 -
Section 5: Midterm Review
Interlude: Midterm and Snowpocalypse
Feb 8 - 11 - No Class
Wed, Feb 13 - Midterm (in class)
Unit 5: Racket, Delaying Evaluation, Memoization, Macros
Reading Notes
Videos
Thu, Feb 14 -
Section 6: Racket Introduction
Fri, Feb 15 -
Lecture 13: More Racket Intro
Mon, Feb 18 - Fri, Feb 22 - Watch "Macros: The Key Points" through "More Macros Examples"
here
Wed, Feb 20 -
Lecture 14: Thunks, Laziness, Streams, Memoization
Thu Feb 21 -
Section 7: Macros
(make up Lecture 15 due to Snowpocalypse)
Unit 6: Structs, Implementing Languages, Static vs. Dynamic Typing
Reading Notes
Videos
Fri, Feb 22 -
Lecture 16: Datatype-style Programming with Lists or Structs
Mon, Feb 25 -
Lecture 17: Implementing Languages Including Closures
Wed, Feb 27 -
Lecture 18: Static vs. Dynamic Typing
Unit 7: Ruby, Object-Oriented Programming, Subclassing
Reading Notes
Videos
Thu, Feb 28 -
Section 8: Introduction to Ruby and OOP
Fri, Mar 1 -
Lecture 19: Introduction to Ruby and OOP
(continued)
Mon, Mar 4 -
Lecture 20: Arrays, Blocks, Procs, Inheritance, Overriding
Wed, Mar 6 -
Lecture 21: Dynamic Dispatch Precisely, Manually in Racket
Unit 8: Program Decomposition, Mixins, Subtyping, and More
Reading Notes
Videos
Thu, Mar 7 -
Section 9: OOP vs. Functional Decomposition; Adding Operators and Variants; Double-Dispatch
(Lec 22)
Fri, Mar 8 -
Lecture 23: Multiple Inheritance, Mixins, Interfaces, Abstract Methods
Mon, Mar 11 -
Lecture 24: Subtyping
Wed, Mar 13 - TBD
Thu, Mar 14 - Final Review
Fri, Mar 15 -
Lecture 25: Subtyping for OOP; Comparing/Combining Generics and Subtyping + Victory Lap
Report abuse
Report abuse