Algorithmics and programming are fundamental skills for engineering students, data scientists and analysts, computer hobbyists or developers.
Learning how to program algorithms can be tedious if you aren’t given an opportunity to immediately practice what you learn.
We’ll go over data-structures, basic and advanced algorithms for graph theory, complexity/accuracy trade-offs, and even combinatorial game theory.
Course Organization
Fundamentals of Graph Theory
- Addressing a Computational Problem
- Graphs and Paths
- Representing Graphs
- Good programming practices
Graph Traversal, Routing, Queuing Structures
- Graph Traversal
- Routing tables
- Queuing Structures
Shortest Paths & Algorithmic Complexity
- Dijkstra's Algorithm
- Min-heaps
- Algorithm complexity
NP-Completeness & Backtracking
- Traveling Salesman Problem
- Bruteforce and Backtracking to solve NP-Complete Problems
- Problem Complexity and NP-Completeness
Accuracy/Complexity tradeoff
- Heuristics
- Greedy Algorithms
- Approximate Solutions
Game Theory & Winning Strategies
- Combinatorial Game Theory
- Computing Winning Positions in a Game
Instructional Goals
By the end of the course, you should know:
- Ways to express a computational problem (such as pathfinding) using graph theory
- How to choose the appropriate algorithm to solve the given computational problem
- How to code the algorithmic solution in python
- Methods for evaluating the proposed solution in terms of its complexity (amount of resources, scalability) or performance (accuracy, latency)
Assessment Methods
Each week includes
- Practice Questions
- A Quiz
- A Lab
Practice Questions don't count towards your final grade, but the Quizzes and Labs do. The quizzes are worth 50% of your overall grade and the labs 50%.
You have two attempts for the each question in the Practices Questions and Quizzes, but an unlimited number of attempts for the Labs.
To quality for a badge, you must achieve a total grade of 45% or higher. If not, you will receive a "watcher" badge. Badges are available on your profile.
- Quizzes count for 50% of the final grade.
- Labs count for 50% of the final grade.
Contacts and Support
Technical Issues
If you encounter a problem or for any technical question, you can contact referents-pedagotheque@imt.fr. We will make every effort to respond to you within 2 working days.
Free Listeners
If you take this course as a free auditor, the forums will not be active and you will not receive a response from the educational team. You can still chat there with other free listeners.
Also, if you encounter a problem or for any technical
question, you can contact referents-pedagotheque@imt.fr. We will make every effort to respond to you within 2 working days.
Class Use (with your teacher)
If you are taking this course under the supervision of one of your teachers, this one is free to use the course forums or any other communication channel that suits them better. Follow the directions given to you to ask your questions.
Also,
if you encounter a problem or for any technical question, you can contact referents-pedagotheque@imt.fr. We will make every effort to respond to you
within 2 working days.
Financial Support
Ce cours aborde les fondamentaux de la programmation en Python (Structures de base / conditionnelles / répétitives, Fonctions, Structures de données, Fichiers). Il est organisé en séances de cours et évaluations et de Travaux Pratiques.
Plan du cours
L'algorithmique
- Notion de problème, d’algorithme
- Algorithmes informatiques
- Formuler un algorithme
- Structures fondamentales
- Analyse descendante
Programmation en Python
- Présentation brève du langage Python
- Distributions de Python
- Distribution Anaconda
- Utilisation en mode console
- Utilisation en mode script
Structures de base
- Le langage
- Variables, types et valeurs
- Déclarations : Variables, Constantes
- Structure générale
- Interactions avec l’extérieur
- Expressions arithmétiques
- Affectations
- Trace d’exécution
- Compléments et Spécificités
Structures conditionnelles
- Conditions
- Sélectives Si
- Sélective Si-Sinon-Si
- Arbre de choix
- Sélective Selon
Structures répétitives
- Structures répétitives
- Schéma itératif
Algorithmes paramétrés
- Fonctions et procédures de test
- Procédures et paramètres formels
Listes et tableaux
- Les listes
- Tableau unidimensionnel
- Tableaux multidimensionnels
Structuration de l'information
- Le type structuré
- Le type Chaîne
Fichiers
- Présentation
- Primitives
- Python: spécificités
Objectifs pédagogiques
Information non disponible.
Modalités d'évaluation
En semaines 2, 3, 4, 5, 6, 7 et 8, des exercices vous sont proposés. Vous ne disposez que d'un seul essai. Chaque question vaut 1 point et le score total est ramené sur 10.
Également en semaines 3,
4, 5, 6, 7 et 8, des TP vous sont proposés. Ils sont notés sur 100.
Un badge de suivi avec succès est attribué aux étudiants obtenant une note supérieure ou égale à 70%. Dans le cas contraire, un badge de suivi vous sera remis. Ce badge sera disponible dans votre profil.
- La moyenne des quiz vaut 30% de la note finale.
- La moyenne des TP vaut 70% de la note finale.
Contacts et accompagnement
Questions d'ordre technique
Si vous rencontrez un problème ou pour toute question d'ordre technique, vous pouvez contacter referents-pedagotheque@imt.fr. Nous mettrons tout en œuvre pour vous répondre sous 2 jours ouvrés.
Auditeurs libres
Si vous suivez ce cours en auditeur libre, les forums ne seront pas actifs et vous n'y obtiendrez pas de réponse de l'équipe pédagogique. Vous pouvez néanmoins y discuter avec d'autres auditeurs libres.
Également, si vous rencontrez un
problème ou pour toute question d'ordre technique, vous pouvez contacter referents-pedagotheque@imt.fr. Nous mettrons tout en œuvre pour vous
répondre sous 2 jours ouvrés.
Utilisation en classe (avec votre enseignant)
Si vous suivez ce cours sous la supervision de l'un de vos enseignants, ce dernier est libre d'utiliser les forums du cours ou tout autre canal de communication qui lui conviendrait mieux. Suivez les indications qu'il vous aura données pour
lui poser vos questions.
Également, si vous rencontrez un problème ou pour toute question d'ordre technique, vous pouvez contacter referents-pedagotheque@imt.fr.
Nous mettrons tout en œuvre pour vous répondre sous 2 jours ouvrés.