Ce repository documente mon parcours d'apprentissage du cours CS50x de Harvard, une introduction complète à l'informatique suivie par plus d'un million d'étudiants dans le monde. Ce cours gratuit via edX couvre les fondamentaux de la programmation, des algorithmes et du développement web.
- Maîtriser les bases du langage C et de la gestion mémoire
- Apprendre Python et ses applications pratiques
- Comprendre les structures de données et algorithmes fondamentaux
- Découvrir les technologies web (HTML, CSS, JavaScript, Flask)
- Renforcer mes compétences en bases de données avec SQL
- Préparer mon Master en Computer Science
Introduction à la pensée computationnelle avec Scratch, blocs visuels, concepts de base de la programmation.
Syntaxe C, compilation, types de données, fonctions, bibliothèques standards, debugging avec printf
.
Arrays, chaînes de caractères, manipulation de caractères, arguments en ligne de commande, cryptographie basique.
Algorithmes de tri (bubble, selection, merge), recherche (linéaire, binaire), analyse de complexité (Big O), récursivité.
Pointeurs, allocation dynamique, gestion heap/stack, manipulation de fichiers, formats d'images (BMP, JPEG).
Listes chaînées, arbres binaires, tables de hachage, piles, files, optimisation des accès mémoire.
Transition vers Python, syntaxe haut niveau, bibliothèques, programmation orientée objet, parsing de données.
Bases de données relationnelles, requêtes SQL, joins, indexation, conception de schémas, SQLite.
HTML5, CSS3, JavaScript, DOM manipulation, responsive design, frameworks CSS, interfaces utilisateur.
Flask, sessions, cookies, APIs REST, sécurité web, authentification, déploiement d'applications.
Développement d'un projet personnel intégrant les compétences acquises, présentation et documentation.
Semaine | Sujet | Exercices réalisés | Statut |
---|---|---|---|
Week 0 | Scratch | Projet Scratch (non inclus dans le repo) | ✅ Terminé |
Week 1 | Langage C | hello.c , mario.c , credit.c |
✅ Terminé |
Semaine | Sujet | Prévision |
---|---|---|
Week 2 | Arrays | En cours |
Week 3 | Algorithmes | À venir |
Week 4 | Mémoire | À venir |
Week 5 | Structures de données | À venir |
Week 6 | Python | À venir |
Week 7 | SQL | À venir |
Week 8-10 | Web & Projet final | À venir |
📝 Problem Set : https://cs50.harvard.edu/x/2025/psets/0/
Exercice | Description | Fichier | Difficulté |
---|---|---|---|
Scratch Project | Création d'un projet interactif avec Scratch (blocs visuels) | Non inclus dans le repo | ⭐ |
📝 Problem Set : https://cs50.harvard.edu/x/2025/psets/1/
Exercice | Description | Fichier | Difficulté |
---|---|---|---|
Hello | Programme interactif de salutation personnalisée | hello.c |
⭐ |
Mario | Génération de pyramides adjacentes avec validation d'entrée | mario.c |
⭐⭐ |
Credit | Validation de cartes de crédit avec algorithme de Luhn | credit.c |
⭐⭐⭐ |
- Cours CS50x 2025 - Site officiel
- edX Platform - Plateforme d'apprentissage
- CS50 IDE - Environnement de développement
- Documentation CS50 - Référence technique
- Programmation en C : Syntaxe, pointeurs, gestion mémoire
- Algorithmes : Tri, recherche, analyse de complexité
- Structures de données : Listes, arbres, tables de hachage
- Développement web : Frontend et backend complets
- Bases de données : Conception et requêtes SQL
- Résolution de problèmes : Approche méthodique et debugging
Dernière mise à jour : Juillet 2025