...
Week | Day | Date | Topic | Slides | Work Assigned | Work Due |
---|---|---|---|---|---|---|
1 | Tues | Aug 25 | Overview and Motivation | |||
Thurs | Aug 27 | Course Tools and Setup | ||||
2 | Tues | Sep 1 | Introduction to Scala | |||
| Thurs | Sep 3 | Programming with Intention | Hwk 0 | ||
3 | Tues | Sep 8 | Test-Driven Development | |||
Thurs | Sep 10 | Defining and Using Functions and Recursion | Hwk 1 | Hwk 0 | ||
4 | Tues | Sep 15 | Referential Transparency and the Substitution Model | |||
| Thurs | Sep 17 | Tail Recursion | Hwk 2 | Hwk 1 | |
5 | Tues | Sep 22 | Lists and Functional Data Structures | |||
| 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 |
...