CS17
Documentation
Assignments
Notes
Staff
Calendar

Notes

Lectures
Lectures are held every Monday, Wednesday, and Friday, from 10 to 10:50 AM, in Metcalf Auditorium (first two lectures in Salomon 101). These lecture notes will be uploaded incrementally as topics are covered in class.
No.TopicDateNotesSlidesRecordings
1Welcome and Introduction to the CourseSep 5, 2018PDF (racket)SlidesRecording
2Data Types and EvaluationSep 7, 2018PDF (racket)SlidesRecording
3Denotations vs. Evaluations of ExpressionsSep 10, 2018PDF (racket)SlidesRecording
4BindingsSep 12, 2018PDF (racket)SlidesRecording
5Special FormsSep 14, 2018PDF (racket)SlidesRecording
6Shadowing and RecursionSep 17, 2018PDF (racket)SlidesRecording
7Recursion, continuedSep 19, 2018PDF (racket)SlidesRecording
8List Recursion and Recursion DiagramsSep 21, 2018PDF (racket)SlidesRecording
9AnalysisSep 24, 2018PDF (racket)SlidesRecording
10Analysis, continuedSep 26, 2018PDF (racket)SlidesRecording
11Even More AnalysisSep 28, 2018PDF (racket)Recording
12Style and SubstanceOct 1, 2018PDF (racket)SlidesRecording
13AnalysisOct 3, 2018PDF (racket)SlidesRecording
14Concise Code, Big-O, and Internal Representation of ListsOct 5, 2018PDF (racket)SlidesRecording
15Insertion Sort, Selection Sort, and MoreOct 10, 2018PDF (racket)SlidesRecording
16Sorting, continuedOct 12, 2018PDF (racket)SlidesRecording
17Trees and Merge SortOct 15, 2018PDF (racket)SlidesRecording
18Binary Search Trees and PermutationsOct 17, 2018PDF (racket)SlidesRecording
19Introduction to OCamlOct 19, 2018PDF (ocaml)SlidesRecording
20OCaml, continuedOct 22, 2018PDF (ocaml)SlidesRecording
21Even More OCamlOct 24, 2018PDF (ocaml)SlidesRecording
22Pattern Matching, Options, and More MergesortOct 26, 2018PDF (ocaml)SlidesRecording
23OCaml ClarificationsOct 29, 2018PDF (ocaml)Recording
24Type Aliases, Variant Types, and Birth EnvironmentsOct 31, 2018PDF (ocaml)Recording
25Recursive Variant Types, Closures, and RacketteNov 2, 2018PDF (ocaml)Recording
26Rackette, An Integrated IntroductionNov 5, 2018PDF (ocaml)SlidesRecording
27More Rackette & RecordsNov 7, 2018PDF (ocaml)SlidesRecording
28Even More RacketteNov 9, 2018PDF (ocaml)SlidesRecording
29Modules & StacksNov 12, 2018PDF (ocaml)SlidesRecording
30Data Structures, Queues, & GraphsNov 14, 2018PDF (ocaml)SlidesRecording
31Graph Search & GameNov 16, 2018PDF (ocaml)SlidesRecording
32GameNov 19, 2018PDF (ocaml)SlidesRecording
33Game, continuedNov 21, 2018PDF (ocaml)SlidesRecording
34Compilation & DebuggingNov 26, 2018PDF (ocaml)SlidesRecording
35Analysis Review & Tail RecursionNov 28, 2018PDF (ocaml)SlidesRecording
36Tail Recursion, continued & Analysis ReviewNov 30, 2018PDF (ocaml)SlidesRecording
37Analysis, continuedDec 3, 2018PDF (ocaml)SlidesRecording
38Even More AnalysisDec 5, 2018PDF (ocaml)SlidesRecording
39Game TournamentDec 7, 2018PDF (ocaml)Recording
Workshops
Workshops will be held every Wednesday and Saturday - check calendar for specific times. Workshop tasks will be uploaded incrementally after both Workshop sections. Come in to Workshops to talk through the problems and their solutions.
No.TopicDateSlidesWorksheet
1Expressions, Cases, Procedures, Design RecipeSep 12/15, 2018Slides (racket)Worksheet
2Boolean Logic, RecursionSep 19/22, 2018Slides (racket)Worksheet
3Lists, Conditionals, and RecursionSep 26/29, 2018Slides (racket)Worksheet
4Helper Procedures and AnalysisOct 3/6, 2018Slides (racket)Worksheet
5Analysis and HOPsOct 10/13, 2018Slides (racket)Worksheet
6SubsetsOct 17/20, 2018Slides (ocaml)Worksheet
7Oh, OCaml!Oct 24/27, 2018Slides (ocaml)Worksheet
8Rackette-cita PrepOct 31/Nov 3, 2018Slides (ocaml)Worksheet
9Environments, Trees, and AnalysisNov 7/10, 2018Slides (ocaml)Worksheet
10Let's Play!Nov 28/Dec 1, 2018Slides (ocaml)Worksheet
11Final ReviewDec 6, 2018Slides (racket/ocaml)Worksheet