Comprendre et résoudre les problèmes mathématiques élémentaires liés à l'encodage de l'information dans les systèmes informatiques.
- Qu'est ce qu'un code et comprendre le code binaire utilisé par le système informatique ou "langage machine"
- L'encodage et le décodage
- Les bases de la théorie des ensembles et la logique booléenne ou algèbre de Boole
- Comment un système informatique exécute des programmes
A l'issue de ce module vous :
- Comprendrez comment l'information est encodée et utilisée sur des cas concrets (entiers, nombres décimaux, texte) ;
- Maîtriserez le système binaire et le passage d'un système à l'autre ;
- Maîtriserez la logique booléenne ;
- Connaîtrez les grands principes du fonctionnement d'un ordinateur (composants logiques).
Accéder à la fiche d'exercices
Accéder aux programmes et aux solutions des exercices de programmation
- Voir les programmes pour le changement de base, arithmétique binaire, opérations sur les ensembles et dénombrement, récursion
- Voir la démo compilation du C au code machine
- Voir la démo compilation du C au code machine, la phase de linkage ou comment distribuer des programmes
- Code: The Hidden Language of Computer Hardware and Software, de Charles Petzold (1ere ou 2nd édition), publiée chez Addison Wesley, 2022. Un classique sur le fonctionnement des ordinateurs et l'encodage de l'information. Un must-read. LP++
- Structured Computer Organization: Sixth Edition, de Todd Austin, Andrew Tanenbaum, publié chez Pearson, 2012. LP++
- The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine, de Charles Petzold, publié chez Wiley, 2008. Un excellent livre qui accompagne le lecteur dans le papier fondateur de Turing de 36 pages sur le fondement de l'informatique. LE++
- Computer Organization and Design Fundamentals, David Tarnoff, auto-publié, 2005/2007. Livre complet accessible en ligne, en anglais. LI++
- Méthodes mathématiques pour l'informatique - 5e édition, Jacques Vélu, Geneviève Avérous, publié chez Dunod, 2019. Ce manuel explique en profondeur tous les thèmes qui constituent le socle des connaissances mathématiques "indispensables" à tout informaticien·e. (Un peu rude et austère mais complet et bien écrit). Avec exercices corrigés. LP+
- Rétro-ingénierie pour Débutants, comprendre le langage d’assemblage, de Dennis Yurichev, traduction du russe en français, publié sous licence Creative Commons, version 2023. LI
- What Every Programmer Should Know About Memory, de Ulrich Drepper (RedHat), publié en novembre 2007
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), un excellent article de Joel Spolsky (2003) sur l'Unicode, l'encodage UTF-8 et les characters sets
- What Every Programmer Should Know About Floating-Point Arithmetic, excellent site open-source qui fournit de nombreuses réponses (correctes) sur les questions liées à l'encodage des nombres rationnels en informatique (nombres à virgule flottante)


