Logo ÉTS
Session
Cours
Responsable(s) Roberto Erick Lopez Herrejon

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Roberto Erick Lopez Herrejon


PLAN DE COURS

Automne 2025
LOG100 : Programmation et réseautique en génie logiciel (4 crédits)





Préalables
Aucun préalable requis
Unités d'agrément




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é



Descriptif du cours
Ce cours présente les notions fondamentales en programmation et en réseautique nécessaires à l’ingénieur en génie logiciel. Il est constitué de deux modules.

Au terme du premier module spécifique à la programmation, l’étudiante ou l'étudiant sera en mesure d’implémenter une application orientée objet utilisant les algorithmes de base et les structures de données appropriées.

Retour rapide sur la programmation orientée objet : classe, objet, interface, héritage, composition, encapsulation et polymorphisme. Structures de données requises pour la programmation en génie logiciel. Algorithmes de base : Récursivité (diviser pour régner) et retour en arrière (backtracking). Gestion des entrées/sorties : sérialisation des données.

Au terme du second module spécifique à la réseautique, l’étudiante ou l'étudiant sera en mesure de comprendre et d’expliquer les concepts fondamentaux (théoriques et pratiques) de la communication entre ordinateurs.

Introduction des concepts fondamentaux de la communication entre ordinateurs et des réseaux de télécommunication; protocoles de la couche réseau, couche transport et couche application. Architectures réseaux : modèles de référence usuels, protocoles de la couche physique, couche liaison et couche réseau. Principes de transport et contrôle des données dans les réseaux. Protocoles de communication au niveau application.



Objectifs du cours

Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure de: 

Partie Programmation

Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure de:

  • Expliquer les  concepts fondamentaux de la programmation orientée objet et leur réalisation dans un langage de programmation. 
  • Implémenter une application orientée objet en utilisant des algorithmes de base et les structures de données appropriées.

Partie Réseautique

Au terme de ce cours, l’étudiante ou l’étudiant sera en mesure de:

  • Expliquer les principes fondamenteaux des réseaux informatiques.
  • Identifier les exigences des application réseaux en termes de performance et des fiabilité.
  • Décrire le fonctionnement des protocoles les plus populaires gérant les différentes couches de la pile protocolaire de l'Internet.



Stratégies pédagogiques

Chacune des deux (2) parties comprend six (6) semaines de cours à raison de trois (3) heures de cours magistral par semaine. Les principes abordés seront accompagnés d’exemples concrets, d’exercices pratiques et/ou de quiz. Chacune des deux (2) parties comprend aussi un examen de trois (3) heures.

Des laboratoires hebdomadaires de trois (3) heures permettront aux étudiants de mettre en application les concepts théoriques vus en cours.




Utilisation d’appareils électroniques

Un ordinateur portable est requis pour les différentes évaluations individuelles : les examens intra et final et les différents quiz du cours.




Horaire
Groupe Jour Heure Activité
01 Mercredi 08:30 - 12:00 Activité de cours
Vendredi 13:30 - 16:30 Laboratoire
02 Mardi 08:30 - 12:00 Activité de cours
Jeudi 08:30 - 11:30 Laboratoire
03 Mardi 13:30 - 17:00 Activité de cours
Jeudi 13:30 - 16:30 Laboratoire
05 Mardi 08:30 - 11:30 Laboratoire
Jeudi 08:30 - 12:00 Activité de cours
06 Mardi 08:30 - 11:30 Laboratoire
Jeudi 08:30 - 12:00 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Imen Benzarti Activité de cours imen.benzarti@etsmtl.ca A-2716
01 Rami Langar Activité de cours rami.langar@etsmtl.ca A-4618
01 Laboratoire
01 Laboratoire
02 Rami Langar Activité de cours rami.langar@etsmtl.ca A-4618
02 Amira Morsli Activité de cours amira.morsli.1@ens.etsmtl.ca
02 Laboratoire
02 Laboratoire
03 Souad Hadjres Activité de cours cc-Souad.Hadjres@etsmtl.ca A-4526
03 Charles Pillet Activité de cours charles.pillet@lacime.etsmtl.ca
03 Firmin Mah Laboratoire cc-Firmin.Mah@etsmtl.ca A-4526
03 Charles Pillet Laboratoire charles.pillet@lacime.etsmtl.ca
05 Rami Langar Activité de cours rami.langar@etsmtl.ca A-4618
05 Amira Morsli Activité de cours amira.morsli.1@ens.etsmtl.ca
05 Laboratoire
06 Souad Hadjres Activité de cours cc-Souad.Hadjres@etsmtl.ca A-4526



Cours

Partie Programmation (21 heures dont 3 heures d'examen)

  1. Introduction au génie logiciel (2 heures)
    • Définitions
    • Logiciel
    • Génie logiciel
    • Cycles de vie et cycles de développement
    • Langages de programmation : sémantique, syntaxe, typage et historique
  2. Concepts fondamentaux de programmation en Java (2 heures)
    • Variables, conditions, opérateurs, méthodes
    • Boucles, structures, sauts, types primitifs, Javadoc
    • Tableaux, syntaxe
  3. Concepts de programmation orientée objet (10 heures)
    • Concepts de classe et objet
    • Portée et visibilité des variables
    • Références et abstraction
    • Héritage, polymorphisme et encapsulation
    • Exceptions
    • Interfaces, classes abstraites, classes et objets anonymes
    • Algorithmes de base et récursivité
    • Analyse de complexité
    • Structures de données
  4. Introduction à la conception orientée objet (4 heures)
    • Diagrammes UML de classes et de séquences
    • Critères de qualité de l'interface d'une classe
    • Cohésion et couplage
    • Programmation par contrats

Partie Réseautique (21 heures dont 3 heures d'examen)

  1. Notions de base des réseaux informatiques (4.5 heures)
    • Réseaux d’accès
    • Supports de transmission
    • Délais dans les réseaux
    • Modèle OSI
    • Pile de protocoles de l’Internet
    • Équipements d’interconnexion
  2. Protocoles de la couche Application (3.5 heures)
    • Architecture des applications réseaux
    • Exigences en matière de performance et de fiabilité
    • Exemples d’applications Internet
    • Programmation réseau (socket)
  3. Protocoles de la couche Transport (4.5 heures)
    • Modes de connexions
    • Transmission en mode non connecté (UDP)
    • Transmission en mode connecté (TCP)
    • Contrôle de flux
    • Contrôle de congestion
  4. Couche réseau et routage (4.5 heures)
    • Protocole IP
    • Adressage
    • Routage
    • Fonctionnement du NAT/PAT
  5. Couche liaison de données (4 heures)
    • Protocoles d’accès multiples
    • Ethernet
    • Protocole ARP

Ces heures sont des heures approximatives d’enseignement pour chaque sujet.

NOTE : L'ordre et le contenu peut être modifié en cours de session en fonction de circonstances particulières




Laboratoires et travaux pratiques

Partie Programmation

  • 6 séances de laboratoire individuel (pour un total de 18 heures)
    • Laboratoire 1 : Programmation de base en Java
    • Laboratoire 2 : Classes, méthodes et tableaux
    • Laboratoire 3 : Classes, héritage et polymorphisme
    • Laboratoire 4 : Structures de données
    • Laboratoire 5 : Conception et implémentation d’une application en Java
    • Laboratoire 6 : Réutilisation de code source, extension de fonctionnalités

Partie Réseautique

  • 6 séances de laboratoire individuel (pour un total de 18 heures)
    • Laboratoire 1 : Configuration des équipements réseau & Mesure de performances
    • Laboratoire 2 : Modèle en couches et encapsulation des données
    • Laboratoire 3 : Couche Application
    • Laboratoire 4 : Couche Transport & Réseau
    • Laboratoire 5 : Routage IP
    • Laboratoire 6 : Ethernet, ARP et NAT



Utilisation d'outils d'ingénierie

Partie Programmation

L'étudiant-e se familiarise avec des environnements de développement, des compilateurs / interpréteurs pour le langage Java, des dévermineurs, la ligne de commande, etc.

Partie Réseautique

L’étudiant-e va se familiariser avec les différentes commandes pour tester les réseaux et mesurer leurs performances (par exemple, nslookup, tracert, ping), l’outil d’analyse des paquets Wireshark ainsi que l’outil de simulation et de configuration des réseaux Cisco packet tracer.




Évaluation

Pondération

  Programmation Réseautique
Quiz 5 % 5 %
Laboratoires 20 % 20 %
Examen 25 % 25 %

À noter qu’une moyenne pondérée inférieure à 50 % dans les examens et les quiz entraine automatiquement un échec au coursCeci est une condition nécessaire mais non suffisante pour réussir ce cours.

Dates des quiz et examens

 

Groupe 01 02 03 05 06
Partie 1 Réseautique Réseautique Réseautique Réseautique Réseautique
Quiz 1  26 septembre  25 septembre 23 septembre 30 septembre 2 octobre
Examen 1 22 octobre    21 octobre 21 octobre 23 octobre 23 octobre
Partie 2 Programmation Programmation Programmation Programmation Programmation
Quiz 2 19 novembre 25 novembre 18 novembre 27 novembre 20 novembre
Examen 2 Voir calendrier des examens finaux

 




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 22 octobre 2025
2, 3 21 octobre 2025
5, 6 23 octobre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.



Documentation obligatoire

N/A




Ouvrages de références

Partie Programmation

  • Eckel, B., Thinking in Java. Upper Saddle River (NJ), Prentice Hall, 2000 http://www.mindview.net/Books/TIJ/.
  • Sestoft, P. Java Precisely. Third edition. MIT Press, 2016.
  • Bloch, J. Effective Java. Third edition. Addison-Wesley Professional, 2017.
  • Delannoy, C. Programmer en Java. Eyrolles, 2018.
  • Cay S. Horstmann, Core Java, Volume I: Fundamentals, Addison-Wesley Professional, 2021

Partie Réseautique

  • Kurose‚ J.F. et Ross‚ K.W.‚ Computer Networking‚ a Top-Down Approach‚ 8eme ed‚ 2020.
  • Tanenbaum, A. et Wetherall, D., Réseaux, 5ème  édition, 2010. ISBN: 978-2744075216.



Adresse internet du site de cours et autres liens utiles

N/A