INF2120 - Programmation II

Automne 2016 - Version (04/09/16 16:21)

Coordonateur du cours

NomLAFOREST, Louise
Courriellaforest.louise@uqam.ca
Téléphone(514) 987-3000 #7790
LocalPK-4725

Groupes


20 MALENFANT, Bruno malenfant.bruno@uqam.ca (514) 987-3000 #3699 PK-4115
Mardi, de 18h00 à 21h00 Salle (cours)
Jeudi, de 18h00 à 20h00 Salle PK-S1555 (atelier)

30 MALENFANT, Bruno malenfant.bruno@uqam.ca (514) 987-3000 #3699 PK-4115
Mercredi, de 14h00 à 17h00 Salle (cours)
Lundi, de 13h30 à 15h30 Salle PK-S1565 (atelier)

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 au TDA Pile

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

      d) Introduction au TDA File

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

      e) Notion de paquetage

 

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
           -- Échange (tri à bulles)
           -- Insertion

Modalités d'évaluation

Description sommaire Date Pondération
Examen commun intra Samedi, 29 octobre 9:30-12:30 30%
Examen commun final Samedi, 17 décembre 9:30-12:30 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%

 

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 é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 :


 

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

LR -- Environnement de développement NetBeans (gratuit) https://netbeans.org/index_fr.html

 

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