Information, Computation, Communication
Résumé
L'objectif de ce cours est d'introduire les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'Informatique 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 (représentation des nombres, algorithmes, récursion, complexité),
- 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).
La partie pratique (initiation à la programmation en langage C++) aborde les notions suivantes : variables, expressions, structures de contrôle, fonctions, entrées-sorties, ...
Les concepts théoriques introduits lors des cours magistraux seront mis en pratique dans le cadre d'exercices de programmation sur une machine virtuelle Ubuntu.
Mots-clés
calcul, information, communication
algorithme, pseudocode, programmation
Acquis de formation
A la fin de ce cours l'étudiant doit être capable de:
- Concevoir un algorithme
- Exprimer 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
- Analyser un problème complexe pour le décomposer 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++
- Calculer l'ordre de complexité d'un algorithme simple
- Réaliser une application de petite taille au moyen du langage C++
- Analyser du code C++ simple pour 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.
- Accéder aux sources d'informations appropriées et les évaluer.
Méthode d'enseignement
partie théorique: ex-cathedra avec exercices
partie pratique: séances ex cathedra partiellement inversée complétant un cours en ligne (MOOC), travaux pratiques sur ordinateur, un micro-projet permet d'intégrer les notions vues en cours et mettre en pratique les principes d'abstraction et de ré-utilisation
Travail attendu
Participation au cours (en salle et en-ligne), résolutions d'exercices, projet individuel.
Developpement d'une capacité d'autonomie basée sur la recherche par mots-clef en priorité sur le forum du cours et sur celui du MOOC, et enfin sur tout site externe pertinent. La formulation de questions documentées est centrale pour l'efficacité de ces outils. Vous êtes encouragés à répondre vous-même si vous connaissez la réponse (c'est un bon entrainement pour devenir un.e. futur.e assistant.e-étudiant). L'usage d'AI générative n'est pas interdit pour le projet mais devra être documenté dans le (court) rapport du projet.
Méthode d'évaluation
Rendu d'un travail individuel en C++ pendant le semestre (12%).
Examens écrits pendant le semestre (83%) : la partie théorique du cours compte pour 45% et la partie C++ compte pour 38% de la note finale du cours.
Quizz Cybersécurité pendant le semestre (5%).
Encadrement
Office hours | Non |
Assistants | Oui |
Forum électronique | Oui |
Ressources
Service de cours virtuels (VDI)
Oui
Bibliographie
Livre de la partie théorique: Découvrir le Numérique, sous la direction de André Schiper, PPUR, édition 2018
Livre servant de base pour la partie pratique: J.-C. Chappelier, C++ par la pratique, PPUR 2017 (4e édition).
Ressources en bibliothèque
Polycopiés
copie des slides sur moodle
Sites web
Préparation pour
COM-112(a) project oriented programming (C++)
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