COURS // INF7331 Programmation procédurale et construction de systèmes

Mes cours favoris

Ce système permet de sélectionner vos cours favoris en prévision de votre inscription qui se fait sur le portail étudiant.

Trimestre Cours Groupe
  • Cycle : 2
  • Nombre de crédits : 3
  • Discipline : Informatique

Objectifs

Ce cours vise à approfondir la programmation procédurale, la construction des logiciels et leur intégration au sein des systèmes embarqués, tant au niveau théorique que pratique, en relation avec la conception et le développement des systèmes embarqués. En plus de former les étudiants à la programmation à l'aide d'un langage de programmation système impératif et procédural, les techniques, outils modernes et bonne pratiques pour la construction et la maintenance de logiciels sont utilisés.

Sommaire du contenu

Notions de base de la programmation procédurale et impérative en environnement embarqué: définition et déclaration, portée et durée de vie, fichier d'interface, stuctures de contrôle, unités de programme et passage des paramètres, macros, compilation conditionnelle.

Décomposition en modules, composants et caractéristiques facilitant les modifications: cohésion et couplage, encapsulation et dissimulation de l'information, décomposition fonctionnelle. Assertions et conception par contrats. Programmation concurrente: processus et fil d'exécution (thread), communication et synchronisation.

Style de programmation et bonne pratiques: conventions, documentation interne, gabarits.

Tests (tests unitaires, d'intégration, d'acceptation, systèmes; boîte noire vs. boîte blanche, cadres pour l'exécution des tests; couverture). Outils d'exécution automatique des tests.

Déboggage de programmes (erreurs typiques, traces, outils).

Évaluation et amélioration des performances: profils d'exécution, améliorations asymptotiques vs. optimisations, outils.

Maintenance de logiciels (types de maintenance, techniques de base, remodelage, automatisation des tests de régression).

Techniques et outils pour la gestion de la configuration et l'assemblage de logiciels. Commandes, utilitaires et scriptage. Recherche et manipulation de texte; variables, structures de contrôle, fonctions, expressions régulières et filtrage par motif.

Compilation, code exécutable, compilation croisée, déploiement. Environnements de développement et chaînes de compilation (toolchains). Utilisation de bibliothèques publiques et normalisées.

Modalité d'enseignement

Cours de 3 heures et un laboratoire de 3 heures / semaine.

Les modalités et horaires présentés sont à jour au moment de la recherche. Ils n'impliquent pas d'engagement ni d'obligation de la part de l'UQAM d'offrir ces cours. L'UQAM se réserve également le droit de modifier les modalités et les lieux des cours qu'elle offre.

Places disponibles réservées à votre programme
(Étudiants libres: entrez le code 9999)
Ce cours n'est pas offert lors de ce trimestre.

Les modalités et horaires présentés sont à jour au moment de la recherche. Ils n'impliquent pas d'engagement ni d'obligation de la part de l'UQAM d'offrir ces cours. L'UQAM se réserve également le droit de modifier les modalités et les lieux des cours qu'elle offre.

Places disponibles réservées à votre programme
(Étudiants libres: entrez le code 9999)
Ce cours n'est pas offert lors de ce trimestre.

Les modalités et horaires présentés sont à jour au moment de la recherche. Ils n'impliquent pas d'engagement ni d'obligation de la part de l'UQAM d'offrir ces cours. L'UQAM se réserve également le droit de modifier les modalités et les lieux des cours qu'elle offre.

Places disponibles réservées à votre programme
(Étudiants libres: entrez le code 9999)
Ce cours n'est pas offert lors de ce trimestre.
Retour en haut de page