diff --git a/README.md b/README.md index 02e0f39088dd78bb5ebb5b92508bb2efa3299525..3daf25954d9448c0c78a1f7ead03617763db5403 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,72 @@ -# CS-210 Material +This repository will be used as the website for Functional Programming CS-210. It will be updated weekly throughout the semester. This README contains general information about the class. -* [Moodle Page](https://moodle.epfl.ch/course/view.php?id=14257) +- [previous-years-exams](https://gitlab.epfl.ch/lamp/cs210-material/week1/tree/master/previous-years-exams) contains PDFs for the 2016, 2017 and 2018 exams. +- [recitation-sessions](https://gitlab.epfl.ch/lamp/cs210-material/week1/tree/master/recitation-sessions) contains markdown documents for recitation sessions and solutions. +- [slides](https://gitlab.epfl.ch/lamp/cs210-material/week1/tree/master/slides +) contains the slides presented in class. + +We will use GitLab's issue tracker as a discussion forum. Feel free to [open an issue](https://gitlab.epfl.ch/lamp/cs-210-functional-programming-2019/issues/new) if you have any comments or questions. + +During the first week of the semester, you should will this Doodle to register to the recitation sessions: + +<TODO Nico?> + +Also make sure to read the instructions to install Git and Scala on your machine, which is be needed to complete the projects: + +<TODO Guillaume/Timothée?> + +## Grading + +The grading of the course is divided between projects (30%), a midterm (30%), and a final exam (40%) held during the last week of courses. + +## Staff + +| Role | People | +| :--- | :--- | +| Professors | Martin Odersky, Viktor KunÄak | +| TAs | Aleksander Boruch-Gruszecki, Guillaume Martres, Nicolas Stucki, Olivier Blanvillain, Periklis Chrysogelos | +| Student TAs | Artur Vignon, Haley Owsianko, Paul Renauld, Thomas De Chevigny, Timothée Floure | + +## Rooms + +Live lectures take place on Wednesdays from 13:15 to 15:00 in CO 2. Recitation sessions take place on Fridays from 10:15 to 12:00, where the room assignment is according to the Doodle linked above. Project sessions are held concurrently to the recitation sessions in CO 021. + +## Lecture Schedule + +| Week | Date | Topic | +| :-- | :-- | :-- | +| 1 | 18.09.2019 | Intro class | +| 2 | 25.09.2019 | Recursion | +| 3 | 02.10.2019 | Function values | +| 4 | 09.10.2019 | Classes | +| 5 | 16.10.2019 | Symbolic computations | +| 6 | 23.10.2019 | Collection | +| 7 | 30.10.2019 | Structural induction | +| 8 | 06.11.2019 | Monads | +| 9 | 13.11.2019 | State | +| 10 | 20.11.2019 | Constraints | +| 11 | 27.11.2019 | Lambda calculus / Lisp | +| 12 | 04.12.2019 | Scheme interpreter | +| 13 | 11.12.2019 | Prolog | +| 14 | 18.12.2019 | Review | + +## Project Schedule + +| Title | Start Date | Due Date (at noon) | +| :-- | :-- | :-- | +| Recursion | 18.09.2019 | 26.09.2019 | +| Functional Sets | 25.09.2019 | 03.10.2019 | +| Object-Oriented Sets | 02.10.2019 | 10.10.2019 | +| Huffman Coding | 09.10.2019 | 24.10.2019 | +| Anagrams | 16.10.2019 | 31.10.2019 | +| Bloxorz | 23.10.2019 | 07.11.2019 | +| Quickcheck | 30.10.2019 | 14.11.2019 | +| Calculator | 13.11.2019 | 28.11.2019 | +| Interpreter | 27.11.2019 | 18.12.2019 | + +## Exam Schedule + +The midterm exam will take place on Friday 08.11.2019 from 10:15 to 12:00. +The final exam will take place on Friday 20.12.2019 from 10:15 to 12:00. + +Information about exam organization will be communicated by email a few days before each exam.