CS-119(g) / coefficient 6

Teacher(s): Jobstmann Barbara, Sam Jamila

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 (langage C++).

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 C++. Elle aborde les notions suivantes: variables, expressions, structures de contrôle (conditions, boucles), fonctions (déclaration, appel, arguments) et entrées-sorties.

 

Mots-clés

Informatique, Ordinateurs, Algorithmes, Communication, Programmation

Acquis de formation

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

  • Concevoir et exprimer un algorithme
  • Calculer la complexité d'un algorithme simpe
  • Expliquer quel problème peut être résolu 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 les grandeurs physiques avec des nombres
  • Expliquer comment reconstruire les grandeurs physiques à partir de suite de nombres les représentant
  • 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
  • Analyser un problème complexe pour le décompoer en sous-problèmes
  • Modéliser en langage C++ une situation simple du monde réel décrite en Français
  • Transcrire un algorithme en son programme équivalent en C++
  • Réaliser de façon autonome une application de petite taille au moyen du langage C++
  • Analyser du code C++ 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

Compétences transversales

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

Méthode d'enseignement

Partie théorique : Ex cathedra avec exercices
Partie pratique (programmation) : séances ex cathedra complétant un cours en ligne (MOOC), travaux pratiques sur
ordinateur.

Travail attendu

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

Méthode d'évaluation

Contrôle continu sous forme de 2 examens et un mini-projet pendant le semestre.

Encadrement

Office hours Non
Assistants Oui
Forum électronique Oui

Ressources

Service de cours virtuels (VDI)

Oui

Bibliographie

Découvrir le numérique / A. Schiper, R.Guerraoui

Ressources en bibliothèque

Sites web

Liens Moodle

Préparation pour

Programmation orientée objet

In the programs

  • Semester: Fall
  • Exam form: During the semester (winter session)
  • Subject examined: Information, Computation, Communication
  • Courses: 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
  • Courses: 3 Hour(s) per week x 14 weeks
  • Exercises: 3 Hour(s) per week x 14 weeks
  • Type: optional

Reference week

Related courses

Results from graphsearch.epfl.ch.