Passer au contenu
Sujets

Informatique universitaire

Conseils

Ce cours suit une formation typique en informatique, du premier programme au machine learning. Il débute par les fondamentaux de la programmation et les mathématiques discrètes, puis progresse vers la conception orientée objet, les structures de données et algorithmes, l'architecture informatique, les systèmes d'exploitation, les bases de données et les réseaux. Les modules ultérieurs couvrent la conception algorithmique, la théorie du calcul et les compilateurs, le génie logiciel, ainsi que l'intelligence artificielle et le machine learning.

Deux habitudes priment sur tout langage. Premièrement, écrire et exécuter du code chaque semaine : lire une solution ne remplace pas sa production. Deuxièmement, raisonner sur la complexité. Une réponse universitaire doit indiquer comment le temps d'exécution évolue avec la taille de l'entrée, noté en Big-O, et justifier la correction de l'algorithme, et non simplement affirmer qu'il a fonctionné sur un test unique.

Les mathématiques discrètes peuvent sembler distinctes de la programmation. Elles ne le sont pas. La démonstration par récurrence permet de prouver la validité d'une fonction récursive, et les graphes sous-tendent les cartes, les réseaux et les compilateurs.

  • 1

    Fondamentaux de la programmation

    • 1.1 Ce que ce cours est, et comment l'utiliser
    • 1.1 Valeurs, types et entrée/sortie
    • 1.2 Sélection : choisir entre plusieurs chemins
    • 1.3 Itération : refaire encore
    • 1.4 Fonctions : nommer une tâche une seule fois
    • 1.5 Collections : listes, dictionnaires, tuples, ensembles
    • 1.6 Fichiers et erreurs
    • 1.7 Décomposition, tests et débogage
  • 2

    Mathématiques discrètes

    • 2.1 Logique et démonstrations
    • 2.2 Ensembles, fonctions et relations
    • 2.3 Induction et récursion
    • 2.4 Dénombrement et combinatoire
    • 2.5 Graphes et arbres
    • 2.6 Probabilités discrètes
  • 3

    Fondamentaux des systèmes informatiques

    • 3.1 Binaire et codage des données
    • 3.2 Portes logiques et blocs de construction numériques
    • 3.3 Aperçu du processeur et de la mémoire
    • 3.4 Instructions machine
    • 3.5 Interface système d'exploitation
    • 3.6 Chemin de compilation et d'exécution
  • 4

    Programmation orientée objet

    • 4.1 Objets et classes
    • 4.2 Encapsulation
    • 4.3 Composition et héritage
    • 4.4 Interfaces et polymorphisme
    • 4.5 Exceptions et gestion des erreurs
    • 4.6 Tests et qualité de conception
  • 5

    Structures de données et algorithmes

    • 5.1 Analyse asymptotique
    • 5.2 Listes, piles et files d'attente
    • 5.3 Hachage
    • 5.4 Arbres et tas
    • 5.5 Graphes et parcours
    • 5.6 Tri
    • 5.7 Recherche
  • 6

    Architecture informatique

    • 6.1 Architecture de jeu d'instructions
    • 6.2 Chemin de données et contrôle
    • 6.3 Pipelinage
    • 6.4 Hiérarchie de la mémoire
    • 6.5 Entrées/sorties
    • 6.6 Parallélisme et performance
  • 7

    Systèmes d'exploitation

    • 7.1 Processus et threads
    • 7.2 Ordonnancement
    • 7.3 Synchronisation
    • 7.4 Mémoire virtuelle
    • 7.5 Systèmes de fichiers
    • 7.6 Protection et sécurité
  • 8

    Bases de données

    • 8.1 Modélisation relationnelle
    • 8.2 Algèbre relationnelle et SQL
    • 8.3 Normalisation
    • 8.4 Index et plans de requête
    • 8.5 Transactions et concurrence
    • 8.6 Sécurité et gouvernance des données
  • 9

    Réseaux d'ordinateurs

    • 9.1 Couches et architecture
    • 9.2 Couche liaison et IP
    • 9.3 Acheminement
    • 9.4 Transport (TCP/UDP)
    • 9.5 Protocoles applicatifs
    • 9.6 Sécurité réseau
    • 9.7 Fondamentaux des systèmes distribués
  • 10

    Conception et analyse d'algorithmes

    • 10.1 Récurrences et outils d'analyse
    • 10.2 Diviser pour régner
    • 10.3 Algorithmes gloutons
    • 10.4 Programmation dynamique
    • 10.5 Optimisation sur les graphes
    • 10.6 Réductions et NP-complétude
  • 11

    Théorie de la calculabilité et compilateurs

    • 11.1 Automates et langages réguliers
    • 11.2 Langages hors contexte et théorie du parsing
    • 11.3 Calculabilité
    • 11.4 Analyse lexicale
    • 11.5 Parsing
    • 11.6 Analyse sémantique et génération de code
  • 12

    Génie logiciel

    • 12.1 Spécifications des besoins
    • 12.2 Architecture et conception
    • 12.3 HCI et accessibilité
    • 12.4 Contrôle de version et travail en équipe
    • 12.5 Tests et intégration continue
    • 12.6 Sécurité et éthique professionnelle
    • 12.7 Projet d'équipe
  • 13

    Intelligence artificielle et apprentissage automatique

    • 13.1 Rechercher
    • 13.2 Connaissance et raisonnement
    • 13.3 Modèles probabilistes
    • 13.4 Régression et classification
    • 13.5 Optimisation et apprentissage
    • 13.6 Évaluation et fuite d'information
    • 13.7 Équité et limites

Se connecter ou créer un compte

IGCSE, A-Level & AP