Logo ÉTS
Session
Cours
Responsable(s) Catherine Laporte, Kim Khoa Nguyen

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement


Préalables

Programme(s) : 7483
             
  Profils(s) : Électricité, Informatique, Technologie de systemes ordines  
             
    ELE116    
             
Programme(s) : 7694
             
  Profils(s) : Tous profils  
             
    ELE216    
             
Programme(s) : 7483
             
  Profils(s) : Électricité, Technologie de systemes ordines  
             
    INF147    
             
 

Unités d’agrément

25,0 % 75,0 %
Total d'unités d'agrément : 64,8

Qualités de l’ingénieur

 













Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué

- Survolez les icones pour voir le nom de chaque qualité.
- Cliquez sur les icones pour voir la description.

Descriptif du cours

Étudier les caractéristiques des algorithmes dans le but d’obtenir une réalisation efficace sur ordinateur.

Présentation des algorithmes de base comme les algorithmes voraces, des techniques «diviser pour régner», de la programmation dynamique et d’exploration des graphes. Notion de complexité d'algorithme. Techniques de programmation. Récursivité, retour-arrière, allocation dynamique, recherche de solutions. Structures de données : listes, piles, files, arborescences. Algorithmes de tri. Techniques de recherche. Algorithmes élémentaires de manipulation d'arbres. Différents algorithmes sont développés pour le même problème et comparés à partir de moyens analytiques et de simulations.

Séances de laboratoire visant à développer des logiciels appliquant les principes mentionnés précédemment selon des techniques reconnues de génie logiciel.

Précision sur les préalables : un préalable seulement est requis pour cours le ELE440, soit ELE116 OU INF145.





Objectifs du cours

À la fin de ce cours, l’étudiant(e) aura assimilé les notions suivantes :

  • structures de données élémentaires : liste, pile, file, tableau, arbre, graphe, etc.
  • techniques d’analyse de performance des algorithmes
  • techniques de base de conception d’algorithmes : récursivité, algorithmes gloutons, programmation dynamique, etc.
  • algorithmes de recherche et d’extraction de l’information
  • algorithmes de tri classiques.

À la fin du cours, l’étudiant(e) sera capable de :

  • analyser la performance des algorithmes pour faire un choix réfléchi entre divers algorithmes
  • choisir des structures de données judicieuses et implanter des algorithmes de manière à obtenir de bonnes performances
  • concevoir des algorithmes simples en utilisant les techniques classiques de conception
  • analyser les résultats et faire des améliorations algorithmiques si possible et nécessaire.

Stratégies pédagogiques

Un (1) cours magistral par semaine (3 heures). Des exemples seront faits en classe pour permettre aux étudiant(e)s d’assimiler les concepts théoriques.

 

Une (1) séance de laboratoire par semaine (3 heures).  Au laboratoire, les étudiants travaillent en équipe de deux ou trois.  Les laboratoires contiennent tous une composante majeure d’implémentation d’algorithmes ; l’étudiant doit donc maîtriser le langage de programmation C. 

 

Des séances de laboratoire pourraient être interverties avec des séances de cours afin de mieux arrimer le contenu des laboratoires à la progression des notions vues en cours.



Utilisation d’appareils électroniques

L’utilisation d’appareils électroniques pour l’enregistrement des cours ou des laboratoires   doit faire l’objet d’une approbation par le professeur.  L’approbation ne sera donnée que pour des motifs majeurs.



Coordonnées du personnel enseignant le cours

* Double-cliquez sur le champ pour modifier le contenu