INF2120 - Programmation II

Eté 2016 - Version (02/05/16 17:49)

Groupe 30
Mercredi, de 17h30 à 21h00 PK-1780 (cours)

Lundi, de 17h30 à 20h00 PK-S1540 (atelier)

Responsable(s) du cours

Nom du coordonnateur : LAFOREST, Louise

Nom de l'enseignant : MALENFANT, Bruno
Local : PK-4115
Téléphone : (514) 987-3000 #3699
Disponibilité :
Courriel : malenfant.bruno@uqam.ca
Site Web : http://www.labunix.uqam.ca/~malenfant_b/


Description du cours

Approfondir les concepts de la programmation orientée-objet. Approfondir les concepts de mise au point et de test de composants logiciels. Identification et définition des classes d'une solution logicielle. Relations entre les classes: composition et héritage. Classes abstraites et polymorphisme. Introduction à la notation UML. Algorithmes récursifs simples. Structures de données classiques: piles, files, listes et arbres binaires de recherche. Techniques classiques de recherche (séquentielle et binaire) et de tri. Introduction à la programmation des interfaces graphiques (GUI). Gestion des événements et des exceptions. Conception de paquetages. Introduction aux outils automatisés de validation. Ce cours comporte une séance obligatoire de laboratoire (2 heures). Six de ces laboratoires seront évalués.
Préalables académiques :
INF1120 Programmation I

Objectif du cours

            -- Stratégies de conception, de mise au point et de tests;

            -- Documentation du logiciel;

Contenu du cours

1. Retour sur le concept de classe

 

2. Notion d'héritage

 

3. Junit

 

4. Introduction aux collections

      a)  Introduction à ArrayList
      b)  Notion d'interface

           -- Notion de contrat
           -- Utilisation vs implémentation

      c)  Introduction à Pile (ADT)

           -- Interface des services sur Pile
           -- Exemples d'utilisation
           -- Implémentation avec ArrayList

       e)  Notion de package

       f)  Introduction à File (ADT)

           -- Interface des services sur Pile
           -- Exemples d'utilisation
           -- Implémentation avec ArrayList

          

 

 

5. Introduction à la récursitivé

 

6. Introduction aux listes chaînées

 

7. Introduction aux interfaces graphiques (Swing)

           -- ActionEvent (souris et clavier)
           -- ItemEvent
           -- Gestionnaire d'événements et leur enregistrement

 

8. Techniques de recherche

 

9. Techniques de tri

           -- Sélection
           -- Échanges (tri à bulles et tri roches)
           -- Insertion

Modalités d'évaluation

Description sommaire Date Pondération
Examen commun intra   30%
Examen commun final   25%
3 travaux pratiques : TP1 (11%) - TP2 (13%) - TP3 (13%) Les dates de remise sont spécifiques à chacun des groupes 37%
Quiz en classe 4 quiz 8%

Les dates de distribution des énoncés des travaux pratiques ainsi que les dates de remise sont spécifiques à chacun des groupes.

 

Règles concernant le seuil de passage

L'étudiant doit obtenir une moyenne cumulée aux examens égale ou supérieure à 50%, ainsi qu'une moyenne cumulée pour les travaux supérieure ou égale à 50%. Si ces seuils ne sont pas atteints, la mention échec sera automatiquement attribuée au cours.

Travaux pratiques

Les règlements concernant le plagiat seront strictement appliqués. Pour plus de renseignements, consultez le site suivant :

http://www.sciences.uqam.ca/etudiants/integrite-academique.html

Les étudiants doivent consulter régulièrement le site Web des cours de programmation.

Nous rappelons aux étudiants qu'ils doivent s'attendre à fournir une moyenne de 6 heures de travail personnel par semaine pour un cours de trois crédits (total de 90 heures).

Engagements et Responsabilités

Politique d'absence aux examens

L'autorisation de reprendre un examen en cas d'absence est de caractère exceptionnel. Pour obtenir un tel privilège, l'étudiant-e doit avoir des motifs sérieux et bien justifiés.

Il est de la responsabilité de l'étudiant-e de ne pas s'inscrire à des cours qui sont en conflit d'horaire, tant en ce qui concerne les séances de cours ou d'exercices que les examens. De tels conflits d'horaire ne constituent pas un motif justifiant une demande d'examen de reprise.

Dans le cas d'une absence pour raison médicale, l'étudiant-e doit joindre un certificat médical original et signé par le médecin décrivant la raison de l'absence à l'examen. Les dates d'invalidité doivent être clairement indiquées sur le certificat. Une vérification de la validité du certificat pourrait être faite. Dans le cas d'une absence pour une raison non médicale, l'étudiant-e doit fournir les documents originaux expliquant et justifiant l'absence à l'examen – par exemple, lettre de la Cour en cas de participation à un jury, copie du certificat de décès en cas de décès d'un proche, etc. Toute demande incomplète sera refusée. Si la direction du programme d'études de l'étudiant-e constate qu'un étudiant a un comportement récurrent d'absence aux examens, l'étudiant-e peut se voir refuser une reprise d'examen.

L'étudiant-e absent-e lors d'un examen doit, dans les cinq (5) jours ouvrables suivant la date de l'examen, présenter une demande de reprise en utilisant le formulaire prévu, disponible sur le site Web du département à l'adresse suivante : http://info.uqam.ca/politiques/

L'étudiant-e doit déposer le formulaire dûment complété au secrétariat de la direction de son programme d'études : PK-3150 pour les programmes de premier cycle, PK-4150 pour les programmes de cycles supérieurs. Pour plus de détails sur la politique d'absence aux examens du Département d'informatique, consultez le site web suivant : http://info.uqam.ca/politiques

Intégrité académique

PLAGIAT Règlement no 18 sur les infractions de nature académique. (extraits)

 

Tout acte de plagiat, fraude, copiage, tricherie ou falsification de document commis par une étudiante, un étudiant, de même que toute participation à ces actes ou tentative de les commettre, à l'occasion d'un examen ou d'un travail faisant l'objet d'une évaluation ou dans toute autre circonstance, constituent une infraction au sens de ce règlement.

 

La liste non limitative des infractions est définie comme suit :

  • la substitution de personnes;
  • l'utilisation totale ou partielle du texte d'autrui en la faisant passer pour sien ou sans indication de référence;
  • la transmission d'un travail pour fins d'évaluatiion alors qu'il constitue essentiellement un travail qui a déjà été transmis pour fins d'évaluation académique à l'Université ou dans une autre institution d'enseignement, sauf avec l'accord préalable de l'enseignante, l'enseignant;
  • l'obtention par vol, manoeuvre ou corruption de questions ou de réponses d'examen ou de tout autre document ou matériel non autorisés, ou encore d'une évaluation non méritée;
  • la possession ou l'utilisation, avant ou pendant un examen, de tout document non autorisé;
  • l'utilisation pendant un examen de la copie d'examen d'une autre personne;
  • l'obtention de toute aide non autorisée, qu'elle soit collective ou individuelle;
  • la falsification d'un document, notamment d'un document transmis par l'Université ou d'un document de l'Université transmis ou non à une tierce persone, quelles que aoient les circonstances;
  • la falsification de données de recherche dans un travail, notamment une thèse, un mémoire, un mémoire-création, un rapport de stage ou un rapport de recherche;
  • Les sanctions reliées à ces infrations sont précisées à l'article 3 du Règlement no 18.


 

Les règlements concernant le plagiat seront strictement appliqués. Pour plus de renseignements, veuillez consulter les sites suivants : http://www.sciences.uqam.ca/etudiants/integrite-academique.html et http://www.bibliotheques.uqam.ca/recherche/plagiat/index.html

 

Médiagraphie

VR LEWIS & CHASE -- Java Software Structures -- 3e édition, Addison-Wesley, 2010.

VR DELANNOY, C. -- Programmer en Java - Java 5 et 6 -- 6e édition, Eyrolles, 2009.

LR -- Environnement de développement BlueJ (gratuit) http://www.bluej.org

LR -- Environnement de développement Eclipse (gratuit) http://www.eclipse.org

 

A : article - C : comptes rendus - L : logiciel C : complémentaire - O : Obligatoire - R : recommandé
S: Standard - U : uri - V : volume