Teaching

Lectures, Projects, Code Snippets... for Computer Science

public IMA·2A·3

Programmation Structurée

Support de Cours
  1. Dans ce cours, nous allons définir Ce qu'est une variable Ce qu'est un type, les types de base Ce qu'est une constante, la déclarer et la définir Les expressions et affectations Les tests Les boucles

  2. Dans ce cours, nous allons définir Ecrire un programme C Utiliser les entrées-sorties avec printf et scanf Rediriger les entrées-sorties standard

  3. Dans ce cours, nous allons définir Quand utiliser des fonctions ? Syntaxe, déclaration, définition, appel des fonctions Notion de valeur de retour et paramètres formels et effectifs

  4. Dans ce cours, nous allons Calculer une complexité (mini, maxi, moyenne) en temps et espace Complexité asymptotique (linéaire, logarithmique, quadratique, polynômial...) Comparer deux implémentations d'algorithme via leur complexité.

  5. Qu'est ce qu'une procédure / fonction récursive ? Savoir dérouler les appels récursifs Déterminer la récursivité terminale Calculer la complexité en nombre d'appels récursifs

  6. Déclarer un tableau d'entiers, initialiser toutes ses cases et utiliser le tableau Connaître les différentes manières de parcourir un tableau Déclarer, initialiser et utiliser des matrices Connaître l'encodage de texte sous forme d'un tableau de caractères et savoir utiliser les fonctions de gestion de chaînes de caractères contenus dans string.h Savoir concevoir des algorithmes utilisant des tableaux et savoir évaluer leur complexité Connaître la spécificité des tableaux en terme de paramètres

  7. Connaître les principaux algorithmes de tris d'entiers. Savoir dérouler les algorithmes à la main sur des petits tableaux Savoir produire le c/ de ces algorithmes CConnaître et savoir calculer la complexité des tris

  8. Passage de paramètres par valeur et par adresse Schéma d'exécution d'un programme simple Déclarer, initialiser et utiliser des pointeurs Cas du pointeur NULL

Travaux Pratiques
  1. Premiers Pas avec Linux terminal bash

    L'objectif de ce TP est de découvrir et d'utiliser les commandes de base d'un système Unix / Linux. La maîtrise des concepts et des commandes est essentielle pour la suite du parcours ingénieur.

  2. L'objectif de ce TP est de voir comment utiliser l'éditeur VIM pour programmer en C. Cet éditeur sera utilisé par la suite dans le reste de votre cursus (en programmation avancée, systèmes, réseaux...).

  3. Premiers programmes en C C terminal VIM

    L'objectif de ce TP est d'écrire vos premiers programmes en C pour comprendre les différentes étapes (écriture, compilation, exécution) et interpréter les messages d'erreurs.

  4. Déclaration / manipulation de variables, structures de contrôle, boucles

  5. Écriture de programmes simples, utilisation des entrées-sorties standards

  6. Exercices sur la déclaration et définition de fonctions

  7. Exercices sur la récursivité

  8. Exercices sur les tableaux

  9. Tris C

    Exercices sur les tris de tableaux

  10. Exercices sur les pointeurs

public IMA·2A·3

Programmation Avancée

Evaluations
  1. L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en cours de programmation avancée comme les structures de données complexes, lecture / écriture de fichiers, compilation séparée et automatique, utilisation de gestionnaire de version...

  2. L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en cours de programmation avancée comme les structures de données complexes, lecture / écriture de fichiers, compilation séparée et automatique, utilisation de gestionnaire de version...

  3. L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en cours de programmation avancée comme les structures de données complexes, lecture / écriture de fichiers, compilation séparée et automatique, utilisation de gestionnaire de version...

  4. L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en cours de programmation avancée comme les structures de données complexes, lecture / écriture de fichiers, compilation séparée et automatique, utilisation de gestionnaire de version...

  5. L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en cours de programmation avancée comme les structures de données complexes, lecture / écriture de fichiers, compilation séparée et automatique, utilisation de gestionnaire de version...

  6. Projet 2020 · Capteurs de Pollution C Makefile GIT GitLab

    Mise en application des concepts vus en algorithmique / programmation cette année pour traiter les mesures de pollution fournies par un ensemble de capteurs connectés. Utilisation des techniques d'automatisation pour la compilation, test et suivi du code.