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
CF2 - Sujet
CF2 - 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
– 30mn
Premiers pas
– 1h15
Les tableaux
– 45mn
La complexité
– 30mn
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é.
CI1
Premiers pas (2/2)
TP
– 2h30
Devoir maison - Rendu : 27 octobre 2024 à 23:59
– 20mn
Langage :
mise en œuvre des notions présentées en CM1.
Algorithmique :
plus grand commun diviseur,
tri à bulle,
tri par insertion.
CI2
Méthodes de classe
Méthodes de classe
– 40mn
TP
– 2h10
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.
CI3
Structures de données
Structures de données
– 45mn
TP
– 2h
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.
CI4
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
CI5
Programmation objet
Programmation orientée objet
– 30mn
TP
– 2h20
Langage :
notion de programmation orientée objet,
le constructeur,
la visibilité.
Algorithmique :
graphe, parcours en profondeur, plus court chemin.
tas binaire
CI6
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
CI7
Classes génériques
Classes génériques
– 20mn
TP
– 2h30
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
CI8
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.
CI9
Classes anonymes
Classes anonymes
– 20mn
TP
– 2h40
TP (optionnel)
– 2h40
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.
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