- Teaching coordinator: Gardin Jackie
- Teaching coordinator: Goubault Eric
- Teaching coordinator: Haucourt Emmanuel
- Teaching coordinator: Lutzeyer Johannes
- Teaching coordinator: Payen De La Garanderie Eléonore
- Teaching coordinator: Pires Frances Fatima
- Teaching coordinator: Schaeffer Gilles
Initiation to data structures, algorithmics and algorithm analysis (lecture hall).
Advanced programming in Java (tutorial groups).
It is also an opportunity to perfect Java skills. The tutorials explore in depth some of the material presented in the lecture hall.
Evaluation: Continuous assessment (pale machine or homework), an in-class exam (3h).
- Teaching coordinator: Albenque Marie
- Teaching coordinator: Castelli Aleardi Luca
- Teaching coordinator: Filliâtre Jean-Christophe
- Teaching coordinator: Guillemot Alexandre
- Teaching coordinator: Harington Elies
- Teaching coordinator: Haucourt Emmanuel
- Teaching coordinator: Jeannin Mathilde
- Teaching coordinator: Lairez Pierre
- Teaching coordinator: Le Devehat Anaëlle
- Teaching coordinator: Mallordy Lola
- Teaching coordinator: Mezzarobba Marc
This course introduces the fundamentals of IT as science. The idea of using machines to make calculations is an old one, it was in the 1930s that the work of Alan Turing, Alonzo Church, Kurt Goedel and others laid the foundations for what would become the computer science we know today.
Their work revealed that reasoning and calculation are closely linked, and these foundations must therefore be understood in the older tradition, in logic and in the foundations of mathematics, from Peano to Zermelo passing by Hilbert and many others. We can note that these foundations are still relevant today, despite spectacular technological advances.
While other courses show how to program, here we clarify the framework of what is doable, in terms of
- calculability: some problems cannot be solved by a machine;
- complexity: some problems cannot be solved in a reasonable time.
It is on these points, for example, that cryptographic technologies and the famous "P=NP" problem to $1,000,000 are based.
There are no prerequisites. However, this course is a prerequisite for "Algorithms and Optimization" and "Languages, Proofs, Calculus" in the 3rd-year PA Info.
Evaluation: written exam
- Teaching coordinator: Astore Valentina
- Teaching coordinator: Bournez Olivier
- Teaching coordinator: Mimram Samuel
- Teaching coordinator: Zeilberger Noam
Algorithms are the heart of all computation. This course, which relies on the algorithmic foundations laid in the first computer science courses (INF371 or INF361+INF411), equipping the student with a solid background in modern algorithmics.
After following this course, the student will have an in-depth knowledge of most central algorithms, both understanding how and why they work and being able to solve a wide range of computational problems with these building blocks.
This is material that everyone aiming to work in a computer science or computing-related context needs to know, let it be in a research or industrial environment.
In addition to this, we will also give a brief introduction to several more recent topics like randomized algorithms, evolutionary algorithms, online algorithms, or algorithmic game theory, which had a significant impact on how we understand computing today.
The course is taught in English (lectures, poly). Exercise classes are offered in English and French. The exam is offered in both languages.
- Teaching coordinator: Coupechoux Marceau
- Teaching coordinator: Doerr Benjamin
- Teaching coordinator: Glisse Marc
- Teaching coordinator: Krejca Martin
- Teaching coordinator: Loiseau Patrick
- Teaching coordinator: Mauras Simon
- Teaching coordinator: Zhou Hang
Data analysis is a stransversal topic across algorithmics, statistics, and optimization. It relies on high-level languages such as Python or R for data handling and processing. This introductory course will consider both theoretical and practical aspects of data analysis.
References:
- Hastie, Tibshirani, Friedman: The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer, 2017.
- Scott and Stain: Multi-dimensional Density Estimation. In Handbook of Statistics, Volume 23 (Data Mining and Computational Statistics), 2004.
- Teaching coordinator: Berkemer Sarah
- Teaching coordinator: Butler Tara
- Teaching coordinator: Ehrhardt Adrien
- Teaching coordinator: Krejca Martin
- Teaching coordinator: Oudot Steve
- Teaching coordinator: Pogudin Gleb
- Teaching coordinator: Tomchuk Bogdan
- Teaching coordinator: Tsigaridas Elias
Appart from its importance for digital entertainment (video games, special effects, 3D animated films), 3D graphic computing is necessary for industrial virtual prototyping (design of objects or mechanisms intended to be manufactured), learning simulators and other "serious games", as well as scientific visualization, for example for visual exploration of data or simulation results.
This course covers all aspects of computer graphics, focusing on the interactive side. In particular, it covers geometric modeling techniques, projective rendering and the basics of 3D animation.
- Teaching coordinator: Hubert-Brierre Pierre
- Teaching coordinator: Rohmer Damien