topic revisions etc

Programmation Avancée

Modérateur : Douin

Répondre
RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

topic revisions etc

Message par RENAUD » 31 déc. 2018 16:54

Bonjour

En ce jour de dernier jour de l'année, j'ouvre un topic pour ceux qui voudraient commencer à discuter de sujets pour les révisions :
(même dès aujourd'hui ;)

- Concepts, notions,... en java
- Patrons
- Exercices : Annales, TP, ED,...
- Autres

Bon réveillon de fin d'année :)

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: topic revisions etc

Message par Rodrigues_A » 04 janv. 2019 10:29

Bonjour,

Bonne idée de topic, j'écris du travail, donc je vais être concis, je vais attaquer les révisions mais j'ai un problème, par quoi attaquer?
- la sémantique Java (car je ne suis pas un expert)
- les patrons et un implémentation java de chaque patron
- revoir tous les TP?
- attaquer les anales sachant que je me fais peur à chaque fois que je les lit
- fais le tp injection

Comment procédez-vous?

pour l'instant, je pense commencer par la re-lecture de chaque TP.

Bonne journée,

Anthony

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: topic revisions etc

Message par RENAUD » 22 janv. 2019 16:06

Bonjour

A propos des patrons,

Quel site ou source pour vous explique le mieux les patrons ? (Par des propositions de codes et d'exemples didactiques ? )

Merci à vous

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: topic revisions etc

Message par Rodrigues_A » 22 janv. 2019 17:37

Salut,

Moi j'aime bien ce site:
- https://rpouiller.developpez.com/tutori ... g-of-four/

Si tu est inscrit, tu peux même récupérer le PDF.

Je suis au travail, du coup si je pense à un autre site, je te redis.

Moi je ne focalise pas trop sur les patrons, même si je relis les définitions de patrons en parallèle, je préfère me focaliser sur la lecture et la compréhension des sujets, ainsi que sur la réalisation de code à la main.

Je vais voir ce soir si l'ED d'hier m'a été profitable pour mieux aborder un sujet, j'attaque un nouveau sujet.

Bon courage et bonnes révisions,

Anthony

jeff.prevot
Messages : 38
Inscription : 02 mars 2013 21:19

Re: topic revisions etc

Message par jeff.prevot » 22 janv. 2019 20:41

Bonsoir,

* http://www.tutorialspoint.com/ est pas mal et aborde beaucoup de sujets dans beaucoup de matières.
* Idem https://dzone.com/, mais sûrement plus pro.
* Ne pas oublier https://www.jmdoudoux.fr/java/dej/chap- ... tterns.htm qui fait de très bon articles en règle générale.
* En 1 min 30 sur Google et la recherche "Design Pattern", je suis tombé sur https://www.javatpoint.com/design-patterns-in-java qui est très complet et clair.

De mémoire le livre"Head First Design Patterns: A Brain-Friendly Guide" est très complet et facile à lire.
Je ne le voit pas, mais il doit exister une traduction française.

NB : Globalement, les Head First sont de bons livres.

En gros, il y a beaucoup de sources dispo.
Je conseille aussi les articles accessibles depuis les sites des facs (si si, on en trouve et sans galérer des heures, et parfois même en première page des recherches Google).
Même s'ils ne sont pas souvent très complets ou profond, ils ont le mérite d'être en français et très compréhensibles sans forcer.

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: topic revisions etc

Message par RENAUD » 22 janv. 2019 22:17

Merci à vous

Inscrit sur developpez j'ai téléchargé depuis quelques temps https://rpouiller.developpez.com/tutori ... g-of-four/
Mais je voulais savoir justement pour vous, car il est bien je les imprime au fur à mesure mais dans ses exemples j'ai du mal à les projeter sur des problèmes même un tout petit peu plus compliqués.

Sinon effectivement ça peut ne pas paraitre indispensable d'avoir des patrons pour l'exam mais
1) je ne pense pas l'avoir à la premiere session donc je le prend comme exercice (temps, connaissances et lacunes)
2) si le code ou l'énoncé des questions précisent ou ressemblent à un patron je trouve que ça me permet plus de grouper le code en partie et de ne pas bloquer sur du code "inutilement"

ex : après l'ED de lundi sans avoir refait le tp entier à fond
- en mettant la partie hashcode,equals,tostring
- puis la partie les attributs (variable, collections), constructeurs, getter sur toutes les questions sans trop réfléchir ce qui peut prendre peu de temps et surtout peu d'energie du cerveau.
après je ne sais pas ce que ça peut valoir comme points car même pour moi ça donne un aspect tres vide peu crédible.
- puis d'essayer de voir un peu mieux quel patron ressemble juste par le diagramme puis le code si possible, je vois un peu mieux les setters et les autres methodes.
- enfin par les tests voir plus les problématiques les subtilités ce que je n'arrive vraiment pas bien d'où mon pessimiste pour la premiere session.

c'est mon approche maintenant. mais avant c'était pire je commençais par les tests ou les problématiques et c'était blocage total !
qu'en pensez vous ?

jeff.prevot
Messages : 38
Inscription : 02 mars 2013 21:19

Re: topic revisions etc

Message par jeff.prevot » 23 janv. 2019 21:16

Si tu as regardé et refait les examens des sessions précédentes, tu te rendra compte que tu n'as pas besoin de faire tout ça.
Tous le code nécessaire à la compréhension et l’exécution est pratiquement fournir.
En général, il est demandé d'implémenter 2 voire 3 classes, qui extends une classes abstraite ou implements une interface.
En gros, remplir le corps de méthodes dont tu n'as même pas à réfléchir les signatures.

Concernant les pattern, je ne suis pas sûr d'avoir bien compris ce que tu dis, mais cet UE est centré sur les patterns. donc, oui il en sera question pour l'examen.
Tous les connaître par cœur est inutile puisque le sujet portera très certainement justement sur un pattern non vu en cours, mais facile d'accès quand on a compris ce qu'est un pattern (= une architecture répondant à un besoin précis). Je rappelle d'ailleurs que les support papiers sont autorisés et que le prof à fourni un excellent tableau reprenant les pattern vu en cours.
De plus, à mon sens, en programmation en général, il ne sert à rien d'apprendre quoi que ce soit par cœur. Google est un outil très utile. Par contre, il faut comprendre ce qu'on fait et lit. Ce cours est là pour aider (j'ai bien choisit le mot "aider") à comprendre ce qu'est un pattern et comment en appréhender un nouveau pour nous. Ensuite, avec un peu d'expérience, on sait choisir le bon pattern pour la bonne utilisation (TP_injection).

Pour résumer, si je peux conseiller une lecture sur le sujet, ça serait le Head First dont j'ai donné les références.
De nombreux patterns sont utilisés pour répondre à un besoin qui évolue au fil de la lecture.
On finit donc par voir les patterns s'imbriquer les uns aux autres, on les compare, les critique, le tout dans un texte très facile d'accès.

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: topic revisions etc

Message par RENAUD » 25 janv. 2019 22:04

Tu as surement raison.
Les examens précédents dont les premier exos ont comme titre Patron m'ont influencés mais en fait des questions de patrons classiques n'arrivent que bien après quand c'est le cas.
Par défaut n'étant pas à l'aise du tout au niveau connaissance et surtout pratique j'essaye d'adopter une tactique pour l'examen première session, pour mieux positionner sur la deuxième. Mentalement ce n'est pas la bonne attitude mais je crois que je suis plutôt réaliste je n'ai pas assez pratiqué et cette UE ne pardonne pas à ce niveau. Comme c'est donc un peu tard je m'organise pour minimiser les dégâts.

Ce qui fait que comme la première question influence pas mal la suite des énoncés, c'est assez stressant. Même si quelque soit l'année la structure des classes à compléter en premier me semble être la même. Seul le traitement spécifique peut varier mais c'est là que je bloque :
A votre avis peut on faire sereinement les autres questions si à cause de manque de temps ou de blocage le "vrai" traitement de la question 1 est faux ou pas terminé ?

(j'espère qu'on garde nos points bonus à la deuxième session!)

jeff.prevot
Messages : 38
Inscription : 02 mars 2013 21:19

Re: topic revisions etc

Message par jeff.prevot » 27 janv. 2019 13:36

Bonjour,

Je rappelle que cet UE est un UE de 3ème année de licence informatique. Je trouve dommage, surtout pour ceux qui ont des difficultés avec la syntaxe ou les bases de Java, qu'on ne le rappelle pas plus explicitement au moment de l’inscription. Certains UE sont soumis à agrément, peut-être que cet UE devrait suivre cette logique aussi. Cela éviterait que certains élèves perdent la première session à cause de lacunes.
J'ai déjà fait cette expérience, et ce n'est vraiment pas agréable.

Pour les points bonus, il me semble avoir lu quelque part, et cela me semble logique, qu'ils sont aussi valables pour la seconde sessions.
Un raté ou une absence peut arriver. Cela serait dommage de ne pas profiter de ces bonus à cause de ça.

En ce qui concerne le sujet de l'examen, je vais m'appuyer sur le sujet de l'année dernière (janvier 2017) et souligner qu'il ne s'agit que de MON avis. Mr Douin sera certainement plus à même de répondre.
  • Question 1 (5 points) : Patron PubSub : Exercice classique d'examen : on découvre un nouveau pattern (beaucoup plus simple que certains vu en cours), et on implémente les deux classes concrètes. Toutes les signatures sont fournies en annexe, il suffit de comprendre leur utilisation leur utilisation grâces aux tests unitaires, et s'appuyer sur les doc (en commentaire de leur interface).
    Question 2 (3 points) : Patron Proxy : On complète le code précédent par un nouveau patter vu en cours. On peut y répondre sans avoir fait la première question à condition d'avoir compris l'utilisation des classes concrètes précédentes et le pattern en question ici.
    Question 3 (3 points) : Persistance : Même idée que la question 2 : avoir bien compris la logique de la question 1, et avoir suffisamment assimilé les patterns vu en cours pour pouvoir comprendre comment répondre à cette question. Un autre pattern est ici, encore une fois, ajouté.
    Question 4 (5 points) : Patron PublishSubscribe : Il s'agit ici d'implémenter le pattern de la question 1, mais "from the book", pur, sans le "sucre pédagogique" ajouté dans la question 1 afin d'aider à la compréhension de son intention. Certains appréhenderont mieux cette question que la premère, d'autres ce sera l'inverse. le fait est que l'une peut aider l'autre, mais sont très similaires.
    Question 5 (4 points) : Interface graphique : Il faut avoir compris dans les grandes lignes la première question, sans formcément avoir compris le pattern. Il s'agit ici de savoir utiliser les ActionListener vu pendant le cours sur le pattern Observer (le/s observateur/s d'un élément Swing(ici un bouton) écoutent ses évènements et appellent la méthode adéquate d'une des interfaces de la question 1.
Mon avis est que tous les derniers examens (ceux des annales) se ressemblent beaucoup, beaucoup, beaucoup, et que la compréhension de l'intention du pattern de la question 1 est plus important que de réussir à coder réellement les classes demandées. Je pense qu'il est donc possible de grapiller assez de points tout au long du sujet pour passer les 8/20 et valider l'UE gràce aux points bonus. Cependant, j'insiste sur le fait qu'il faut pour ça avoir compris l'intention du pattern bordé.

Dans le Head First que j'ai donné en référence, dans un des premiers et dans le derniers paragraphes du livres, il est expliqué que les pattern sont pensés pour répondre à une problématique précise, ont une intention précise. Il sera toujours possible de les détourner, mais cela créera de nouvelles problématiques de maintenance ou de complexité qu'il sera alors plus difficile à résoudre. Choisir le bon pattern est donc important, mais choisir d'en utiliser un ou non l'est encore plus. Plutôt que de tous les apprendre par cœur, en comprendre leur intention propre sera beaucoup plus bénéfique.
Cet examen va exactement dans ce sens. Même sans réussir à remplir les trous dans le temps imparti, si on a compris l'intention du pattern abordé, on peut le réussir.

PS: j'ai dit que les examens précédents se ressemblent beaucoup ?

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: topic revisions etc

Message par RENAUD » 28 janv. 2019 1:27

On est des grands garçons on sait normalement que ce que vaut une Licence. Et ça vaut pour moi je pense que j'ai sous estimé la combinaison du temps total pour cet UE (je n'ai d'ailleurs pas pris d'autre UE pourtant), les lacunes et donc l'implication encore plus grande. Pour autant d'autre UE m'ont mis dans le même doute, par contre je les ai eu de justesse.
Faudrait il imposé une expérience récente entre +2 et +3 comme dans mon cas qui a un "vieux" diplome informatique +2 ?

Quand j'ai essayé le premier examen celui de 2017 justement et je pensais que les 23 patrons étaient seuls. ensuite les combiner entre eux était le "jeu". j'ai été étonné par Patron PubSub puis je me suis dit qu'il fallait chercher une combinaison parmis les 23. j'ai googlisé en même temps PubSub ce qui m'a encore étonné. Une chose que je n'aurais pas pensé avant en tout cas je n'y ai pas pensé. Pour moi Patron PubSub est toujours un peu une invention pour l'exam ou pour des bases en appli tel, même si ça apparait souvent comme tutoriels. L'idée général ressemblant beaucoup à un Patron Observer puisqu'on doit notifier des souscripteurs.
Pour le reste vu que je perdais du temps je me suis demandé comment faire les autres questions à chaque fois sans bloquer 3h ;)

Répondre