INF2120 - Programmation II

Automne 2018 - Version (06/09/18 11:41)

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 Voir local au: https://portailetudiant.uqam.ca/ (cours)
Jeudi, de 18h00 à 20h00 Salle Voir local au: https://portailetudiant.uqam.ca/ (atelier)

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

Description du cours

Approfondir les concepts de la programmation orientée-objet, 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. 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. Gestion des événements et des exceptions, fils d'exécution. Conception de paquetages Introduction à un environnement de développement logiciel.

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.  Gestion d'événements, des exceptions et des fils d'exécution;

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, 27 octobre 14h-17h 30%
Examen commun final Samedi, 15 décembre 14h-17h 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 l'un de ces seuils n'est pas atteint, 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