Information, Computation, Communication
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
- 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: optional