CS-119(h) / coefficient 6

Teacher(s): Lévêque Olivier, Stojilovic Mirjana

Language: French


Résumé

L'objectif de ce cours est d'initier les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'informatique et des communications et de développer une première compétence en programmation avec le langage Python.

Contenu

La partie théorique est organisée en trois modules : calcul (algorithmes, récursion, complexité, représentation des nombres), information (échantillonnage, reconstruction, th. de Nyquist-Shannon, compression, 1er th. de Shannon), systèmes et sécurité (ordinateur de von Neumann, hiérarchies de mémoire, réseaux, menaces et défenses, cryptographie à clé secrète, RSA).

La partie pratique présente une introduction à la programmation impérative et à ses concepts fondamentaux avec le langage Python. Elle aborde les notions suivantes: variables, expressions, structures de contrôle (conditions, boucles), fonctions (déclaration, appel, arguments), modules, entrées-sorties, structures de données (list, set, tuple, dictionary), interfaces graphiques simples et utilisation de bibliothèques (numpy, matplotlib) et d'environnement différents (IDE vs. Jupyter notebooks).

Mots-clés

Informatique, Ordinateurs, Algorithmes, Communication, Programmation

Acquis de formation

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

  • Analyser un problème complexe pour le décomposer en sous-problèmes
  • Concevoir et exprimer un algorithme
  • Modéliser en langage Python une situation simple du monde réel décrite en français
  • Transcrire un algorithme en son programme équivalent en Python
  • Calculer la complexité d'un algorithme simple
  • Expliquer comment représenter des nombres et des symboles dans un ordinateur
  • Exposer comment mesurer la quantité d'information présente dans des données
  • Réaliser de façon autonome une application de petite taille au moyen du langage Python
  • Analyser du code Python simple pour en décrire le résultat ou le corriger s'il est erroné
  • Tester l'adéquation du résultat d'un programme simple par rapport à la tâche demandée
  • Exposer comment capter la réalité physique avec des (suites de) nombres
  • Exposer comment reconstruire les grandeurs physiques à partir de suites de nombres les représentant
  • Exposer quel problème peut être résolu avec un algorithme
  • Utiliser la ligne de commande Linux pour exécuter un programme
  • Structurer un programme
  • Comparer plusieurs approches (bouts de code)

Compétences transversales

  • Utiliser les outils informatiques courants ainsi que ceux spécifiques à leur discipline.
  • Accéder aux sources d'informations appropriées et les évaluer.

Méthode d'enseignement

Partie théorique: séances ex cathedra avec exercices

Partie pratique (programmation): séances ex cathedra, classe inversée, travaux pratiques sur ordinateur

Travail attendu

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

Méthode d'évaluation

Contrôle continu: deux examens intermédiaires pendant le semestre (valant pour respectivement 50% et 35% de la note finale) et un projet de programmation (valant pour 15% de la note finale)

Encadrement

Office hours Non
Assistants Oui
Forum électronique Oui

Ressources

Service de cours virtuels (VDI)

Oui

Bibliographie

Ressources en bibliothèque

Liens Moodle

Vidéos

In the programs

  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Information, Computation, Communication
  • Lecture: 3 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory
  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Information, Computation, Communication
  • Lecture: 3 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: mandatory

Reference week

Friday, 9h - 10h: Lecture CE13

Friday, 10h - 12h: Exercise, TP CM1103
CM1110
CM1112
BC07-08

Friday, 13h - 15h: Lecture CO1

Friday, 15h - 16h: Exercise, TP CO017
CO015
CO016
CO010
CO011

Related courses

Results from graphsearch.epfl.ch.