Algorithmic and advanced programming
Enseignant responsable :
Volume horaire : 36Description du contenu de l'enseignement :
Explore advanced algorithmic design in the intensive course, Algorithms and Advanced Programming. Participants delve into cutting-edge concepts, optimization strategies, and intricate problem-solving methods, fostering a deep understanding of complex computational challenges. The program aims to equip individuals with the skills necessary to navigate the dynamic landscape of algorithmic innovation, making it a valuable experience for those seeking mastery in advanced computer science. Here is a possible list of contents, which might change according to the current trends or the lecturer's inclinations.
- Greedy Algorithms and Matroids
- Dynamic Programming
- Graph Algorithms I: Efficient Problem Solving
- Graph Algorithms II: Complex Problem Challenges
- Computational Geometry
- Stable Marriage
- Introduction to Integer Programming
Pré-requis recommandés :
- knowledge of python
- knowledge of basic algorithms (sorting, shortest paths algorithms, minimum spanning tree algorithms...)
Compétence à acquérir :
Develop proficiency in designing and implementing advanced algorithms
Mode de contrôle des connaissances :
- A programming project during the semester
- A final exam on paper
Bibliographie, lectures recommandées
- Introduction to Algorithms, third edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. MIT Press.
- Combinatorial Optimization, William Cook, William Cunningham, William Pulleyblank, Alexander Schrijver. Wiley.