...
Week | Day | Date | Topic | Slides | Work Assigned | Work Due | |
---|---|---|---|---|---|---|---|
1 | Tues | Aug 25 | Overview and Motivation for Functional Programming | ||||
Thurs | Aug 27 | Course Tools and Setup | |||||
2 | Tues | Sep 1 | Introduction to Scala | ||||
| Thurs | Sep 3 | Test-Driven DevelopmentProgramming with Intention | Hwk 0 | |||
3 | Tues | Sep 8 | Defining and Using Functions and RecursionTest-Driven Development | ||||
Thurs | Sep 10 | Referential Transparency and the Substitution ModelDefining and Using Functions and Recursion | Hwk 1 | Hwk 0 | |||
4 | Tues | Sep 15 | Tail Recursion and AccumulatorsReferential Transparency and the Substitution Model | ||||
| Thurs | Sep 17 | Defining Functional Data StructuresTail Recursion | Hwk 2 | Hwk 1 | ||
5 | Tues | Sep 22 | Lists and Functional Data IntegrityStructures | ||||
| Thurs | Sep 24 | Types, Type Systems, and Polymorphic Functions | Hwk 3 | Hwk 2 | ||
6 | Tues | Sep 29 | Programming with Options and Pattern Matching | ||||
| Thurs | Oct 1 | Map, Reduce, and Higher Order Functions | Hwk 4 | Hwk 3 | ||
7 | Tues | Oct 6 | Comprehensions and flatMap | ||||
| Thurs | Oct 8 | Programs as Proofs and the Curry-Howard Isomorphism | ||||
8 | Tues | Oct 13 | MIDTERM RECESS | ||||
| Thurs | Oct 15 | Contracts and Data Integrity | Hwk 5 | Hwk 4 | ||
9 | Tues | Oct 20 | Functional Leftist Heaps and Binomial Heaps | ||||
| Thurs | Oct 22 | Functional Red-Black Trees | Hwk 6 | Hwk 5 | ||
10 | Tues | Oct 27 | Strictness and Lazy Evaluation | ||||
| Thurs | Oct 29 | Stream Processing and Incremental I/O | Hwk 7 | Hwk 6 | ||
11 | Tues | Nov 3 | Closures, Effects, and the Environment Model | ||||
| Thurs | Nov 5 | Programming with Continuations | Hwk 8 | Hwk 7 | ||
12 | Tues | Nov 10 | Domain-Specific Languages with Higher Order Functions | ||||
| Thurs | Nov 12 | Parallelism and Functional Programming | Hwk 9 | Hwk 8 | ||
13 | Tues | Nov 17 | Big Data and Distributed Computing with Apache Spark | ||||
| Thurs | Nov 19 | DataFrames and Spark SQL | Hwk 10 | Hwk 9 | ||
14 | Tues | Nov 24 | Guest Lecture (TBA) | ||||
| Thurs | Nov 26 | THANKSGIVING | ||||
15 | Tues | Dec 1 | Pipelines and SparkML (Machine Learning) | ||||
Thurs | Dec 3 | Course Wrap Up | Hwk 10 |
Grading, Honor Code Policy, Processes and Procedures
...