0% ont trouvé ce document utile (0 vote)
18 vues7 pages

INF111 20173 Plan

Le cours INF111 de l'École de technologie supérieure enseigne la programmation orientée-objet en Java, en abordant des concepts tels que l'encapsulation, l'héritage et le polymorphisme. Les étudiants apprendront à utiliser un environnement de programmation Java et à créer des interfaces graphiques avec Swing. L'évaluation comprend des travaux pratiques et des examens, avec des politiques strictes concernant les retards et les absences.

Transféré par

masoombaadshah786
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues7 pages

INF111 20173 Plan

Le cours INF111 de l'École de technologie supérieure enseigne la programmation orientée-objet en Java, en abordant des concepts tels que l'encapsulation, l'héritage et le polymorphisme. Les étudiants apprendront à utiliser un environnement de programmation Java et à créer des interfaces graphiques avec Swing. L'évaluation comprend des travaux pratiques et des examens, avec des politiques strictes concernant les retards et les absences.

Transféré par

masoombaadshah786
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

École de technologie supérieure Responsable(s) de cours : Pierre Bélisle, Frédérick Henri

PLAN DE COURS
Automne 2017
INF111 : Programmation orientée-objet (hors programme) (4 crédits)

Préalables Unités d'agrément


Aucun préalable requis Données non disponibles

Qualités de l'ingénieur

Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12

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

Descriptif du cours
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 d’ :

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

Utilisation d’appareils électroniques


Micro‐ordinateur.

Horaire
Groupe Jour Heure Activité
01 Mardi 13:30 ‐ 16:30 Laboratoire
Vendredi 13:30 ‐ 17:00 Activité de cours
02 Mardi 13:30 ‐ 17:00 Activité de cours
Vendredi 13:30 ‐ 16:30 Laboratoire
03 Mardi 13:30 ‐ 16:30 Laboratoire
Vendredi 13:30 ‐ 17:00 Activité de cours
Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Pierre Bélisle Activité de cours [Link]@[Link]
01 Pierre Bélisle Laboratoire [Link]@[Link]
01 Stéphane Gazaille Laboratoire [Link].1@[Link]
02 Francis Bourdeau Activité de cours [Link]@[Link]
02 Francis Bourdeau Laboratoire [Link]@[Link]
02 Dominic Pichette Laboratoire
03 Mathieu Nayrolles Activité de cours [Link]@[Link]
[Link]‐
03 Simon Gervais‐Quiblat Laboratoire
quiblat.1@[Link]

Cours

La première période de trois heures sert aussi à présenter le plan de cours, l’approche pédagogique utilisée et les différents modèles
d’évaluation.
Noté que l'ordre de présentation peux varier selon l'enseignant.

Unité MATIÈRE
1‐5
Environnement Java.
Programmation de base en Java.
Types primitifs (variables et littéraux), variable, constantes, conversion de type
(typecasting), opérateurs (+, ‐, *, >=, <=, …), instructions de contrôle (if‐else, while,
do‐while), entrées/sorties (Scanner(), [Link]), programme principal (main()).
Normes de programmation

Introduction aux méthodes (procédures et fonctions), aux enregistrements (attribut à


accès publique), aux classes (attribut à accès privé) et aux objets
Conception dans le paradigme orientée‐objet
Définitions
Surcharge (overload) et redéfinition (override).
Modificateur accès (public et private)
Constructeur
this()
Classes immuables et accesseurs (get),
Classes mutables et mutateurs (set)
Destructeur (finalize)
Constantes static
Commentaire Javadoc
Les paquetages (package) [Link] et [Link] de Java
Classes de Java : String, Arrays et Math
Les API de Java

Programmation de base en Java.


Collection de base en Java
Les tableaux statiques
Boucle for
Tableaux
De données de type primitif
D’objets
Algorithmes de Tris : sélection, insertion et bulles
Algorithme de fouilles : linéaire, linéaire ordonnée et binaire (ou dichotomique)
Collection
Types de données abstraits (TDA) à implémentation statique
Pile (LIFO)
File (FIFO)
Liste
Levée (throws et throw) et gestion d’exception (try‐catch).

Classe interne (inner class)


Classes enveloppeurs (wrapper) Integer, Double, ... et conversion automatique
(autoboxing et unboxing) (java 5.0 et +).
Collection (suite)
Chaînage dynamique simple
Pile et File à implémentation dynamique

6
Collection (suite)
Liste (implémentation : chaînage dynamique simple)
Avec position numérique en paramètre (comme un tableau)

Examen 1 (cours 1 – 5) : 2h00


7–9
Collection (suite)
Liste
Avec position_courante (comme un fichier)
Chaînage dynamique double (un exemple)

Ajout de comportement à une classe


Par héritage (classe ou interface)
Utilité
Retour sur la redéfinition (overide)
Syntaxe (extends, super)
Compatibilité parent‐enfant
Par composition

Généralisation/spécialisation (un exemple)

10
Polymorphisme dynamique (late binding)

Examen 2 (cours 6‐9) : 2h00


11‐13
Les interfaces graphiques Swing sont présentées comme prétexte d'utilisation des trois
concepts orientés‐objet soit : Encapsulation, héritage et polymorphisme dynamique.

GUI (Graphical User Interface)


Composants Swing
JFrame, JPanel, JButton JTextField, JMenuBar, JMenu, JMenuItem, Layout
Manager, …
Gestion d’évènements (bas et haut niveau).

Examen final (cours 1‐13)


Laboratoires et travaux pratiques
Laboratoires :

Chaque semaine des exercices sont proposés pour comprendre la théorie de la semaine en vue de la réalisation des travaux
pratiques. Les laboratoires ne sont pas à remettre mais nous supposons que l'étudiant les réalise. Nous pouvons les utiliser en
référence dans les cours, les examens et/ou dans les travaux pratiques.

Utilisation d'outils d'ingénierie


S.O.

Évaluation
Évaluation Pondération Semaine Gr. 01 Gr.02 Gr.03

Travail # 1 8% 6 12 octobre 12 octobre 12 octobre

Examen 1 10 % 5 ou 6 13 octobre 3 octobre 13 octobre


(1h30)

Travail # 2 12 % 9 3 novembre 3 novembre 3 novembre

Examen 2 15 % 9 ou 10 7 novembre 7 novembre 10 novembre


(1h30) (labo)

Travail # 3 15 % 13 9 décembre 9 décembre 9 décembre

Examen 40 % Période d'examen final


final
(3h00)

Aucune documentation permise lors de la tenue des examens. Aucun support électronique (calculatrice, ordinateur, téléphone, …) n'est
permis durant les examens.
Toute absence à un examen non justifiée par un motif majeur (maladie avec billet de médecin, accident, décès d'un proche ou autre),
entraînera l'attribution de la note 0 (zéro) pour cet examen. L'étudiant devra démontrer que son absence était justifiée. S'il s'agit d'une
absence à l'examen final, l'étudiant devra se présenter au Service de la gestion académique, local B‐2500. S'il s'agit d'une absence à un
autre examen, l'étudiant devra prendre entente avec son enseignant.

Dates des examens intra


# Intra Groupe(s) Date
1 1, 3 13 octobre 2017
1 2 3 octobre 2017
2 1, 2 7 novembre 2017
2 3 10 novembre 2017

Date de l'examen final


Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante :
[Link]
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.

Dispositions additionnelles

Tout travail (devoir, rapport, travail de session, etc.) remis en retard ne sera pas corrigé et la note zéro sera automatiquement attribuée,
à moins que d'autres dispositions soient communiquées par écrit par l'enseignant dans les consignes des travaux à remettre.

Absence à une évaluation


• Pour les départements à l'exception du SEG :
Dans les cinq (5) jours ouvrables suivant 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. Pour un examen final, l’étudiant
devra justifier son absence auprès du Bureau du registraire. 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 ou autre) à un examen entraînera l’attribution de la note zéro (0).

• Pour SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence auprès de son enseignant. Pour un
examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. 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 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 ([Link]
propos/Direction/Politiques‐reglements/Infractions_nature_academique.pdf ) 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 !
([Link]

Documentation obligatoire
Aucune références obligatoires

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.

Adresse internet du site de cours et autres liens utiles


[Link]
Java version 8

Vous aimerez peut-être aussi