Des cours d'informatique pour tous les goûts!

Les buts de la deuxième année sont de consolider les acquis de la première en préparant une spécialisation éventuelle en 3A.

Le DIX offre un ou plusieurs cours d'informatique dans chacune des quatre périodes de l'année,  à quoi s'ajoutent des MODALs, mais aussi bien sûr des projets scientifiques collectifs.

Prérequis : cours INF361+INF411 ou INF371 pour accéder aux autres cours d'année 2 (sauf pour certains MODALs, renseignez-vous).

CSC_41011_EP (INF411)
arbres, graphes
CSC_41021_EP (INF421)
algorithms
CSC_43042_EP (INF442)
données massives
CSC_41012_EP (INF412)
logique, modèles
 
CSC_43043_EP (INF443)
Informatique graphique 3D

Modal 1
Bioinformatics
Connected Objects and the Internet of Things (IoT)
Conception et développement d'un Jeu vidéo
ICPC SWERC Training
Tablettes et smartphones

Modal 2
 
Distributed applications
Robots et drones
Applications Web

Modal 3
Competitive ProgrAmming in C++
Exploration et apprentissage sur les Graphes du Web
Deep Learning in Computer Vision
Cybersecurity - the hacking Xperience
 

Prérequis pour la 3A : pour s'inscrire en PA Informatique ou Bioinformatique (et plus généralement pour s'inscrire dans un cours d'Informatique de 3A), il faut avoir validé :
- au moins 2 cours d'Informatique en 2A (hors modal),
- un projet en cours d'Informatique de 2A (modal compris).

Foire aux questions (FAQ)

Q. Je viens de CSC_3X050_EP (INF361). Quels cours d'informatique puis-je suivre en 2A ?

RSi vous suivez CSC_41011_EP (INF411), vous pouvez suivre n'importe quel cours d'informatique en 2A.

Q. Puis-je suivre CSC_41011_EP (INF411) et CSC_41012_EP (INF412), CSC_43042_EP (INF442) en même temps que CSC_43043_EP (INF443) ?

R. Oui, ce ne sont pas les mêmes jours et nous avons fait bien attention à cela.

Q. Puis-je prendre plusieurs Modals d'informatique ?

R. A priori, non.

Q. Dans quels cours puis-je prendre un projet ?

R. CSC_42021_EP (INF421), CSC_43042_EP (INF442), CSC_43043_EP (INF443); ou bien un Modal.

Q. Dans quels cours fait-on des TP sur machine ?

R. CSC_41011_EP (INF411), CSC_43042_EP (INF442), CSC_43043_EP (INF443).

Q. Quels sont les langages de programmation utilisés en 2A ?

R. CSC_41011_EP (INF411) : Java; CSC_43042_EP (INF442) : Python, CSC_43043_EP (INF443) : C++; dans les modals, c'est variable.

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).

 

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

 

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.

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.

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.