Langages

Niveau I

1. Langage de programmation (12h)

ressources pédagogiques : accès à la plate-forme moodle

Cette unité vise à développer les compétences suivantes :

  • Programmer un algorithme décrit en langue naturelle ;
  • Comprendre un programme et exprimer en langue naturelle l’algorithme sous-jacent ;
  • Choisir un type de donnée en fonction d’un problème à résoudre ;
  • Concevoir l'entête (ou l’interface) d’une fonction, puis la fonction elle-même ;
  • Documenter une fonction, un programme ;
  • Mettre un programme au point en le testant, l'instrumentant ;
  • Utiliser un outil de mise au point.

Les éléments communs aux langages de programmation sont présentés et mises en pratique à l’aide du langage de programmation python.

  • Affectation, séquence, test, boucle, déclaration.
  • Opérateurs numériques, booléens, de chaînes de caractères (concaténation).
  • Fonctions, récursivité (terminale, non terminale).
  • Allocation mémoire (locale, globale) et types de données dynamiques.
  • Données en partage, copie. Effets de bord.
  • Méthodes et outils de développement (méthodes de débogage, sources d'erreur usuelles).

2. Langages du web (4h)

ressources pédagogiques : accès à la plate-forme moodle

La présentation du texte et des images que ce soit dans un éditeur de texte ou pour une page web utilisent des notions communes de description et de mise en forme. Cette unité vise à donner les compétences pour :

  • Créer une page web en dissociant le contenu de la mise en forme ;
  • Créer plusieurs mises en forme pour un même contenu ;
  • Utiliser un validateur en ligne.

Cette unité s’attache à présenter les structures universelles du web : le langage de description du contenu HTML et la description de la mise en forme CSS.

Niveau II

1. Informatique et langages (4h)

La communication entre l’être humain et la machine s’effectue par un langage. L’exécution d’un algorithme par un ordinateur nécessite de l’exprimer dans un langage adapté à la machine. Dans ce domaine, il n’y a pas un seul langage (comme dans la communication entre êtres humains) mais une multitude de langages de programmation.  Cette unité développe la compétence suivante:

  • Choisir un langage adapté à un algorithme.

Cette unité aborde les points suivants:

  • Eléments historiques en informatique.
  • Notions sur les machines de Turing et le lambda calcul,
  • indécidabilité du problème de l’arrêt.
  • Evolution des langages informatiques et des environnements de programmation.
  • Présentation des principaux paradigmes de programmation : impératif, orienté objet, fonctionnel, logique et concurrent. Exemples et mise en œuvre.

2. Programmation de mobiles (4h)

Android est actuellement le système d'exploitation pour mobiles le plus distribué au monde. Il offre la possibilité d'installer sur son appareil de nouvelles applications, développées par un tiers ou alors par soi-même. Cette unité vise à acquérir les compétences suivantes :

  • Installer l'environnement de développement Android SDK ;
  • Développer des applications simples proposant plusieurs écrans à l'utilisateur, avec possibilité de navigation entre les écrans.

3. Langage de script (4h)

Certaines tâches sont fastidieuses à réaliser via l'interface graphique d'une machine. Nous allons voir comment bien utiliser les principales commandes Unix pour les faire rapidement. Cette unité présente les principaux points suivants :

  • Interfaces homme/machine : interface graphique, interface textuelle.
  • Principales commandes Unix
  • Langage de commandes pour Unix : Bash
  • Automatisation des tâches: Notion de script shell