Programmation informatique

Nombre d’heures :

40h équivalent présentiel

Objectifs du cours :

Ce cours a pour but de familiariser l’étudiant avec les concepts de la programmation et de l’algorithmie. Pour illustrer ces concepts deux langages seront étudiés : le langage C++ et le langage Python. Ces deux langages ont de grandes similitudes dans leurs utilisations mais se complètent dans leur fonctionnement (l’un est compilé et l’autre interprété). En plus de leurs facilités d’utilisation, chacun de ces deux langages permettra à l’étudiant de poursuivre s’il le souhaite sur des aspects plus techniques de l’informatique : les notions d’objets par le Python et les notions de bas niveau (allocation mémoire, pointeurs) par le C/C++.

Unité d’enseignement optionnelle du DAEU B (scientifique).

Synopsis du cours Introduction à la programmation :

Le découpage est pédagogiquement adapté, le cours se divise en trois parties (périodes) correspondant aux divers aspects de la programmation, articulées autour de moment de classe inversées :

  1. La première partie a pour objet de familiariser l’élève avec les notions et le fonctionnement élémentaires de l’informatique, la machine et les premiers éléments de programmation (lire, écrire compter, variables, mémoires, données, tests boléens...).
  2. La seconde partie a pour but l’approfondissement dans les outils techniques et technologiques de la programmation et est davantage orientée du coté algorithmie (boucles, fonctions, tableaux, …).
  3. La dernière partie est quant à elle dédiée à la notion de projet informatique à travers la réalisation d'un projet afin d’appliquer les concepts à la réalisation (cahier des charges, besoins client, ergonomie, technologie).
  • Période 1 : Notions de base
    • Jalon 1 : Écrire
    • Jalon 2 : Lire et compter
    • Jalon 3 : Les déroulés
    • Jalon 4 : Conditionnement
  • Période 2 : Notions avancées
    • Jalon 5 : Boucles
    • Jalon 6 : Tableaux
    • Jalon 7 : Caractères et chaines de caractères
    • Jalon 8 : Fonctions
  • Période 3 : Notion du projet informatique
    • Jalon 9 : Projet en informatique - gestion et planification
    • Jalon 10 : Projet en informatique - architecture
    • Jalon 11 : Projet en informatique - techniques et technologies
    • Jalon 12 : Projet en informatique - bêta-tests, documentation et livrable

Domaine de compétences visé :

On distingue trois champs de compétences :

Compétences logiques

Elles consistent à penser à la résolution d'un problème (informatique, mais aussi de plus large nature) de manière séquencée pour arriver à l'écriture de sa résolution algorithmiquement (par exemple, trouver le plus grand nombre dans une liste de nombre).

Compétences technologiques

Elles consistent en l'apprentissage et la maitrise des langages supportant ce cours (le C++ et le Python) au moins dans la forme impérative de la programmation (il n'y sera pas questions d'aborder l'allocation dynamique de la mémoire ou de l'utilisation possible de la version objets des langages par exemple).

Compétences gestionnaires

Elles consistent à comprendre la nature d'un projet, ses besoins, les possibilités et les impossibilités, les faisabilités, le coût, les risques etc.