...
Week | Day | Date | Topic | Work Assigned | Work Due |
---|---|---|---|---|---|
1 | Tues | Aug 25 | |||
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 |
...