Sigle : INF1563 Gr. 01 Titre : Programmation I Session : Automne 2006 Horaire et local Professeur : Handouyahia, Mohamed
|
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.
|
L'objectif général de l'activité est d'initier l'étudiant aux concepts et techniques inhérents à la programmation d'application.
Comme objectifs spécifiques, nous verrons à ce que l'étudiant soit adéquatement initié aux diverses technologies et outils entourant la conception, la programmation, et le déploiement de petites applications faisant usage des techniques de programmation couvertes en classe.
Les étudiants devront en effet, via les outils mis à leur disposition, effectuer les tâches généralement dévolues à un programmeur junior en entreprise.
Ces objectifs spécifiques seront atteints si l'on réussit à :
- Initier l'étudiant à l'application des techniques de programmation dans la résolution de problème.
- Initier l'étudiant au développement d'algorithmes indépendants des langages de programmation.
- Développer l'habilité de l'étudiant à mettre en pratique des techniques de conception, de mise au point et de documentation.
- Développer l'habilité de l'étudiant à concevoir, programmer, faire des essais, documenter et livrer des petites applications fonctionnelles.
|
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 un approche de formulation et de résolution de problèmes.
- Les étudiants ayant un portable sont fortement encouragés à l'utiliser pendant le cours.
- 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 fortement recommandée. Les séances de travaux dirigés préparent les étudiants à la partie pratique de l'examen.
- Il y aura cinq devoirs.
- Un examen de mi-session et un examen final.
- Une page WebCT sera consacrée au cours.
|
- Andy Mohamed Handouyahia.
- Téléphone Bureau (Statistique Canada) : 613 951 0306
- Heures de consultations sur RDV.
- Courriel : mohamed.handouyahia@uqo.ca
- Courriel : andyoui2004@hotmail.com
|
1 |
Introduction aux langages de programmation et à la résolution des problèmes
- Introduction aux algorithmes – lecture, affichage, sélection, boucles
- Pseudo-code et construction des algorithmes
- De l’algorithme au programme – Édition, compilation, exécution
- Environnement Java et structure d'un programme Java
- Les langages de programmation
- Les différentes étapes de développement d'un logiciel
|
05 sept. 2006 |
2 |
Résolution de problèmes et conception des algorithmes, boîte noire
- Comprendre le problème
- Identifier les sorties
- Identifier les entrées
- Décrire le contexte d’utilisation
- Construire l’algorithme
- Valider et améliorer l’algorithme
- Exercices : Exemple de résolution de problèmes
|
12 sept. 2006 |
3 |
Notion de bases
- Constantes
- Variables
- Types de données simples
- Déclaration dans les algorithmes
- Notion d’instructions
- Instruction d’affectation
- Expressions arithmétiques
- Exercices : Formulation d’un problème et sa résolution
|
19 sept. 2006 |
4 |
Structures de contrôle
- Structure séquentielle
- Structure conditionnelle simple et opérateurs relationnels
- Structures conditionnelles imbriquées
- Applications des structures imbriquées au problème du prix du repas
- Structure conditionnelle multiple
- Conditions composées et opérateurs logiques
- Choix QUAND et conditions composées
- Exercices : Formulation de problèmes et leurs résolutions
|
26 sept. 2006 |
5 |
Les structures de contrôle itératives
- Étapes pour l’écriture d’une boucle
- Les répétitions: while, do while, for
- Structures imbriquées
- Initialisation significative des variables
- Comment choisir une boucle
- Exercices : Formulation de problèmes et leurs résolutions
|
03 oct. 2006 |
6 |
Semaine d'études
|
10 oct. 2006 |
7 |
Examen de mi-session
|
17 oct. 2006 |
8 |
Initiation à la programmation orientée objet - Introduction aux méthodes
- Utilisation de méthodes prédéfinies
- Conception de méthodes
- Visibilité
- Exercices : Formulation de problèmes et leurs résolutions
|
24 oct. 2006 |
9 |
Introduction aux classes et objets
- Concepts : classe, objet, instance
- Classe prédéfinie String
- Application d’une méthode à un objet
- Conception d’une classe simple avec des méthodes et ses variables
- Constructeurs
- Exercices : Formulation de problèmes et leurs résolutions
|
31 oct. 2006 |
10 |
Tableaux
- Déclaration d’un tableau
- Manipulation d’un tableau
- Trier un ensemble de données
- Tableau à plus d’une dimension
- Accéder aux éléments d’un tableau
- Exercices
|
07 nov. 2006 |
11 |
La notion d’héritage et de polymorphisme
La programmation dynamique
- Les listes, les dictionnaires
- La notion de flux
- Exercices : formulation de problèmes et leurs résolutions
|
14 nov. 2006 |
12 |
L’archivage des données
- Les fichiers texte
- Les fichiers d’objets
- Gérer les exceptions
|
21 nov. 2006 |
13 |
Notions de programmation objet avancées et compléments
- Exercices : Formulation de problèmes et leurs résolutions
|
28 nov. 2006 |
14 |
Révision par des exemples
|
05 déc. 2006 |
15 |
Examen final
|
12 déc. 2006 |
Examen final : 50 %
- À livres fermés.
- Il influence beaucoup la note finale.
Examen de mi-session : 30 %
- À livres fermés.
- But principal : évaluer votre progrès.
Devoirs : 20 %
- Buts : développement de compétences pratiques et préparation pour l'examen final.
- Devoirs presque à chaque deux semaines.
- Distribués électroniquement sur la page Web du cours. À vous de vérifier!
- Chaque devoir compte.
- Tous requièrent l'utilisation d'un ordinateur. Les programmes que vous remettrez devront être compilables et exécutables dans l'environnement Java du laboratoire (JDK 1.5/5.0).
- À remettre via WebCT ou par le chargé d’exercices.
- Aucun retard ne sera toléré! Une note de 0 sera attribuée pour chaque devoir en retard.
- Les devoirs peuvent être faits en équipe de deux étudiants. Copier un devoir (ou une partie) constitue un plagiat, qui est une forme de fraude académique sérieuse, et ne sera pas toléré.
Barème d'évaluation
-
Examen final : 50 %, Examen partiel : 30 %, Devoirs : 20 % .
-
Notez bien : la moyenne pondérée des examens doit être supérieure ou égale à 50% pour que les devoirs comptent!
|
|
- Non-obligatoire mais recommandé aux étudiants n'ayant pas ou peu d'expérience de programmation:
"Le livre de Java premier langage"
, 3e édition, Anne Tasso, Éditions Eyrolles, juillet 2005.
-
"Programmer en Java", Delanoy, C. 4e édition (Java 5.0), Eyrolles, 2006.
-
"Java Programming : From Problem Analysis to Program Design", D.S. Malik and P.S. Nair.
-
"A First Book of Java", Gary J. Bronson, Thompson - Brooks/Scole .
-
"On To Java", P. H. Winston et S. Narasimhan, 3rd Edition (version en ligne).
-
"An Introduction to Computer Science Using Java", S. N. Kamin, M. D. Mickunas, et E. M. Reingold.
-
"Conception objet en Java BleuJ", BARNES, D.J., KÖLLING M. Pearson Education, 2003.
|
|