DEV1 - Développement

Organisé au quadrimestre Q1

Coordinateur de l'unité: Pierre Bettens (PBT)

Activités d'apprentissage incluses

Sections concernées

Description

But

Le but de cette unité d’enseignement est de faire découvrir aux étudiants et étudiantes quelques étapes de développement d’un logiciel : la compréhension du problème, la rédaction d’algorithmes, la traduction dans un langage de programmation et la réalisation sur différents systèmes.

Cette unité d’enseignement conscientisera l’étudiant ou l’étudiante sur ce qu’est le métier de développeur ou développeuse d’application. Elle lui permettra d’acquérir les premiers réflexes de développement.

Objectifs généraux

À la fin du cours, l’étudiante ou l’étudiant sera en mesure de :

  • mettre en œuvre un processus de développement d’une application ;

  • analyser un problème, élaborer un algorithme cohérent solutionnant ledit problème et écrire une solution dans le langage de programmation Java ;

  • s’approprier différentes représentations d’un algorithme en vue de les implémenter dans le langage de programmation Java ;

  • reconnaitre et se servir de structures de données classiques ;

  • connaitre et utiliser les types et les structures de contrôle tant dans ses algorithmes que dans le premier langage de programmation ;

  • manipuler les environnements de travail Microsoft Windows et GNU/Linux pour un usage classique d’un utilisateur ou d’une utilisatrice avec un profil de développeur ou développeuse ;

  • se servir d’un IDE (Integrated Development Environment) tout aussi bien que d’un terminal et d’un éditeur de texte pour rédiger et exécuter ses programmes ;

  • utiliser un outil de gestion de version de code pour les tâches habituelles de développement ;

  • travailler sur une machine distante ;

  • gérer son calendrier en fonction des échéances, y compris lorsque les détails sont donnés oralement ;

  • être autonome dans sa recherche documentaire (API Java, pages de manuel…) ;

  • être autonome dans son apprentissage.

Dans son ensemble, la formation tend à développer des compétences comme : l’autonomie dans l’apprentissage en permettant à l’étudiant ou à l’étudiante d’avancer à son rythme dans les laboratoires et le *peer learning (l’apprentissage par les pairs) ainsi que le peer programming (la programmation par les pairs) voire le pair programming (la programmation en binôme)1.*

  1. La programmation en binôme (pair programming) est un terme usuel dans les environnements agiles. C’est la pratique qui consiste pour deux développeurs ou développeuses de partager une même station de travail. La programmation par les pairs (peer programming) est, quant-à elle la pratique où plusieurs développeurs et développeuses apprennent les unes des autres… pendant les laboratoires et non pendant les évaluations.