A. Malapert, MCF

Programming challenge

This course will introduce an interesting variety of subjects in programming, algorithms, and discrete mathematics though puzzles and problems which have appeared in the International ACM Programming Contest and similar venues.

This is a lecture-lab course in which topics are presented by the instructor, practice problems are explained, and assigned problems are completed by students both during lab periods and outside of class.


Arnaud Malapert (course facilitator), Gilles Menez, Valentin Montmirail, Marie Pelleau.


  1. Getting Started Input/Output
  2. Numbers
  3. Array
  4. List
  5. Tree
  6. Dynamic Programming
  7. String Processing
  8. Graph


  • ConcoursUCAnCODE (40%): you will participate to a local programming contest. Your grade will depend on your rank in the contest.
  • Homework (20%): there will be problem sets over the course of the semester.
    • solve the problem REBOND before December 14th.
    • solve the problem PARADOX before December 21th.
    • solve the problem ARITHEXPR before January 11th.
  • Final Exam (40%): there will be one final exam (2 hours) where you will be asked to solve one of two problems.
    • You will be asked to solve in writing one of two problems : The first one is graded out of 15 and the second one out of 20.