le Programme de licence en mathématiques

Algorithmique et programmation avancée I(MAT231)

Nom du Cours Semestre du Cours Cours Théoriques Travaux Dirigés (TD) Travaux Pratiques (TP) Crédit du Cours ECTS
MAT231 Algorithmique et programmation avancée I 3 3 0 0 3 5
Cours Pré-Requis
Conditions d'Admission au Cours
Langue du Cours Français
Type de Cours Obligatoire
Niveau du Cours Licence
Enseignant(s) du Cours Muhammed ULUDAĞ muhammed.uludag@gmail.com (Email)
Assistant(e)s du Cours
Objectif du Cours L'objectif de ce cours est d'améliorer les capacités de programmation des étudiants en étudiant certains algorithmes courants, leurs implémentations et leurs applications aux certaines problèmes de calcul.
Contenus Revue de programmation (avec Python): variables, conditions, boucles, fonctions
Structures de données: liste, array multidimensionnel, arbre
Algorithmes: recherche, tri, fonctions d'agrégation
Recursion: calcul numérique, traversée d'arbre (inorder / preorder / postorder)
Analyse algorithmique: classes de complexité temps / espace
Acquis d'Apprentissage du Cours -étant donnée un problème, les étudiants seront capables d'identifier les composants logiques du problème, leurs interdépendances et les algorithmes qui peuvent être utilisés pour résoudre chacun de ces composants.
-étant donnée un algorithme, les étudiants seront capables de comparer leurs performances et leurs caractéristiques avec d'autres algorithmes de la même classe.
-étant donnée un code source, les étudiants seront capables d'identifier les structures de données et les algorithmes implémentés dans le code source donné.
Méthodes d'Enseignement lecture théorique, devoir
Ressources The Art of Computer Programming - Donald Knuth
Python - How to Program - Deitel
Data Structures and Algorithms Using Python - Rance D. Necaise
Data Structures and Algorithms with Object-Oriented Design Patterns in Python - Bruno R.Preiss
Imprimer le contenu du cours
Intitulés des Sujets Théoriques
Semaine Intitulés des Sujets
1 Revue de programmation: valeur, expression, variable, type de données, affectation, état du programme, boucles énumératif
2 Revue de programmation: conditionnelles, branchement d'exécution, boucles conditionnelles, compositions des boucles et des conditionnelles
3 Revue de programmation: fonctions, paramètres, valeur de retour, flux de code, cadre de pile, cadres des variables
4 Séquences, motifs, motifs multidimensionnels par les indices des boucles, dépendance des données
5 Implémentation des fonctions d'agrégation: min, max, somme, compte, moyenne, std.dev, unique
6 Tri des valeurs sur une liste: approche naïve, tri par insertion, tri à bulles, tri par fusion
7 Partielle
8 Récursivité: limiter par profondeur, flux d'appels de fonction, exemples: factoriel, fibonacci, tri rapide
9 Arbres: traversée première profondeur, traversée première en largeur, traversée en-ordre / pré-ordre / post-ordre
10 Pile, queue, relation de pile avec récursion, suppression de récursion
11 Partielle
12 Algorithmes numériques: génération de nombres aléatoires, recherche numerique des racines, régression linéaire
13 Recherche: recherche simple, recherche binaire, recherche récursive
14 Complexité temps / espace, classes de complexité, comparaison d'algorithmes
Intitulés des Sujets Pratiques
Semaine Intitulés des Sujets
Contribution à la Note Finale
  Numéro Frais de Scolarité
Contribution du contrôle continu à la note finale 2 40
Contribution de l'examen final à la note finale 1 60
Toplam 3 100
Contrôle Continu
  Numéro Frais de Scolarité
Devoir 0 0
Présentation 0 0
Examen partiel (temps de préparation inclu) 2 40
Projet 0 0
Travail de laboratoire 0 0
Autres travaux pratiques 0 0
Quiz 0 0
Devoir/projet de session 0 0
Portefeuille 0 0
Rapport 0 0
Journal d'apprentissage 0 0
Mémoire/projet de fin d'études 0 0
Séminaire 0 0
Autre 0 0
Toplam 2 40
No Objectifs Pédagogiques du Programme Contribiton
1 2 3 4 5
1 comprend les principes de la méthode hypothético-déductive; s'est interrogé systématiquement sur la pertinence et la justesse des énoncés mathématique qu'il a rencontré ou produit; X
2 sait énoncer et utiliser judicieusement les concepts et les résultats des mathématiques de base; X
3 maîtrise les techniques de calcul et les algorithmes courants; possède une bonne intelligence de calcul pour les mettre en œuvre; est capable d'identifier les outils pertinents, parmi ceux qu'il connaît, pour la résolution d'un problème​, et ​est capable de juger s’il ne possède pas ces outils; X
4 est capable d'exprimer de manière organisée, tant à l'écrit qu'à l'oral, ses idées​ ​mathématiques; X
5 a réalisé les relations essentielles qui lient entre eux ces concepts et résultats; est capable de passer de l'un à l'autre de divers mode de représentation des objets mathématiques (dessins, formules, énoncés précis, heuristiques, collection d'exemples,...); X
6 a poursuivi, en autonomie, une stratégie d'apprentissage guidée; s'est engagé dans des stratégies de résolution d'un problème complexe; X
7 a les bases théoriques et pratiques suffisantes en informatique pour pouvoir poursuivre l'apprentissage d'un langage de programmation; X
8 s'est interrogé sur la pertinence de la modélisation mathématique et l'usage des outils mathématiques dans les sciences naturelles et dans le monde professionnel; a été sensibilisé à l'évolution historique des concepts mathématiques; X
9 a eu l'opportunité de choisir librement certains de ses cours (de mathématiques ou d'autres disciplines) et a, à l'occasion, appris à prendre ses responsabilités et à organiser son projet éducatif par lui-même; X
10 a une maîtrise de la langue française et d'une autre langue étrangère suffisante pour pouvoir poursuivre des études ou travailler à l'étranger. X
Activités Nombre Durée Charge totale de Travail
Durée du cours 14 3 42
Préparation pour le cours 14 2 28
Devoir 14 1 14
Examen partiel (temps de préparation inclu) 1 10 10
Examen final (temps de préparation inclu) 1 20 20
Charge totale de Travail 114
Charge totale de Travail / 25 4,56
Crédits ECTS 5
Scroll to Top