Présentation
Le module CSC 3101 – Algorithmique et langage de programmation
est un module de première année d'école d'ingénieur (troisième année après le bac) dispensé
à Télécom SudParis.
À l'issue du module, un étudiant est capable de programmer seul une petite application Java
à partir d'une description détaillée de son architecture et de son fonctionnement.
En détail, à la fin du module, un étudiant est capable de :
- transcrire en Java, en utilisant la programmation orientée objet, un algorithme à partir d'une description informelle,
- mettre en œuvre et utiliser des structures de données classiques (liste, tableau, table de hachage, graphe) en prenant en compte les aspects performances,
- mettre en œuvre des algorithmes classiques (tri, recherche, parcours de graphe, plus court chemin),
- concevoir (de façon informelle) et mettre en œuvre en Java une application simple mais réaliste (par exemple un petit serveur Web ou un petit jeu vidéo).
-
SujetsSupportsNotions clés
-
CM1Premiers pas (1/2)
-
Langage :
- conception, compilation et exécution d’un programme Java,
- types de base, opérateurs et structures algorithmiques,
- déclaration d'une variable,
- manipulation des tableaux,
- notion de référence,
- complexité.
-
Langage :
-
CI1Premiers pas (2/2)
-
Langage :
- mise en œuvre des notions présentées en CM1.
-
Algorithmique :
- plus grand commun diviseur,
- tri à bulle,
- tri par insertion.
-
Langage :
-
CI2Méthodes de classe
-
Langage :
- définition et appel de méthodes de classe,
- notion de cadre d'appel et de variables locales,
- passage par valeur, passage par référence,
-
Algorithmique :
- tri fusion,
- tri rapide.
-
Langage :
-
CI3Structures de données
-
Langage :
- les structures de données en Java,
- notion de classe, d'objet, d'instance et de référence,
- tableaux de structures,
- appels de méthodes de classe et passage par référence,
-
Algorithmique :
- le tableau extensible,
- la liste chaînée.
-
Langage :
-
CI4Méthodes d'instance
-
Langage :
- les méthodes d'instance,
- les packages.
-
Algorithmique :
- structure d'arbre
- l'arbre binaire de recherche.
- parcours d'arbre
-
Langage :
-
CI5Programmation objet
-
Langage :
- notion de programmation orientée objet,
- le constructeur,
- la visibilité.
-
Algorithmique :
- graphe, parcours en profondeur, plus court chemin.
- tas binaire
-
Langage :
-
CI6Héritage
-
Langage :
- héritage, interface, classes abstraites,
- sur et sous-typage,
-
Algorithmique :
- arbre de syntaxe abstrait,
- principes d'un interpréteur.
- arbre couvrant minimal
-
Langage :
-
CI7Classes génériques
-
Langage :
- les classes génériques,
-
Algorithmique :
- la liste doublement chaînée circulaire,
- la table de hachage.
- les ensembles
- les files et les piles
- moteur de recherche
-
Langage :
-
CI8Exceptions
-
Langage :
- les exceptions,
- les bibliothèques
java.util
,java.io
etjava.net
.
-
Algorithmique :
- principes d'un serveur Web.
-
Langage :
-
CI9Classes anonymes
-
Langage :
- les classes anonymes,
- la bibliothèque
JavaFX
.
-
Algorithmique :
- Modélisation d'IA
- Minimax/Élagage AlphaBeta
- A*
- MCTS
- principes d'un petit jeu vidéo.
-
Langage :
CM : Cours Magistral CI : Cours Intégré