Modalités de la session d’été 2022
Vous trouverez ci-dessous les modalités de la session d’été 2022. Vous devez les lire attentivement.
Pour assurer la tenue de la session d’été 2022, les modalités suivantes seront appliquées :
- Les activités d’enseignement de la session d’été 2022 comprendront des activités en présence et à distance, lesquelles seront ajustées en fonction de l’évolution de la situation socio-sanitaire.
- Pour les cours (ou séances de cours) donnés à distance, l’étudiant doit avoir accès à un ordinateur, un micro, une caméra et un accès à internet, idéalement de 10Mb/s ou plus. L’étudiant doit ouvrir sa caméra et/ou son micro lorsque requis, notamment pour des fins d’identification ou d’évaluation.
- Les cours (ou séances de cours) donnés à distance pourraient être enregistrés, afin de les rendre disponibles aux étudiants inscrits au cours.
- La notation des cours sera la notation régulière prévue aux règlements des études de l’ÉTS.
- Les examens (intra, finaux) se feront en présence, tant que la situation socio-sanitaire le permet.
- Le contexte actuel oblige bien sûr l’ÉTS à suivre de près l’évolution de la pandémie de COVID-19, laquelle pourrait entraîner, avant ou après le début de la session d’été 2022, 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 que toutes les activités d’enseignement et d’évaluation soient exclusivement données à distance pour tout ou partie de la session d’été 2022. Ainsi, si les examens (intra, finaux) devaient se faire à 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.
- Des exigences additionnelles pourraient être spécifiées par l’ÉTS ou votre département, suivant les particularités propres à votre programme.
En vous inscrivant ou en demeurant inscrit à la session d’été 2022, vous acceptez les modalités particulières de la session d’été 2022.
Nous vous rappelons que vous avez jusqu’au 17 mai 2022 pour vous désinscrire de vos cours et être remboursé.
Pour les nouveaux étudiants inscrits au programme de baccalauréat uniquement, vous avez jusqu’au 31 mai 2022 pour vous désinscrire de vos cours et être remboursé.
Descriptif du cours
Cours destiné aux étudiants ayant déjà suivi un cours de programmation. Il permet d’apprendre et de pratiquer les principes de base de la programmation orientée objet (encapsulation, héritage, composition et polymorphisme). Le langage de programmation utilisé est le même que pour les cours de conception suivants.
À la suite d’une présentation de base du langage utilisé et d’algorithmes de tri (sélection, insertion et bulle) et de fouille binaire, l’étudiant acquiert des principes de programmation avancée comme l’implémentation des types de données abstraits de base telles qu'une pile, une file et une liste (avec et sans position courante), autant avec tableau statique qu’avec chaînage dynamique (simple et double). Il acquiert également des notions orientées objet à l’aide de la gestion et la levée d’exception, l’utilisation de collections de base offertes par le langage utilisé (p. ex.: Vector, ArrayList et linkedList de Java), l’écriture de classe interne et leur avantage, l’utilisation de composants graphiques pour la construction d’interfaces utilisateurs telles que bouton, étiquette (label), panneau (panel), cadre (frame) en plus de la gestion d’événements par écouteur (listener). Le tout avec de bonnes pratiques de programmation utilisées et reconnues.
Séances de laboratoire permettant l'application des notions de programmation.
Objectifs du cours
Ce cours a pour objectif d’enseigner les principes de la programmation orientée-objet (encapsulation, héritage et polymorphisme) en insistant sur des notions de programmation plus approfondies que les types primitifs (int, char, …), les structures de contrôle et les structures de données de base tels que les tableaux.
De façon plus spécifique, ce cours devra permettre à l'étudiant·e de :
- Utiliser un environnement de programmation Java (BlueJ, Eclipse, JCreator ou autres).
- Apprendre à programmer dans le paradigme orienté-objet avec le langage Java.
- Comprendre les relations d’héritage, d’agrégation et de composition.
- Comprendre et exploiter l’utilité de la visibilité des attributs et des méthodes (encapsulation).
- Comprendre et pouvoir exploiter le polymorphisme.
- Être en mesure de programmer (et d’utiliser) des types de données abstraits (piles, files et listes) avec différentes implémentations.
- Utiliser les composants Swing pour la création d’interface graphique.
L’étudiant·e doit au préalable avoir une compréhension des concepts suivants[1] :
- Types de base (Entier, réel, booléen, caractère).
- Opérateurs sur les types de base (+, -, *, /, %, …).
- Types composés (chaînes de caractères et tableaux).
- Structures de contrôle (sélection, itération).
- Structures de programme (bloc principal, procédures et fonctions).
- Passage de paramètres (par valeur, par référence, formel et actuel).
- Entrées (clavier) et sorties (écran).
[1] Peu importe le langage de programmation qui a été utilisé.
Stratégies pédagogiques
Les deux premiers cours serviront à une révision de concepts présumés comme étant déjà connus et à l’apprentissage de ceux-ci en Java. Les cours suivants présenteront les concepts de programmation orientée-objet et des applications de ceux-ci à l’aide de notions de programmation plus approfondies et de l’utilisation des composants Swing.
3 heures de cours magistraux par semaine
3 heures de laboratoire par semaine
Les laboratoires visent :
- L'assimilation des notions vues au cours à l’aide d’exercices;
- La mise au point des programmes donnés en travaux pratiques (si les exercices sont finis).
Évaluation
Évaluation |
Pondération |
Semaine |
Gr. 80 |
Gr.81 |
Évaluation continue
|
10 %
|
1-5
|
La date et la forme de l'évaluation vous seront fournies par votre enseignant·e en début de session. |
Examen intra 1
(1h30)
|
10 %
|
5
|
27 juin
|
27 juin |
Travail pratique #1
|
15 %
|
9
|
3 juillet
|
3 juillet
|
Examen intra 2
(1h30)
|
10 %
|
9
|
25 juillet
|
25 juillet
|
Travail pratique #2
|
15 %
|
13
|
31 juillet
|
31 juillet
|
Examen final
(3h00)
|
40% |
24 août
|
(d) Évaluation à distance
(p) Évaluation en présence
À propos de l'évaluation continue :
À propos des travaux pratiques :
- Les travaux pratiques sont communs à tous les groupes et visent à mettre en application, dans le cadre d'un problème réaliste, les concepts et les méthodes de programmation enseignés pendant les cours théoriques. Il est attendu des étudiant.es de produire des travaux qui permettent de résoudre le problème de l'énoncé mais surtout de les réaliser selon les standards de qualité et les bonnes pratiques enseignés (respect des normes, décomposition en sous-programme/modules, etc.). La cohérence et l'optimalité des algorithmes implémentés constituent également des critères importants qui seront considérés. En tout état de cause, la note attribuée à l'exécution correcte du programme ne pourra excéder 40% de la note globale d'un travail pratique.
- Pour chaque travail pratique, l’enseignant.e indiquera sur l’énoncé s’il doit être réalisé en équipe et, si tel est le cas, la taille de l’équipe. Une équipe ne doit remettre qu’un seul rapport.
À propos des examens intras :
À propos de l'examen final :
- L'examen final a lieu en présence.
- Aucune documentation et aucun accès Internet ne sont permis.
- L'examen final se fera sur papier.
Double seuil :
- Une note moyenne pondérée de 50 % est exigée pour l’ensemble des évaluations à caractère individuel. Ce seuil est une condition nécessaire à la réussite du cours mais ne la garantit pas.
À propos de la langue utilisé
- Afin de respecter les exigences relatives à la langue française telles que stipulées à la Politique linguistique de l’École, le code et les commentaires de code doivent être principalement en français tel que c'est le cas pour tous les exemples et documents qui seront fournis aux étudiant·es.
Ouvrages de références
Autres références
Horstmann, Cay, Big Java, 3rd Edition, San Jose State Univ., John Wiley & sons, 2007, 1248 pages.
Horton’s, Ivor, Ivor Horton’s beginning Java™ 2, JDK™5 Edition, Indianapolis, Wiley Publishing, Inc., 2005, 1470 pages.