CS-119(k) / coefficient 6

Enseignant: Pereira Pires Rafael

Langue: Français


Résumé

D'une part, le cours aborde: (1) la notion d'algorithme et de représentation de l'information, (2) l'échantillonnage d'un signal et la compression de données et (3) des aspects liés aux systèmes: ordinateur, mémoire, etc. D'autre part, le cours donne une introduction à la programmation en Python.

Contenu

Module 1: Calcul

  • Calcul et algorithmes
  • Stratégies de calcul
  • Théorie du calcul
  • Représentation de l'information

Module 2: Information

  • Echantillonnage d'un signal
  • Reconstruction d'un signal
  • Compression de données I
  • Compression de données II

Module 3: Systèmes

  • Architecture de von Neumann
  • Hiérarchies de mémoire
  • Réseaux de communication
  • Sécurité

En parallèle, les leçons de programmation couvrent les sujets suivants:

  • Introduction à la programmation en Python
  • Statements et expressions, variables et types de données
  • Flux d'un programme, conditions et boucles
  • Fonctions, structure d'un programme
  • Modules et imports
  • Structures de données: listes, sets, dictionnaires
  • Classes, dataclasses
  • Fonctions d'ordre supérieur
  • Lecture et écriture de fichiers texte et image
  • Concept de threads et de multithreading
  • Introduction aux Jupyter notebooks

 

Mots-clés

Informatique, Ordinateurs, Algorithmes, Communication, Programmation, Python, Linux.

Acquis de formation

A la fin de ce cours l'étudiant doit être capable de:

  • Exprimer un algorithme
  • Concevoir un algorithme
  • Expliquer ce qu'on peut résoudre avec un algorithme
  • Expliquer ce qu'on peut résoudre efficacement avec un algorithme
  • Exposer comment représenter des nombres et des symboles
  • Exposer comment capter la réalité physique avec des nombres
  • Expliquer comment reconstruire cette réalité à partir de nombres
  • Exposer comment mesurer la quantité d'information présente dans des données
  • Expliquer comment stocker des données en utilisant le moins d'espace possible
  • Construire des programmes en Python
  • Implémenter des formules mathématiques et des algorithmes simples
  • Utiliser la ligne de commande Linux
  • Structurer un programme
  • Comparer plusieurs approches différentes (extraits de code)

Compétences transversales

  • Utiliser les outils informatiques courants ainsi que ceux spécifiques à leur discipline.

Méthode d'enseignement

Ex cathedra et exercices sur ordinateurs.

Travail attendu

Participation au cours (en salle), résolutions d'exercices, travail personnel à la maison.

Méthode d'évaluation

  • Un midterm de programmation, valant pour 20% de la note.
  • Un mini-projet de programmation, valant pour 10% de la note.
  • Un examen final pendant la session d'examens valant pour 70% de la note.

Le miniprojet est à faire par groupes de deux ou individuellement.

Encadrement

Office hours Non
Assistants Oui
Forum électronique Oui

Ressources

Service de cours virtuels (VDI)

Oui

Bibliographie

La bibliographie est donnée au début du semestre.

Ressources en bibliothèque

Liens Moodle

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Information, calcul, communication
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Exercices: 3 Heure(s) hebdo x 14 semaines
  • Type: obligatoire
  • Semestre: Printemps
  • Forme de l'examen: Ecrit (session d'été)
  • Matière examinée: Information, calcul, communication
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Exercices: 3 Heure(s) hebdo x 14 semaines
  • Type: obligatoire

Semaine de référence

Lundi, 15h - 16h: Cours CM2

Lundi, 16h - 18h: Exercice, TP CO020
CO023
CO021

Vendredi, 14h - 16h: Cours CE12

Vendredi, 16h - 17h: Exercice, TP INF1
INF119
INM201
INM203
INJ218
DIA005
DIA004

Cours connexes

Résultats de graphsearch.epfl.ch.