Automatic, optimization and applied mathematics
Classical scientific core classes:
- Dynamical systems
- Elementary tools of analysis for partial differential equations
- Function of one complex variable
- Quadratic optimisation
- Introduction to probabilities
- Introduction to statistics
- Introduction to partial differential equations discretization
Reinforced scientific core classes (the courses are identical to those of the classic core curriculum but offer a format and sometimes a chronology adapted to the students' level):
Mechanics and physics
Classical scientific core classes:
- Mechanics of incompressible fluids
- Continuum mechanics
- Linear elasticity
- Quantum physics
- Statistical physics
Reinforced scientific core classes (the courses are identical to those of the classic core curriculum but offer a format and sometimes a chronology adapted to the students' level):
Engineering methods and tools
Information and communication sciences and technologies
Recognizing that students from the MP2I/MPI preparatory classes need in-depth knowledge and skills in computer science, ENSTA Paris offers these students specific computer science courses in their first year. The "Language C", "Algorithms and programming" and "Algorithms and data structures" courses are replaced by "Advanced language C", "Introduction to compilation" and "Around logic".
The "Advanced C language" course aims to deepen understanding of this language, its constructs and their semantics. The C language makes it possible to write efficient programs, possibly very close to the hardware aspects of machines. These advantages sometimes come at a price, however, in the form of technical subtleties that must be mastered for safer programming. This course sometimes oscillates between language, compilation, OS and hardware aspects, showing the close interactions between these fields. The course takes the form of integrated tutorials in small groups.
The "Introduction to Compilation" course focuses on the translation of a dedicated language (DSL, Design Specific Language) into the C language. It illustrates the breakdown into separate compilation phases, implementing a large number of algorithms and data structures to make the translation process efficient. It covers syntax (lexical and syntactic analysis), semantics and code production. The support language will be OCaml.
The "Around Logic" course aims to lay the foundations of mathematical logic and demonstration. This course has several objectives. In no particular order, it proposes to approach logic as a science, as an object of study, to demonstrate properties of certain logical formalisms. But it also approaches logic as a tool, for formalizing problems and demonstrating properties, for formalizing programs and demonstrating properties on these programs. Finally, it looks at logic as a domain on which algorithms can work to automate proof checks, and even (in part) proof searches. The course mixes purely theoretical aspects (demonstrations in the "usual" sense of the term), programming aspects in OCaml to work on logical formulas, and proof and programming aspects in Coq to apply so-called formal proofs. This course takes the form of integrated lectures and tutorials in small groups.