03 – Principes des langages de programmation

  1. Langages de programmation
  2. Compilation vs interprétation
  3. Petit historique
  4. Le langage Python
  5. Les autres langages
  6. Expressions
  7. Types de base en Python
  8. Variables (environnement, initialisation, affectation)
  9. Échanger le contenu de deux variables
  • TP n°3 : compilation/interprétation, découverte de Python, types et opérations (entiers, flottants, booléens), variables

Pour la semaine prochaine :

  • Terminer le TP n°3 et préparer les exercices de la partie 5

Si vous n’avez pas (encore) Python chez vous, vous pouvez utiliser en ligne le Jupyter Notebook

  • File -> New Notebook -> Python 3
  • Shift + Entrée pour valider une cellule

Compléments : vous pouvez regarder la vidéo L’importance des langages en informatique donnée par Gérard Berry (en particulier le passage 21m40s à 27m27s). Il y a aussi cet article sur Interstice.

02 – Traitement de l’information et systèmes d’exploitation

  1. Traitement de l’information
  2. Comment l’informatique unifie et transforme tout
  3. Bits, octets et préfixes binaires
  4. Numérisation et encodages
  5. Systèmes d’exploitation
  6. Arborescence des fichiers
  7. Droits d’accès
  • TP n°2 : Système d’exploitation : découverte de la console, processus et mémoire, arborescence des fichiers et gestion des droits

Pour la semaine prochaine

Compléments : vous pouvez regarder (en entier pour les passionnés ou simplement l’extrait 40m13s à 41m15s) le cours de Gérard Berry La photographie numérique, un parfait exemple de la puissance de l’informatique

 

01 – Introduction et architecture des ordinateurs

  1. Introduction à l’informatique
  2. Pourquoi enseigner l’informatique ?
  3. Qu’est-ce que l’informatique ?
  4. Une petite histoire de l’informatique
  5. Architecture d’un ordinateur
  6. L’architecture de type Von Neumann
  • TP n°1 : Montage d’un ordinateur, analyse des composants, architecture matérielle

Pour la semaine prochaine, regarder les deux vidéos suivantes :

Compléments :

12 – Programmation dynamique (suite)

  1. Multiplication chaînée de matrices
  2. Approche bottom-up vs top-down (mémoïsation)
  3. Généralités
  • DM n°5 avec évaluation
  • TD n°5 (exercice n°6)
  • TD n°6 (exercices n°3 et n°4)

Dernier devoir surveillé, concours blanc, mercredi 06/06/18 : bien réviser les TP n°7, n°8 et n°9 et le TD n°6.

 

11 – Programmation dynamique

  1. Structures enregistrements mutables
  2. Fermetures et effets de bords
  3. Principes généraux de la programmation dynamique
  4. Calcul des coefficients binomiaux
  5. Problème de découpe de planches
  6. Multiplication chaînée de matrices
  • DM n°4 avec évaluation

Il y aura un deuxième DS sur machine mercredi 23/05/18 de 15h à 18h au laboratoire informatique.

Pour le 28/05/18 :

  • Terminer la feuille de TD n°6.
  • Lire le polycopié sur la programmation dynamique et chercher le DM n°5.

10 – Tableaux en Caml

  1. La structure de données tableau
  2. Représentation mémoire
  3. Implémentation en Caml
  4. Parcours d’un tableau
  5. Copie d’un tableau
  6. Tableaux multi-dimensionnels
  • TP n°8 sur la programmation impérative en Caml
  • TP n°9 sur les tableaux

Pour la semaine prochaine :

  • Terminer les TP n°8 et n°9 et comparer avec le corrigé.
  • DM n°4

08 – Parcours d’arbres et forêts

  1. Parcours d’arbres
  2. Parcours en largeur
  3. Parcours en profondeur
  4. Arbres n-aires
  5. Types enregistrements
  • TD n°5 : Arbres (exercices 1 à 4)
  • TP n°7 : Types enregistrements et forêts d’arbres

Pour mercredi (DS n°2 de 15h à 18h, en salles machines) :

  • Lire la feuille de conseils de programmation.
  • Travailler le corrigé du DM n°3.
  • Terminer le TP n°7.

Pour la semaine prochaine :

  • Chercher les exercices 5 et 6 du TD n°5 sur les arbres.

07 – Arbres

  1. Introduction
  2. Induction
  3. Arbres binaires
  • TD n° 4 : Récursivité terminale (exercices 1 à 5)
  • TP n° 5 : Arbres

Pour la rentrée :

  • Terminer le TP n°5 et comparer avec le corrigé.
  • Relire le cours sur les arbres.
  • Préparer le TD n°5 sur les arbres.
  • Préparer le DM n°3.

06 – Fonctions sur les listes

  1. Concaténation
  2. Miroir d’une liste
  3. La fonctionnelle List.map
  • Correction du DM n°2 et calculs de complexité
  • TP n°5 : Diviser pour régner

Pour mercredi (DS n°1 de 15h à 17h, salles 254-255) :

  • En plus des révisions générales, bien réviser le tri insertion et sa complexité et l’exponentiation rapide (TP n°5, partie II).
  • Lire et bien comprendre le corrigé du DM n°2.

Pour la semaine prochaine :

  • Lire le cours sur la récursivité terminale
  • Terminer le TP n°5 jusqu’au tri fusion (au moins).
  • Préparer le TD n°4.