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 aux structures des données, à l'algorithmique et à l'analyse des algorithmes (amphis).
Perfectionnement à la programmation en Java (TDs).
Ce cours est également l'occasion de se perfectionner en Java. Les TDs explorent en profondeur une partie du matériel présenté en amphi.

Évaluation : Un contrôle continu (pale machine ou devoir à la maison), un examen classant en salle (3h).


Ce cours présente les fondements de l'informatique en tant que science. Si l'idée d'utiliser des machines pour effectuer des calculs est ancienne, c'est dans les années 30 que les travaux d'Alan Turing, Alonzo Church, Kurt Goedel et d'autres ont posé les bases de ce qui allait devenir l'informatique que nous connaissons aujourd'hui.

Leurs travaux ont révélé que le raisonnement et le calcul sont intimement liés et ces bases doivent donc se comprendre dans la tradition, plus ancienne, de la logique et des fondements des mathématiques, de Peano à Zermelo en passant par Hilbert et bien d'autres. Il est remarquable que ces bases sont toujours d'actualité, malgré les progrès technologiques spectaculaires.

Alors que d'autres cours montrent comment programmer, on explicite ici le cadre de ce qui est faisable, en termes
- de calculabilité : certains problèmes ne peuvent pas être résolus par une machine ;
- de complexité : certains problèmes ne peuvent être résolus en un temps raisonnable.

C'est par exemple sur ces points que reposent les technologies cryptographiques et le fameux problème "P=NP" à $1.000.000.


Pas de pré requis. En revanche, ce cours est un pré-requis pour les thématiques "Algorithmique et optimisation" et "Langages, preuves, calcul" du PA Info en 3ème année.

Modalités d'évaluation : Examen sur table.


Les algorithmes sont au cœur de tout calcul. Ce cours, qui s'appuie sur les bases algorithmiques posées dans les premiers cours d'informatique (INF321 ou INF311+INF411), dotant l'étudiant d'un solide bagage en algorithmique moderne.

Après avoir suivi ce cours, l'étudiant aura une connaissance approfondie des algorithmes les plus importants, comprenant à la fois comment et pourquoi ils fonctionnent et étant capable de résoudre un large éventail de problèmes de calcul à l'aide de ces blocs de construction.

Il s'agit d'un matériel que toute personne souhaitant travailler dans le domaine de l'informatique ou dans un contexte lié à l'informatique doit connaître, que ce soit dans un environnement de recherche ou dans un environnement industriel.

En outre, nous donnerons également une brève introduction à plusieurs sujets plus récents tels que les algorithmes aléatoires, les algorithmes évolutionnaires, les algorithmes en ligne ou la théorie des jeux algorithmiques, qui ont eu un impact significatif sur la façon dont nous comprenons l'informatique aujourd'hui.Le cours est enseigné en anglais (amphis, poly), pour tout le reste, y compris l'examen, le français et l'anglais sont tous deux proposés.

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.

L'analyse de données est un sujet transverse à cheval sur l'algorithmique, les statistiques et l'optimisation. Elle s'appuie sur des langages de haut niveau comme Python ou R pour la manipulation et le traitement des données. Ce cours introductif abordera l'analyse de données à la fois dans ses aspects théoriques et appliqués.

Références:

  • 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.
Outre son importance pour le loisir numérique (jeux vidéos, effets spéciaux, films d'animation 3D), l'informatique graphique 3D est indispensable au prototypage virtuel industriel (design d'objets ou de mécanismes destinés à être fabriqués), aux simulateurs d'apprentissage et autres "serious games", ainsi qu'à la visualisation scientifique, par exemple pour l'exploration visuelle de données ou de résultats de simulation.
Ce cours présente l'ensemble de l'informatique graphique, en se concentrant sur son volet interactif. Il couvre en particulier les techniques de modélisation géométrique, le rendu projectif, et les bases de l'animation 3D.