Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF1563  Gr. 02
Titre : Programmation I
Session : Automne 2018  Horaire et local
Professeur : Audet, François
1. Description du cours paraissant à l'annuaire :

Objectifs

Permettre à l'étudiant de s'initier à l'application des techniques de programmation dans la résolution de problèmes et le développement d'algorithmes. L'introduire au paradigme orienté objet.

Contenu

Introduction à la résolution de problèmes : formulation du problème, conception des solutions, codage des programmes en Java. Principes de langages de programmation : variables, constantes, expressions, instructions, syntaxe, sémantique, types de données, structures de contrôle. Concepts orientés objet : encapsulation de données, classes, objets, méthodes, messages, héritage. Conteneurs simples de données. Ce cours comporte des séances obligatoires de travaux dirigés (TD) de deux heures par semaine.

2. Objectifs spécifiques du cours :
 
3. Stratégies pédagogiques :

Les formules pédagogiques suivantes seront utilisées :

  • L'enseignement est dispensé sous forme magistrale (3h/semaine). Des exercices seront donnés durant ces séances pour illustrer les notions nouvellement introduites.
  • Les concepts cités dans le plan de cours seront traités avec une approche de formulation et de résolution de problèmes.
  • Des séances de travaux dirigés (2h/semaine) viendront appuyer les séances de cours. Ces séances se font en présence d'un assistant. La présence des étudiants à ces laboratoires est obligatoire.
4. Heures de disponibilité ou modalités pour rendez-vous :
  • Consultations : mercredi : 15h00 à 17h00 ou sur rendez-vous.
  • Courriel : francois.audet02@uqo.ca
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1   

Introduction aux langages de programmation

  • programmes, ordinateurs, langages de programmation, algorithmes
  • environnement Java
  • structure d'un programme Java
  • différences entre une déclaration et un usage

TD 1: le 10 sept. ou le 12 sept.

06 sept. 2018 
2   

Bases de la programmation orientée objet

  • objets, méthodes, classes
  • variables et types

Comment écrire et exécuter le code ?

TD 2: le 17 sept. ou le 19 sept.

13 sept. 2018 
3   

Syntaxe, notation BNF

Bonnes pratiques de la programmation : choix de noms

Bases de la programmation orientée objet

  • méthodes
  • introduction aux classes
  • héritage
  • variables et méthodes de classe

TD 3: le 24 sept. ou le 26 sept.

20 sept. 2018 
4   

Notions de base sur la programmation Java

  • droits d'accès
  • visibilité (portée) des variables
  • expressions
  • opérateurs

TD 4: le 1e octobre ou le 3 octobre

27 sept. 2018 
5   

Structures de contrôle de flux

  • instructions conditionnelles
  • instructions répétitives
  • ruptures de séquence
  • blocs d'instructions

TD 5: le 15 octobre ou le 17 octobre

04 oct. 2018 
6   

Semaine d'études

11 oct. 2018 
7   

Structures de contrôle de flux (Suite)

POO: un peu plus

  • constructeurs

TD 6: le 22 octobre ou le 24 octobre

18 oct. 2018 
8   

Examen de mi-session

25 oct. 2018 
9   

POO: un peu plus

  • surcharge de méthodes
  • mots-clés "this" et "super"
  • packages

TD 7: le 5 nov. ou le 7 nov.

01 nov. 2018 
10   

Tableaux et vecteurs

  • déclaration et manipulation d'un tableau
  • tableaux d'objets
  • tableaux multidimensionnels

TD 8: le 12 nov. ou le 14 nov.

08 nov. 2018 
11   

Traitement de chaînes de caractères

Nombres à virgule flottante

Traitement des exceptions : gérer les erreurs

TD 9: le 19 nov. ou le 21 nov.

15 nov. 2018 
12   

Documentation de programmes

  • Javadoc

Les entrées / sorties en Java

  • les fichiers
  • la notion de flux

TD 10: le 26 nov. ou le 28 nov.

22 nov. 2018 
13   

Récursivité

Conteneurs simples de données

TD 11: le 3 déc. ou le 5 déc.

29 nov. 2018 
14   

Révision par des exemples

  • étude de cas

TD 12: le 10 déc. ou le 12 déc.

06 déc. 2018 
15   

Examen final

13 déc. 2018 
6. Évaluation du cours :

Examen final : 40 %

Examen de mi-session : 35 %

Participation aux travaux dirigés : 5 %

Devoirs : 20 %

  • Deux devoirs doivent être faits de manière individuelle et les deux autres par binôme pour mieux saisir les méthodes de travail en groupe. Les conditions spécifiques aux travaux seront communiquées en même temps que l`énoncé.

7. Politiques départementales et institutionnelles :
8. Principales références :

Les notes de cours représentent la principale référence mais les étudiants doivent consulter régulièrement des documents parmi ceux recommandés.

Lectures non-obligatoires mais fortement recommandées

  1. Java Comment Programmer, H. M. Deitel et P.J. Deitel, 4e édition, Reynald Goulet, 2002, ISBN 2893772544
  2. Java How to Program, H. M. Deitel et P.J. Deitel, 10e édition, amazon, 2015, ISBN 0133807800
  3. Java simplifié, James R. Levernick, Mont-Royal, Groupe Modulo, coll. Informatique, 2006, 369 p. ISBN 2-89593-758-6
  4. Java concepts, Cay Horstmann, 6e édition, John Wiley, 2010, ISBN 978-0-470-50947-0
  5. Le livre de Java premier langage, Anne Tasso, 6e édition, Éditions Eyrolles, 2009, ISBN 978-2-212-12648-8

Autres références : consulter la page http://w4.uqo.ca/iglewski/ens/inf1563/livres.html

9. Page Web du cours :
http://moodle.uqo.ca