Cours du premier semestre de la première année

Programmation 1

Méthodologie de la programmation

L'objectif de ce cours est d'apprendre à apprendre à programmer et d'acquérir les bases d'une pratique autonome de la programmation : conception de programmes, implémentation, compilation le cas échéant, exécution, test. Dans un contexte où la production de code peut être largement assistée, l'acquisition d'une méthodologie permettant de concevoir, comprendre, vérifier et corriger un programme devient d'autant plus essentielle. Il s'agit d'acquérir les bases nécessaires à l'apprentissage de la programmation et donc à la poursuite de la licence. Le cours aborde principalement la programmation impérative en s'appuyant sur Python et C.

Programmation fonctionnelle 1

L'objectif de ce cours est l'apprentissage de la programmation. Le choix du paradigme fonctionnel dès le premier semestre de la première année a pour but de donner de bonnes habitudes de programmation, notamment de faire réfléchir au “quoi” (l'objectif de l'algorithme) et pas seulement au “comment” (les étapes de l'algorithme) lors de la conception de programme. Ce cours utilise le langage Racket.

Pratiques et fondements 1

Architecture des ordinateurs

L'objectif de ce cours est de connaître les principes fondamentaux du fonctionnement d'un ordinateur et les relations entre matériel et logiciel. Le cours introduit la représentation et le codage de l'information, l'organisation d'un processeur, la mémoire, les instructions machine et les mécanismes d'entrée-sortie. Il permet aux étudiant·es de comprendre comment les programmes sont exécutés par la machine et comment les caractéristiques de l'architecture matérielle peuvent influencer la conception et les performances des programmes. Ce cours sera aussi l'occasion d'illustrer une des activités principales d'un programmeur : assembler des composants de base pour produire des composants spécifiques, mais ici en manipulant des composants "materiels" et pas "logiciel".

Gestion d'identité en ligne

L'objectif de ce cours est de réfléchir à notre rapport aux géants du web (Big Tech), et d'apprendre les bonnes pratiques à adopter pour faire attention à son image en ligne. En pratique, il s'agira d'apprendre à développer, mettre en ligne, et maintenir une page web personnelle simple qui pourra être alimentée par les différents projets académiques et personnels de chacun·e.

Pratique des machines

L'objectif de ce cours est de se familiariser avec l'environnement GNU/Linux, la ligne de commande et apprendre à connaître d'un peu plus près les machines qui vont être utilisées tout au long de la formation.

Programmation pour le jeu vidéo 1

Introduction aux moteurs de jeux

L'objectif de ce cours est d'introduire le fonctionnement des moteurs de jeux (leur rôle, leurs fonctionnalités), ainsi que la prise en main concrète d'un moteur de jeu en particulier (Godot).

Mathématiques pour l'informatique et les jeux vidéo

L'objectif de ce cours est de fournir des connaissances de base sur des notions mathématiques importantes en algorithmique et en conception de jeux-vidéos : théorie des ensembles et probabilités discrètes, éléments de géométrie euclidienne dans le plan, arithmétique des nombres et applications en cryptographie, introduction aux matrices et à la résolution de systèmes linéaires.

Découverte 1

Propédeutique

Ce cours est une petite introduction aux études universitaires : conseils et bonnes pratiques pour bien démarrer !

EC Libre

Un cours libre à choisir dans un autre département de l'université, sous réserve de compatibilité des emplois du temps.