Quelques raccourcis :

420-KBB-LG – Programmation orientée objet avancée

Ceci est un petit site de support pour le cours 420-KBB-LG – Programmation orientée objet avancée.

Vous trouverez aussi des liens sur divers langages (dont C#, notre outil de prédilection dans ce cours) un peu partout dans http://h-deb.clg.qc.ca/. Portez une attention particulière à ../../../Sujets/Divers--cdiese/index.html.

Les diverses sections de cette page (en fonction desquelles vous trouverez quelques liens dans l'encadré à droite) vous mèneront elles-aussi sur des pistes qui vous permettront d'explorer un peu plus par vous-mêmes, de valider vos acquis et d'enrichir votre apprentissage.

Cliquez sur cette cible pour le plan de cours, sous forme électronique

Pratiques de correction

Je corrige les programmes en appliquant des codes de correction. Vous trouverez ici la liste des codes les plus fréquents.

Ma stratégie de correction en tant que telle (pour le code, à tout le moins) est résumée ici.

Cliquez sur cette cible pour un résumé des principales règles de programmatique en vigueur dans ce cours.

Cliquez sur cette cible pour les normes appliquées dans ce cours, en ce qui a trait au pseudocode

Quelques trucs pour demander de l'aide plus efficacement

Détail des séances en classe

Puisque nous serons en laboratoire à la fois pour les séances théoriques et les séances de laboratoire, et puisque les jours fériés et autres congés auraient compliqué l'ordre de présentation de la matiere (car j'ai deux groupes!), j'ai fait le choix de construire le cours sous forme de 30 séances (de S00 à S29) plutôt que sous forme de 15 séances théoriques et 15 séances de laboratoire. Le dosage prévu de temps en théorie et de temps en laboratoire (soit environ moitié-moitié) devrait être respecté.

Date Séance Détails

26 août (gr. 02)

27 août (gr. 01)

S00

Au menu :

  • Présentation du cours et du plan de cours
  • Créer une bibliothèque à liens dynamiques : création d'un petit système client / serveur
    • schéma de conception Interface et son implémentation en C#
    • implémentation(s) de cette interface
    • schéma de conception Fabrique
  • Écriture d'un client pour ce service
  • Utilité de ce type d'architecture
  • Présentation du TP00
  • Travail sur le TP00

28 août (gr. 02)

30 août (gr. 01)

S01

Au menu :

Je vais revenir sur using, que je n'ai pas couvert aujourd'hui, et finally, le tout quand nous aurons rencontré des cas qui les rendent pertinent (ça s'en vient)

3 sept. (gr. 01)

4 sept. (gr. 02)

S02

Notez que le lundi 2 septembre est un jour férié (Fête du travail), donc le groupe 02 n'aura pas sa séance habituelle, ce qui fait que l'ordre relatif des séances des deux groupes sera permuté. 

Au menu :

  • Présentation d'un petit programme de test, à titre indicatif (pas nécessairement rigoureux, mais devrait vous donner un indice que votre code est respectueux des consignes... ou pas)
  • Petite introduction à la complexité algorithmique et à la consommation de ressources :
    • pour un générateur séquentiel :
    • pour un générateur recycleur :
    • pour un générateur aléatoire naïf :
    • raffiner le générateur aléatoire
  • Examen du problème de la génération des statistiques :
    • conceptualiser les paires
    • introduction aux dictionnaires
    • introduction aux uplets
  • Travail sur le TP00

6 sept. (gr. 01)

9 sept. (gr. 02)

S03

Au menu :

N'oubliez pas de remettre votre TP00 avant  18 h le 9 septembre

10 sept. (gr. 01)

11 sept. (gr. 02)

S04

Au menu :

13 sept. (gr. 01)

16 sept. (gr. 02)

S05

Je serai à CppCon 2019. Vous pourrez me suivre (à travers ../../../Sujets/Orthogonal/cppcon2019.html) si vous le souhaitez.

Les consignes de travaux à faire en mon absence ont été transmises par Colnet

17 sept. (gr. 01)

18 sept. (gr. 02)

S06

Pour ma part, je serai à CppCon 2019. Vous pourrez me suivre (à travers ../../../Sujets/Orthogonal/cppcon2019.html) si vous le souhaitez.

Les consignes de travaux à faire en mon absence ont été transmises par Colnet

20 sept. (gr. 01)

23 sept. (gr. 02)

S07

Pour ma part, je serai à CppCon 2019. Vous pourrez me suivre (à travers ../../../Sujets/Orthogonal/cppcon2019.html) si vous le souhaitez.

Les consignes de travaux à faire en mon absence ont été transmises par Colnet

Je serai de retour pour le groupe 02 :

  • On jasera de la semaine qui vient de passer
  • Nous ferons un retour sur Q00
  • Nous ferons un retour sur le TP00
  • Nous verrons comment il est possible de l'implémenter de manière saine avec la matière vue jusqu'ici
  • Nous examinerons les travaux formatifs qui étaient à faire la semaine de mon absence

24 sept. (gr. 01)

25 sept. (gr. 02)

S08

J'ai dû m'absenter le 24 septembre, alors le gr. 02 a un peu d'avance sur le gr. 01. Nous allons corriger ces écart sous peu...

Au menu :

  • Réaliser la deuxième activité formative proposée pendant mon absence.
  • Peut-être un petit bonbon, parce que t'sais...

27 sept. (gr. 01)

30 sept. (gr. 02)

S09

Les étudiant(e)s étaient en grève le 27 sept. J'ai dû m'absenter le 30 sept. Quand ça va mal...

1 oct. (gr. 01)

2 oct. (gr. 02)

S10

Au menu :

Pour le gr. 01 :

  • On jasera de la semaine qui vient de passer
  • Nous ferons un retour sur Q00
  • Nous ferons un retour sur le TP00
  • Nous verrons comment il est possible de l'implémenter de manière saine avec la matière vue jusqu'ici
  • Nous examinerons les travaux formatifs qui étaient à faire la semaine de mon absence

Pour le gr. 02 :

  • Atelier exploratoire sur Unity
  • Présentation du TP01

4 oct. (gr. 01)

7 oct. (gr. 02)

S11

Au menu :

Pour le gr. 01 :

  • Atelier exploratoire sur Unity
  • Présentation du TP01

Pour le gr. 02 :

  • Q01

Pour tous :

  • Travail sur le TP01

8 oct. (gr. 01)

9 oct. (gr. 02)

S12

Au menu :

Pour le gr. 01 :

  • Q01

Pour tous :

  • Retour sur Q01
  • Le mot static, qui manque manifestement d'amour
  • Travail sur le TP01

11 oct. (gr. 01)

21 oct. (gr. 02)

S13

Notez que le lundi 14 septembre est un jour férié (Action de Grâces), mais que le 15 octobre est une journée pédagogique et que les cours sont suspendus pour les trois jours suivants (15-18 octobre). Ceci n'a donc pas d'impact sur l'ordonnancement des cours des groupes 01 et 02.

Pour le gr. 01 :

  • Travail sur le TP01

Pour le gr. 02, au menu :

  • Retour (bref) sur le TP01
  • Activité dirigée : on explore la conception d'une classe non-triviale permettant d'entreposer des entiers, puis en fait un effort pour la rendre plus utile en faisant d'elle une classe générique

Allez voter!

22 oct. (gr. 01)

23 oct. (gr. 02)

S14

Pour le gr. 01, au menu :

  • Retour (bref) sur le TP01
  • Activité dirigée : on explore la conception d'une classe non-triviale permettant d'entreposer des entiers, puis en fait un effort pour la rendre plus utile en faisant d'elle une classe générique

Pour le gr. 02, au menu :

25 oct. (gr. 01)

28 oct. (gr. 02)

S15

Pour le gr. 01, au menu :

Pour le gr. 02, au menu :

29 oct. (gr. 01)

30 oct. (gr. 02)

S16

Au menu :

Pour le gr. 01, au menu :

Pour le gr. 02, au menu :

1 nov. (gr. 01)

4 nov. (gr. 02)

S1S17

Pour le gr. 01, au menu :

Le gr. 01 n'a pas eu de cours dû à une panne de courant. Ça commence à nous compliquer la vie, ce calendrier étrange...

Pour le gr. 02, au menu :

5 nov. (gr. 01)

6 nov. (gr. 02)

S18

Pour le gr. 01, au menu :

Pour le gr. 02, dans le but de compenser un peu pour les aléas du calendrier qui ont affecté le gr. 01, cette séance se fera en tutorat sur une base volontaire. Je serai à mon bureau et je vous accueillerai avec plaisir. Apportez vos questions!

8 nov. (gr. 01)

11 nov. (gr. 02)

S19

Au menu :

12 nov. (gr. 01)

13 nov. (gr. 02)

S20

Au menu :

  • Retour sur le TP01
  • Présentation du TP02a
  • Travail sur le TP02a

15 nov. (gr. 01)

18 nov. (gr. 02)

S21

Au menu :

19 nov. (gr. 01)

20 nov. (gr. 02)

S22

Au menu :

  • Introduction aux fonctions semi-variadiques : le mot clé params
  • Valeurs par défaut : le mot clé default
  • Introduction aux fonctions asynchrones (suite, avec exercices)
  • Travail sur le TP02a

22 nov. (gr. 01)

25 nov. (gr. 02)

S23

Au menu :

  • Minitest 05
  • Minitest 06
  • Remise du TP02a
  • Présentation du TP02b

26 nov. (gr. 01)

27 nov. (gr. 02)

S24

Au menu :

à venir

29 nov. (gr. 01)

2 déc. (gr. 02)

S25

Au menu :

à venir

3 déc. (gr. 02)

6 déc. (gr. 01)

S26

Notez que le mercredi 4 décembre est la journée d'examen de français, formation générale (cours suspendus). Notez aussi que le mardi 3 décembre est un cours selon l'horaire du mercredi, ce qui fait que l'ordre relatif des séances des deux groupes sera permuté.

Au menu :

à venir

9 déc. (gr. 02)

10 déc. (gr. 01)

S27

Au menu :

à venir

11 déc. (gr. 02)

13 déc. (gr. 01)

S28

À remettre :

  • La PFI de la session A2019

Chic examen final

16 déc. (gr. 02)

17 déc. (gr. 01)

S29

Votre chic prof est disponible en mode tutorat à son bureau

Petits coups de pouces

Vous trouverez ici quelques documents, la plupart petits, qui peuvent vous donner un petit coup de pouce occasionnel.

Comment accéder à du code .NET à partir d'un client C++ natif.

Vous trouverez aussi des exemples de code C# dans la section Divers – C# du site, mais notez que je n'ai pas nécessairement harmonisé ces exemples (écrits pour des cours plus avancés, sous forme de survols) aux standards de programmation appliqués dans le présent cours. À lire avec prudence et discrimination, donc.

Consignes des travaux pratiques

Les consignes des travaux pratiques suivent.

Consignes Détails supplémentaires

TP00

Un programme de test possible est proposé ici : TP00-code-test-simpliste.html

J'ai mis à votre disposition, comme promis, les solutions couvertes en classe avec le groupe 01 et avec le groupe 02. Tant mieux si ça vous rend service!

TP01

Un démonstrateur de ce que pourrait être le programme final avec la carte CarteTest.txt serait : Thésée.exe

Pour tester ce programme, déposez les deux fichiers dans le même dossier, puis déplacez-vous dans ce dossier à la ligne de commande. Enfin, tapez :

Thésée CarteTest.txt

... et vous pourrez profiter de l'expérience.

TP02a

Un démonstrateur de ce que pourrait être le programme final avec la carte CarteTest.txt serait : ThéséeMT.exe

Pour tester ce programme, déposez les deux fichiers dans le même dossier, puis déplacez-vous dans ce dossier à la ligne de commande. Enfin, tapez :

Thésée CarteTest.txt

... et vous pourrez profiter de l'expérience.

Notez que j'ai mis une version monoprogrammée fonctionnelle du TP01 à votre disposition sur Colnet, au cas où vous choisiriez de l'utiliser comme base de travail pour TP02a

Solutionnaires

Quelques solutionnaires suivent. Référez-vous aux règles programmatiques pour plus de détails sur les normes de programmation appliquées dans ce cours.

TrTravail

Exercices sur la généricité

À venir

À venir

À venir

En espérant que ça vous aide à organiser vos idées!


Valid XHTML 1.0 Transitional

CSS Valide !