Logo ÉTS
Session
Cours
Responsable(s) Mohamed Faten Zhani, Sègla Jean-Luc Kpodjedo

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Mohamed Faten Zhani, Sègla Jean-Luc Kpodjedo


PLAN DE COURS

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


Modalités de la session d’automne 2020
Pour assurer la tenue de la session d’automne 2020, les modalités suivantes seront appliquées :


La plupart des cours de la session d'automne seront donnés à distance. Les autres seront donnés en présence. Cette information vous a déjà été communiquée.

L’étudiant inscrit à un cours à distance doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus.

Les cours à distance pourraient être enregistrés, à la discrétion de l’ÉTS. Le cas échéant, les enregistrements de cours pourraient notamment être rendus accessibles aux étudiants par le biais notamment du portail de l’ÉTS.

La notation des cours sera la notation régulière prévue aux règlements des études de l'ÉTS.

Pour les cours à distance, les examens (intra, finaux) se feront normalement à distance. Leur surveillance se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du Bureau canadien d’agrément des programmes de génie (BCAPG) afin d’assurer la validité des évaluations.
 
Le contexte actuel oblige bien sûr l’ÉTS à envisager la possibilité d’une deuxième vague de la pandémie de COVID-19, laquelle pourrait entraîner, après le début de la session d’automne 2020, un resserrement des directives et recommandations gouvernementales. Nous vous assurons que l’ÉTS se conformera aux règles en vigueur afin de préserver la santé publique et que, si requis, elle pourrait aller jusqu’à interdire l’accès physique au campus universitaire et ordonner la dispense en ligne de toutes les activités d’enseignement et d’évaluation pour la durée restante de la session d’automne 2020.

Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.

Si vous ne consentez pas aux modalités décrites précédemment, vous devez vous désinscrire de vos cours avant le 13 septembre et vous pourrez être remboursé.

Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous devez vous désinscrire avant le 25 septembre et vous pourrez être remboursé.

En demeurant inscrit, vous acceptez les modalités particulières de la session d'automne 2020.




Préalables
Aucun préalable requis
Unités d'agrément
Total d'unités d'agrément : 64,8 60,0 % 40,0 %




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’é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’é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

Partie Programmation

À la fin de la partie programmation, les étudiants devraient être en mesure de :

  • Démontrer une compréhension des concepts fondamentaux de la programmation orientée objet.
  • Implémenter une application orientée objet en utilisant des algorithmes de base et les structures de données appropriées.

Partie Réseautique

À la fin de la partie réseautique, les étudiants devraient être en mesure de :

  • Démontrer une compréhension des principes fondamentaux des réseaux informatiques (par exemple, modèle OSI, supports de transmission, équipements d’interconnexion).
  • Décrire le fonctionnement de quelques protocoles gérant les différentes couches de la pile protocolaire de l’Internet.
  • Identifier les exigences des applications réseaux en termes de performance et de fiabilité.



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

N/A




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Firmin Mah Activité de cours cc-firmin.mah@etsmtl.ca A-4526 Sur rendez-vous
01 Valentin Vervondel Activité de cours Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
01 Flora Belfix Laboratoire flora.belfix.1@ens.etsmtl.ca
01 Valentin Vervondel Laboratoire Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
02 Valentin Vervondel Activité de cours Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
02 Laaziz Lahlou Activité de cours cc-Laaziz.Lahlou@etsmtl.ca A-4526
02 Flora Belfix Laboratoire flora.belfix.1@ens.etsmtl.ca
02 Aziza Rais Laboratoire cc-Aziza.Rais@etsmtl.ca A-4526
02 Valentin Vervondel Laboratoire Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
03 Valentin Vervondel Activité de cours Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
03 Cédric St-Onge Activité de cours cc-Cedric.St-Onge@etsmtl.ca A-4526
03 Hind Errahmouni Laboratoire hind.errahmouni.1@ens.etsmtl.ca
03 Valentin Vervondel Laboratoire Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
04 Patrice Boucher Activité de cours cc-Patrice.Boucher@etsmtl.ca A-4526
04 Cédric St-Onge Activité de cours cc-Cedric.St-Onge@etsmtl.ca A-4526
04 Aziza Rais Laboratoire cc-Aziza.Rais@etsmtl.ca A-4526
04 Maxime Charland Laboratoire maxime.charland.1@ens.etsmtl.ca
05 Diala Naboulsi Activité de cours Diala.Naboulsi@etsmtl.ca A-4496 Sur rendez-vous
05 Patrice Boucher Activité de cours cc-Patrice.Boucher@etsmtl.ca A-4526
05 Cherif Boussetta Laboratoire cherif.boussetta.1@ens.etsmtl.ca
05 Maxime Charland Laboratoire maxime.charland.1@ens.etsmtl.ca
06 Ali Ouni Activité de cours Ali.Ouni@etsmtl.ca A-4483 Sur rendez-vous
06 Aris Leivadeas Activité de cours Aris.Leivadeas@etsmtl.ca A-3415 Sur rendez-vous
06 Hind Errahmouni Laboratoire hind.errahmouni.1@ens.etsmtl.ca
06 Islem Saidani Laboratoire islem.saidani.1@ens.etsmtl.ca
07 Firmin Mah Activité de cours cc-firmin.mah@etsmtl.ca A-4526 Sur rendez-vous
07 Chafika Tata Activité de cours cc-Chafika.TATA@etsmtl.ca A-2406 Sur rendez-vous
07 Firmin Mah Laboratoire cc-firmin.mah@etsmtl.ca A-4526 Sur rendez-vous
07 Flora Belfix Laboratoire flora.belfix.1@ens.etsmtl.ca
08 Valentin Vervondel Activité de cours Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous
08 Aziza Rais Activité de cours cc-Aziza.Rais@etsmtl.ca A-4526 Sur rendez-vous
08 Aziza Rais Laboratoire cc-Aziza.Rais@etsmtl.ca A-4526 Sur rendez-vous
08 Valentin Vervondel Laboratoire Valentin.Vervondel@etsmtl.ca A-3460 Les lundi et mercredi, sur rendez-vous



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.




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 et méthodes
    • 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 et interface graphique (GUI)

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 cours.

Dates des quiz et examens

Groupe 01 02 03
Partie 1 Programmation Programmation Réseautique
Quiz 1 vendredi 25 septembre 2020 mardi 22 septembre 2020 vendredi 25 septembre 2020
Examen 1 Voir date de l'examen intra Voir date de l'examen intra Voir date de l'examen intra
Partie 2 Réseautique Réseautique Programmation
Quiz 2 vendredi 20 novembre 2020 mardi 3 novembre 2020 vendredi 20 novembre 2020
Examen 2 Voir calendrier des examens finaux Voir calendrier des examens finaux Voir calendrier des examens finaux

 

Groupe 04 05 06
Partie 1 Programmation Réseautique Programmation
Quiz 1 jeudi 1er octobre 2020 vendredi 25 septembre 2020 jeudi 24 septembre 2020
Examen 1 Voir date de l'examen intra Voir date de l'examen intra Voir date de l'examen intra
Partie 2 Réseautique Programmation Réseautique
Quiz 2 jeudi 19 novembre 2020 vendredi 20 novembre 2020 jeudi 20 novembre 2020
Examen 2 Voir calendrier des examens finaux Voir calendrier des examens finaux Voir calendrier des examens finaux

 

Groupe 07 08
Partie 1 Réseautique Réseautique
Quiz 1 vendredi 25 septembre 2020 jeudi 1er octobre 2020
Examen 1 Voir date de l'examen intra Voir date de l'examen intra
Partie 2 Programmation Programmation
Quiz 2 vendredi 20 novembre 2020 jeudi 19 novembre 2020
Examen 2 Voir calendrier des examens finaux Voir calendrier des examens finaux

 




Dates des examens intra
Groupe(s) Date
1, 3, 5, 7 16 octobre 2020
2 20 octobre 2020
4, 8 22 octobre 2020
6 15 octobre 2020



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/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.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Plagiat et fraude
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 étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-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 les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Dispositions additionnelles

Pour les évaluations automatiques des travaux de programmation : la remise de code source visant à compléter des tests d'évaluation sans réaliser la tâche demandée est considérée comme une tentative de fraude.




Documentation obligatoire

N/A




Ouvrages de références

Partie Programmation

  • Horton, I., Beginning Java 2. SDK 1.5 Edition, Wrox Press Ltd., 2005.
  • Campione, M. et Walrath, K., The Java Tutorial. Second Edition, Addison-Wesley, 1998.
  • 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.
     

Partie Réseautique

  • Kurose, J.F. et Ross, K.W., Computer Networking, a Top-Down Approach, 6ème edition, ISBN-13: 978-013285620.
  • 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