Syllabus
Lectures in Fall 2024 are Tue/Thu 9:00am-10:20am in Gates B1. This website will be used for the syllabus, lecture notes, policies, and handouts. All lectures will be recorded and made available on the CS242 Canvas site.
The final exam will be held on Wed 12/11 8:30am-11:30am. Students are expected to attend the regularly scheduled final in person. However, if you have unusual circumstances that may merit an exception, email us as soon as possible.
A provisional list of topics and dates is given below, along with the dates of assignments and exams.
Day | Lecture | Topic | Assigned | Due | Reading |
---|---|---|---|---|---|
09/24 Tuesday | 01 | Course Overview | |||
09/26 Thursday | 02 | Combinator Calculus | Can Programming Be Liberated from the von Neumann Style? | ||
10/01 Tuesday | 03 | Combinators II | MapReduce | ||
10/03 Thursday | 04 | Lambda Calculus | HW1 | ||
10/08 Tuesday | 05 | Typed Lambda Calculus | |||
10/10 Thursday | 06 | Polymorphic Types | HW2 | HW1 | A Theory of Type Polymorphism in Programming |
10/15 Tuesday | 07 | State | |||
10/17 Thursday | 08 | Continuations | HW3 | HW2 | |
10/22 Tuesday | 09 | Monads | |||
10/24 Thursday | 10 | Objects | HW4 | HW3 | |
10/29 Tuesday | In-Class Midterm | ||||
10/31 Thursday | 11 | Rust | |||
11/05 Tuesday | Democracy Day | ||||
11/07 Thursday | 12 | Prolog | HW5 | HW4 | |
11/12 Tuesday | 13 | Haskell | Haskell Notes | ||
11/14 Thursday | 14 | Program Verification via Type Theory | HW6 | HW5 | seL4: Formal Verification of an OS Kernel |
11/19 Tuesday | 15 | Agda | |||
11/21 Thursday | 16 | Gradual Typing | HW7 | HW6 | |
11/26 Tuesday | Thanksgiving Break | ||||
11/28 Thursday | Thanksgiving Break | ||||
12/03 Tuesday | 17 | Array Programming | gameoflife.py | ||
12/05 Thursday | 18 | Wrap-Up | HW7 | ||
12/11 Wednesday | Final Exam 8:30am-11:30am |
Additional Important Information
On-campus students and SCPD students who live within 50 miles will take exams on campus at the scheduled times. There will be no alternate exams.
Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.
Stanford is committed to providing equal educational opportunities for disabled students. Disabled students are a valued and essential part of the Stanford community. We welcome you to our class. If you experience disability, please register with the Office of Accessible Education (OAE). Professional staff will evaluate your needs, support appropriate and reasonable accommodations, and prepare an Academic Accommodation Letter for faculty. To get started, or to re-initiate services, please visit oae.stanford.edu. If you already have an Academic Accommodation Letter, we invite you to share your letter with us. Academic Accommodation Letters should be shared during the first two weeks of class so we may partner with you and OAE to identify any barriers to access and inclusion that might be encountered in your experience of this course.