Programmation 1

Informations

Langue d'enseignement : Français
Crédits ECTS: 3

Programme

  • Heures d'enseignement dispensées à l'étudiant : 30 heures
  • Temps de travail personnel : 45 heures

Objectifs et compétences

Objectifs :
L’objectif de l’UE est d’initier les étudiants à la programmation et à l’utilisation d’un environnement de développement. Depuis les deux contractualisations précédentes de la Licence MIASHS, nous avons pris l’option d’utiliser un langage de programmation unique pour l’ensemble des UE incluant de la programmation (aussi bien en informatique que pour certaines UE de mathématiques appliquées). En l’occurrence il s’agit du langage Python, qui présente l’avantage d’avoir une syntaxe simple et particulièrement pédagogique, et qui est d’ailleurs de plus en plus utilisé comme langage d’initiation dans l’enseignement supérieur. Le retour d'expérience de ce choix est extrêmement positif, et nous encourage à le péréniser pour l'accréditation à venir.

Programme :

Cette UE de "Programmation 1" se focalise exclusivement sur le paradigme de "programmation impérative", sachant que le paradigme de "programmation par objets" sera abordé dans l'UE "Programmation 2" en troisième année. Le programme suit en grande partie le livre de Gérard Swinnen (cf. référence ci-dessous) qui est librement téléchargeable sur Internet et reprend un par un, les éléments constitutifs de tous les langages impératifs : syntaxe, constantes, variables, expressions, instructions, blocs, portée, fonctions, passage de paramètres, modularité.

* Gérard Swinnen, Apprendre à programmer en Python, Eyrolles (www.inforef.be/swi/python.htm)

Durant les 6 premières semaines de l'UE, les aspects théoriques abordés en cours, donnent lieu à des exercices classiques de mise en oeuvre en travaux dirigés. Par contre, les 6 semaines de la seconde partie du semestre, sont entièrement consacrées à un projet tutoré réalisé en binôme, qui donnera lieu à une séance de présentation finale à l'arrivée. Les séances de "suivi de code" durant ce projet tutoré permet d'orienter chaque binôme sur la conception, l'architecture puis l'implémentation du code, en identifiant les outils qualitatifs standards pour le développement (outils de débogage, tests unitaires, etc). En particulier, on donnera une grande importance à la séparation entre le noyau et l'interface lors de ce développement logiciel, en imposant deux interfaces (l'une en mode texte, l'autre en mode graphique) qui devront s'appuyer sur le même noyau.

Compétences acquises :

Les notions vues dans ce module permettent aux étudiants de réaliser un mini-projet de programmation qui se déroule sur la seconde moitié du semestre. Différents sujets de projets de difficulté variable sont proposés aux étudiants qui effectuent le choix en fonction de leur aisance dans le domaine de la programmation.

Compétences :
  • Travailler en équipe dans différents contextes, y compris avec des personnes issues de disciplines différentes : s'intégrer, se positionner, collaborer, communiquer et rendre compte.

  • Etre capable de travailler en équipe
  • Maîtriser l'environnement numérique de travail, découvrir et utiliser l'ensemble des outils mis à disposition des étudiants par l'université

  • Mettre en œuvre des outils mathématiques et informatiques pour des applications relevant du domaine des sciences cognitives, de l’économie et de la gestion.
  • Mettre en œuvre des techniques de programmation (objet) dans des langages de calcul comme scilab, R, python.
  • Mettre en œuvre des outils mathématiques et informatiques pour des applications relevant du domaine des sciences cognitives, de l’économie et de la gestion.
  • Maîtriser les concepts de base des architectures logicielles, aussi bien pour les langages de programmation modulaires que pour les langages par objets.

Organisation pédagogique

le mode de fonctionnement de l'UE est présenté au début des enseignements

Contrôle des connaissances

session1: CC (1/3) + examen terminal 1h30 (2/3)

session 2: Max (Exam sess. 2 (1h30), 2/3*exam sess. 2 + 1/3* CC sess. 1)

Lectures recommandées

l'ensemble des références bibliographiques est communiqué au début des enseignements

Responsable de l'unité d'enseignement

Christophe Schlick

Enseignants

la composition de l'ensemble de l'équipe pédagogique est communiquée au début des enseignements