Fall 2014

Fall 2014

Organisation

This Fall (2014), the functional programming class is divided into 2 parts. The first part is given on the Coursera platform. The second part (on metaprogramming) will follow a more classical lecture structure (information to be updated). There are two parts to the course:

For communication with EPFL students, we will use good old Moodle. Access the link, and you should be automatically signed in.

Logistics

As a student, you will be required to follow the course online, by watching the videos and doing the projects and homeworks.

On Wednesdays, we will be holding recitation sessions, to ensure that students understand the material properly. The recitation session will last one hour. In order to optimize these sessions, the students will be divided in groups of 25 approximately. Sessions will take place between 13h15 and 14h00, and 14h15 and 15h00. You can attend either session. The sessions will take place in the rooms CO2, CO015, CO016, CO017. Follow this link to choose your preferred slot (max 30 people per session) : https://epfl.doodle.com/zkwaqwcfhfsberes.

Attention: Prof. Odersky will give the introductory lecture on Wednesday 17th at 13h15 in CO2.

Finally, the teaching assistants are available on Fridays from 10:15 to 12:00 in CO 021 to answer questions related to the programming assignments. This is the more traditional “seance d’exercices” that EPFL students are familiar with.

 

Assignments

The programming assignments will be published on the coursera website. For those assignments that we hand out through coursera, the students will work alone – working in groups is not allowed.

The programming assignments have a hard deadline. This means that handing in late will invalidate that particular project, and you will not receive any points for them. This is because we will be discussing the projects during the recitation sessions the Wednesday following the deadline.

While the public Coursera course has a hard and soft deadline, for EPFL students, only the earlier one applies. Therefore the soft deadline on Coursera corresponds to the hard deadline for EPFL students. In other words, you will always have to hand in your projects in time for the Sunday deadline.

Grading

The grading of the course is divided between projects, a midterm, and a final exam held during the last week of courses. This course is a semester course, which means that once registered for the course, you cannot un-register before the final exam.

The midterm will take place on Friday the 7th of November, from 10h15 to 12h00

The final exam will take place on Friday the 19th of December, from 10h15 to 12h00

 

Evaluation Weight
Projects 30%
Midterm exam 30%
Final exam 40%

Assignments and Projects (CURRENTLY HIDDEN)

Les projets sont faits en groupes de deux. Chaque groupe ne rend qu’une copie, et les deux étudiants reçoivent, sauf cas exceptionnels, la même note. Le rendu des fichiers, ainsi que la consultation des résultats, se fait à l’aide du système Moodle.

Pour pouvoir rendre vos projets, vous devez d’abord vous inscrire dans le cours Moodle avec le enrolment key PROGA. Pour enregistrer vôtre groupe, la procédure est la suivante: Assumons que “Cédric Lanchat” et “Martin Meier” forment un groupe. Actuellement, il existe dans Moodle un groupe pour chaque nom de famille. Les deux étudiants doivent alors s’inscrire dans un des groupes “Lanchat” ou “Muller”. L’autre groupe reste vide.

Nous n’acceptons aucune remise après la deadline. Au cas ou le système Moodle n’est pas accessible, vous pouvez envoyer vos fichiers par E-Mail à Lukas Rytz.

Le nom du fichier soumis doit être préfixé par le nom de votre groupe. Par exemple, si le nom de votre groupe est ‘Jean-Luc’, le nom du fichier peut être ‘Jean-Luc-project2.zip’.

  • Exercice introductif sur les fonctions récursives (donnée, modèle, solution). Cet exercice ne sera pas noté.
  • 1er projet sur les ensembles (donnée, modèle) à rendre avant jeudi 13 octobre à minuit.
  • 2ème projet sur les codes de Huffman (donnée, modèle) à rendre avant jeudi 27 octobre à minuit.
  • 3ème projet sur le traitement de texte (donnée, modèle) à rendre avant jeudi 10 novembre à minuit.
  • 4ème projet sur les simulations temporelles (donnée, modèle) à rendre avant jeudi 1 décembre à minuit.
  • 5ème projet sur les flots et les contraintes (donnée, modèle) à rendre avant jeudi 8 décembre à minuit (une semaine seulement!).
  • 6ème projet sur LISP (donnée, modèle) à rendre avant jeudi 22 décembre à minuit.

 

Informations sur l’examen final (CURRENTLY HIDDEN)

L’examen aura lieu dans la salle CE 6. Notez les points suivants:

  • L’examen commencera le Vendredi, Décembre 23, à 15h15 et durera jusqu’à 17h00.
  • Matériel autorisé: les transparents du cours imprimés et éventuellement annotés, un résumé optionnel d’une page (recto-verso), un stylo.
  • Amenez vôtre carte CAMIPRO.
  • L’examen portera sur tout le matériel du cours, y compris la première partie de Prolog.

 

Informations sur l’examen intermédiaire (CURRENTLY HIDDEN)

L’examen aura lieu dans la salle CE 6. Notez les points suivants:

  • L’examen commencera le Vendredi, Novembre 18, à 15h15 et durera jusqu’à 16h45.
  • Matériel autorisé: les transparents du cours imprimés et éventuellement annotés, un résumé optionnel d’une page (d’un côté), un stylo.
  • Amenez vôtre carte CAMIPRO.
  • L’examen portera sur tout le matériel jusqu’au cours “Fonctions et états” (inclusif).