CS 583: Advanced Functional Programming (Spring 2021)

Instructor: Eric Walkingshaw ()
Lectures: T/Th, 10:30–11:50am, Zoom (link on Canvas)
Office Hours: Tues, 12:00–1:00pm, Zoom (link on Canvas)

Course Logistics

This webpage is a “living syllabus”. All information you need for the class is provided or linked here, and every effort will be made to keep that information up-to-date.

  • Course Description – A brief overview of the content, goals, and philosophy of the course.

  • Grading and Collaboration Policy – How grades will be computed and policy for collaboration in various aspects of the class.

  • Community Statement – Every student should feel safe and welcome to contribute in this course. Please read this statement and let’s work together to make this a great environment for everyone.

  • Haskell Links and Resources – How to install GHC and Haskell packages. Also includes several tutorials, freely available books, and other resources that you should use to supplement the content of this class.

  • Hasklets – Describes the rationale and logistics for the small assignments we’ll use to practice concepts from the course and facilitate discussion.

  • Functional Programming Project – Describes the rationale and logistics for the project that you will be working on throughout the term.

Course Content

All content for the course will be posted below. This will included required and optional readings, slides, and examples from lectures. I will often post an initial version of an example before lecture so that you can follow along more easily, then post the updated version after class.


All deliverables will be posted as assignments in Canvas with direct links to the relevant pages. The table below is just a reference to make the course web page more self-contained.

All deadlines are “end of day” on the due date, that is, 11:59pm Pacific time unless otherwise noted.

Mar 31 Introduce Yourself!
Apr 2 Hasklet #1
Apr 5 Hasklet #1 Feedback
Apr 14 Hasklet #2
Apr 21 Project Proposal Draft
Apr 26 Project Proposal Feedback
Apr 30 Project Proposal Revision
May 3 Hasklet #3
May 12 Project Milestone #1
May 17 Hasklet #4
May 19 Project Milestone #1 Feedback
May 26 Project Milestone #2
May 31 Project Milestone #2 Feedback
Jun 7 Final Project Submission

Reach Out for Success

University students encounter setbacks from time to time. If you encounter difficulties and need assistance, it’s important to reach out. Consider discussing the situation with an instructor or academic advisor. Learn about resources that assist with wellness and academic success at https://oregonstate.edu/ReachOut. If you are in immediate crisis, please contact the Crisis Text Line by texting OREGON to 741-741 or call the National Suicide Prevention Lifeline at 1-800-273-TALK (8255).

Accommodations for Students with Disabilities

Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.