% INF1120 — Programmation I % UQAM — Département d'informatique % Plan de cours — Été 2020 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Laforest, Louise PK-4725 poste 7790 Enseignement ------------- Lord, Mélanie PK-4115 poste 3699 Description du cours ==================== Acquérir une méthode de développement de solutions logicielles dans le cadre du paradigme orienté-objet: analyse du problème, conception simplifiée, codage et test d'une solution. Sensibiliser au développement de programmes de qualité: fiables, faciles à utiliser, à comprendre et à modifier. - Introduction à un environnement de développement logiciel. - Introduction aux algorithmes. - Éléments de programmation de base: vocabulaire, syntaxe et sémantique, constantes, variables, types simples et composés (tableaux à une et deux dimensions), conversions de type, affectation, opérateurs et expressions, instructions, structures de contrôle (séquence, sélection, itération), instructions simples d'entrées-sorties, fichier texte. - Introduction aux éléments de la programmation orientée-objet: classes, objets, méthodes et paramètres, variables de classe, d'instance et locale, portée et durée de vie des variables, constructeurs. - Notion d'encapsulation. - Introduction à l'utilisation de classes et de paquetages prédéfinis. Préalables académiques : Ce cours comporte une séance obligatoire de laboratoire (2 heures). Six de ces laboratoires seront évalués. Objectif du cours ================= Acquérir une méthode de développement de solutions logicielles dans le cadre du paradigme orienté-objet : analyse du problème, conception simplifiée, codage et test d'une solution. Sensibiliser au développement de programmes de qualité : fiables, faciles à utiliser, à comprendre et à modifier. Contenu du cours ================ - Introduction aux algorithmes - Lecture, affichage, sélection, boucles - Pseudo-code - De l'algorithme au programme - Édition, compilation, exécution - Environnement Java - Méthode simple de développement d'un logiciel - Introduction à la programmation Java - Structure d'un programme simple en Java - Conventions d'écriture du code Java - Notion de variables, de types simples et de constantes - Affectation de valeurs - Opérateurs arithmétiques, relationnels et logiques - Priorité des opérateurs - Type du résultat d'une expression - Transformation de type - Entrées/sorties simples - Affichage de valeurs de types simples - Saisie de valeurs - Utilisation d'une classe maison - Sélections - Instruction if-else - Sélections imbriquées - Choix multiples - Répétitions - Instructions while, do-while, for - Comment choisir une boucle - Introduction aux méthodes - Utilisation de méthodes prédéfinies - Conception de méthodes - Visibilité - 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 ses méthodes et ses variables - Constructeur - Tableaux - Déclaration et manipulation - Tableaux à plus d'une dimension - Traitement des exceptions - Fichiers - Fichiers de texte: lecture et écriture de données Modalités d'évaluation ====================== DESCRIPTION SOMMAIRE DATE PONDÉRATION ---------------------- ------ ------------- Mini test 1 \* 15% Mini test 2 \* 15% Mini test 3 \* 15% TP 1 \* 15% TP 2 \* 20% TP 3 \* 20% \* Les dates de remise sont spécifiées dans le site Moodle du cours. La note de passage du cours est de 60 %. À moins d'avis contraire, les travaux pratiques sont individuels et en cas de doute sur l'originalité des travaux, un rapport sera soumis au comité sur les infractions académiques. Les travaux doivent être remis aux dates spécifiées par chacun des enseignants. La politique concernant les retards pour les travaux pratiques est à la discrétion de chacun des enseignants. Il est de la responsabilité de l'étudiant de faire des copies de sauvegarde de ses fichiers. La perte de fichiers (à cause d'un virus ou de toute autre raison) n'est pas une raison valable pour remettre un travail en retard ou ne pas le remettre. Les étudiants doivent consulter régulièrement le site Web des cours de programmation ainsi que le site Web de leur enseignant. On y trouve, entre autres, les énoncés des travaux pratiques, certains exemples et les questions de révision pour les examens. 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. Médiagraphie ============ VR DELANNOY, C -- *Programmer en Java* -- 9E ÉDITION, EYROLLES, 2014. VC TASSO, A. -- *Le livre de Java premier langage* -- 6E ÉDITION, EYROLLES, 2009. VC BARNES, D.J., KÖLLING M -- *Conception objet en Java avec BlueJ* -- PEARSON EDUCATION, 2003.