NOTE: This page is for an old offering of the course. To find the latest course offering, please visit https://comp311.rice.edu/.
COMP 311: Functional Programming (Fall 2016)
Instructor | Dr. Eric Allen Dr. Corky Cartwright | Graduate TAs |
| |
---|---|---|---|---|
Co-Instructor | Dr. Sağnak Taşırlar | Undergraduate TAs |
| |
Lectures | Lecture Times | 8:00AM - 9:15AM TR | ||
Course Email | comp311@ricecomp311_staff@rice.edu | Online Discussion | Piazza -- Rice Comp 311 |
...
General Information
Lecture Schedule (Subject to Change Without Notice)
Conditional Functions on Ranges, Point Values, and Compound Datatypes
Semantics of Type Checking, Binary Methods, Abstract Datatypes
For Expressions, Monads, The Environment Model of Reduction
Call-by-Name, Environment Model of Type Checking, Generative Recursion
Week | Day | Date | Topic | Work Assigned | Work Due | ||
---|---|---|---|---|---|---|---|
1 | Tues | Aug 23 | Overview, Motivation, Core Scala | Hwk 0 | |||
Thur | Aug 25 | The Nature of Doubles, The Design Recipe | What are Types, Core Scala | Hwk 0 | |||
2 | Tues | Aug 30 | Type Checking, Conditional Functions, Compound DatatypesDoubles, Programming with Intention, The Design Recipe | ||||
Thurs | Sep 01 | Grading, DrScala, Tests, Binary Methods, Operators | Hwk 1Functions on Ranges, Point Values, Compound Datatypes | ||||
3 | Tues | Sep 06 | Abstract Datatypes, ExceptionsMethods, Grading, DrScala | ||||
Thur | Sep 08 | Exceptions, Overloading | Abstract Datatypes | Hwk 1 | |||
4 | Tues | Sep 13Recursively Defined Datatypes | |||||
| Thur | Sep 15 | First-Class Functions | Hwk 2 | |||
5 | Tues | Sep 20 | Recursively Defined Types 2, Functions as Values, Parametric Types, Covariance | ||||
| Thurs | Sep 22 | Checking Variance, For-Expressions | Hwk 2 | Hwk 1 | ||
6 | Tues | Sep 27 | Translating For-Expressions, The Environment ModelFunctions as Values, Parametric Types | ||||
| Thur | Sep 29 | Lexical vs Dynamic Scoping, Call-by-Name, Traits 1 | Hwk 3 | Hwk 2 | ||
7 | Tues | Oct 04 | Traits 2, Generative Recursion | For Expressions, Monads, The Environment Model | |||
| Thurs | Oct 06 | More Generative Recursion, Accumulators | Hwk 3 | Hwk 2 | ||
8 | Tues | Oct 11 | MIDTERM RECESS | ||||
| Thur | Oct 13 | More Accumulators, Tail Recursion | Hwk 4 | Hwk 3 | ||
9 | Tues | Oct 18 | Leftist Heaps, Functional Red-Black Trees | Call-by-Name, Type Environments, Generative Recursion | |||
| Thur | Oct 20 | Red Black-Trees Continued, Stream Processing | Hwk 4 | Hwk 3 | ||
10 | Tues | Oct 25 | Guest Lecture: TBDAccumulators | ||||
| Thur | Oct 27Variable Assignment and Environments | |||||
11 | Tues | Nov 01 | |||||
| Thur | Nov 03 | The State Monad, Mechanical Proof CheckingCheckin, The Curry-Howard Isomorphism | Hwk 5 | Hwk 4 | ||
12 | Tues | Nov 08Programs as Proofs and the Curry Howard Isomorphism | |||||
| Thur | Nov 10 | |||||
13 | Tues | Nov 15 | |||||
| Thur | Nov 17 | Hwk 6 | Hwk 5 | |||
14 | Tues | Nov 22 | Guest Lecture: TBDProject Fortress | ||||
| Thur | Nov 24 | THANKSGIVING | ||||
15 | Tues | Nov 28 | |||||
Thur | Dec 01 | Course Wrap Up | Hwk 6 |