CSC 3101 – Algorithmique et langage de programmation
Portail informatique
Liens utiles
Présentation
Planning
Logiciels à installer
Modalités du contrôle
Annales
2017 – 2018
CF1
CF2
2018 – 2019
CF1
2020 – 2021
CF1
2021 – 2022
CF1
CF2
CF2 - Solution
2022 – 2023
CF1
CF1 - Solution
CF2
2023 – 2024
CF1 - Sujet
CF1 - Solution
CF2 - Sujet
CF2 - Solution
2024 – 2025
CF1 - Sujet
CF1 - Solution
Supports à imprimer
Cours et TP (pdf)
TPs (html)
Kahoot! (html)
Documentation Java
Pour jouer encore plus
CodinGame
HackerRank
Supports
CM1
Premiers pas (1/2)
Introduction
La complexité
La programmation et l'IA
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é.
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,
CI1
Premiers pas (2/2)
Introduction TP1
TP
– 2h30
Langage :
mise en œuvre des notions présentées en CM1.
Algorithmique :
plus grand commun diviseur,
tri à bulle,
tri par insertion.
tri fusion,
tri rapide.
CI2
Structures de données
Structures de données
– 45mn
TP
– 2h
CC 1
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.
CI3
Méthodes d'instance
Méthodes d'instance
– 30mn
Les packages
– 10mn
TP
– 2h10
Langage :
les méthodes d'instance,
les packages.
Algorithmique :
structure d'arbre
l'arbre binaire de recherche.
parcours d'arbre
CI4
Programmation objet
Programmation orientée objet
– 30mn
TP
– 2h20
CC 2
Langage :
notion de programmation orientée objet,
le constructeur,
la visibilité.
Algorithmique :
graphe, parcours en profondeur, plus court chemin.
tas binaire
CI5
Héritage
Héritage
– 45mn
Exemple du cours
TP
– 2h
Langage :
héritage, interface, classes abstraites,
sur et sous-typage,
Algorithmique :
arbre de syntaxe abstrait,
principes d'un interpréteur.
arbre couvrant minimal
CI6
Classes génériques
Classes génériques
– 20mn
TP
– 2h30
CC 3
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
CI7
Exceptions
Exceptions
– 20mn
Exemple du cours
Les collections
– 30mn
Fiches algorithmiques et structures de données
TP
– 2h00
Langage :
les exceptions,
les bibliothèques
java.util
,
java.io
et
java.net
.
Algorithmique :
principes d'un serveur Web.
CI8
Classes anonymes
Classes anonymes
– 20mn
TP
– 2h40
Langage :
les classes anonymes,
la bibliothèque
JavaFX
.
Algorithmique :
Principes d'un petit jeu vidéo.
CI9
Révisions
TP
– 2h40
CC 4
Algorithmique :
Modélisation d'IA
Minimax/Élagage AlphaBeta
A*
MCTS
Les algorithmes
Les algorithmes de base
Plus grand commun diviseur
Calculette
Histogramme
Palindrome et anacycliques
Sudoku
Les algorithmes de tri
Tri à bulles
Exercice
Illustration dansante
Tri insertion
Exercice
Illustration dansante
Tri fusion
Exercice
Illustration dansante
Tri rapide
Exercice
Illustration dansante
Les structures de données
Le tableau extensible
La liste chaînée
La liste doublement chaînée circulaire
L'arbre binaire de recherche
La table de hachage
Les graphes
Parcours en profondeur
Plus court chemin
Les bibliothèques Java
Les collections
La bibliothèque JavaFX
Les applications
Petit interpréteur
Serveur Web
Jeu vidéo
CI8 : Exemple du cours
Gestion d'exceptions
Test.java