Syllabus des olympiades junior d’informatique
Introduction
Ce syllabus est un document officiel qui encadre les olympiades d'informatique - junior d’un point de vue scientifique, en déterminant les sujets les plus prioritaires pour la formation et l’évaluation.
Un candidat MOIJ sera amené le long du parcours à apprendre et pratiquer les algorithmes et techniques listées dans le document, il devra maîtriser tout le programme pour pouvoir participer aux olympiades nationales d’informatique MOI.
Cette version du Syllabus est en vigueur pour MOIJ 2022.
Auteurs et contacts
La version initiale du document a été publiée par Omar Salim Moussa, Adam Benali et Moncef Mhasni, membres du comité scientifique MOI.
Pour toute question ou suggestion merci de nous contacter sur l’adresse scicommittee@arena.moi
Concepts de langages de programmation
- Organigramme de programmation
- Un langage de programmation, de préférence C ou C++
- Types de données
- Variables
- Entrée/Sortie
- Opérateurs binaires
- Structures de contrôle (conditions et boucles)
- Tableaux et chaines de caractère
- Fonctions
- Structures
- Complexité algorithmique
- Bibliothèque standard
- Interactivité
Mathématiques
Arithmétiques et géométrie
- Propriétés basiques des entiers (signe, parité,divisibilité)
- Arithmétique modulaire basique
- Test de primalité basiques
- Fractions, pourcentages
- Triangle, rectangle, cercle and surfaces
- Point, vecteur, coordonnées dans le plan
- Théorème de Pythagore
Graphes
- Représentation graphique
- Types et propriétés de base (cycles, orientations, …)
- Représentation en mémoire
- Parcours de graphe
- Plus court chemin
Autres
- Dénombrement de base
- Algèbre de bool et tableaux de vérité
- Induction
- Récursivité (Fibonacci)
Structures de données
- STL stack, queue, priority queue
- STL map, set, deque
- Arbres binaires
Algorithmes
- Tri a bulles, fonctions de tri STL
- Recherche, dichotomie.
- Diviser pour régner (quick sort)
- Introduction aux algorithmes gloutons (greedy coin change)
- Bases de programmation dynamique (Fibonacci revisited)