https://github.com/d-vale/edx_cs50
Ce repository documente mon parcours d'apprentissage du cours CS50x de Harvard
https://github.com/d-vale/edx_cs50
c edx edx-cs50 harvard harvardcs50 js python sql
Last synced: 2 months ago
JSON representation
Ce repository documente mon parcours d'apprentissage du cours CS50x de Harvard
- Host: GitHub
- URL: https://github.com/d-vale/edx_cs50
- Owner: d-vale
- Created: 2025-06-26T09:56:57.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-02T13:03:06.000Z (3 months ago)
- Last Synced: 2025-07-02T13:45:24.109Z (3 months ago)
- Topics: c, edx, edx-cs50, harvard, harvardcs50, js, python, sql
- Language: C
- Homepage: https://www.edx.org/cs50
- Size: 6.84 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS50x - Harvard Computer Science Course
[](https://cs50.harvard.edu/x/2025/)
[](https://learning.edx.org/course/course-v1:HarvardX+CS50+X/home)
[](#progression)## 📖 À propos
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.
### 🎯 Mes objectifs
- 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## 📚 Programme du cours
### **Week 0 - Scratch** 🧩
Introduction à la pensée computationnelle avec Scratch, blocs visuels, concepts de base de la programmation.### **Week 1 - Langage C** ⚙️
Syntaxe C, compilation, types de données, fonctions, bibliothèques standards, debugging avec `printf`.### **Week 2 - Tableaux** 📊
Arrays, chaînes de caractères, manipulation de caractères, arguments en ligne de commande, cryptographie basique.### **Week 3 - Algorithmes** 🔍
Algorithmes de tri (bubble, selection, merge), recherche (linéaire, binaire), analyse de complexité (Big O), récursivité.### **Week 4 - Mémoire** 🧠
Pointeurs, allocation dynamique, gestion heap/stack, manipulation de fichiers, formats d'images (BMP, JPEG).### **Week 5 - Structures de données** 🌳
Listes chaînées, arbres binaires, tables de hachage, piles, files, optimisation des accès mémoire.### **Week 6 - Python** 🐍
Transition vers Python, syntaxe haut niveau, bibliothèques, programmation orientée objet, parsing de données.### **Week 7 - SQL** 🗄️
Bases de données relationnelles, requêtes SQL, joins, indexation, conception de schémas, SQLite.### **Week 8 - Web Frontend** 🎨
HTML5, CSS3, JavaScript, DOM manipulation, responsive design, frameworks CSS, interfaces utilisateur.### **Week 9 - Web Backend** 🚀
Flask, sessions, cookies, APIs REST, sécurité web, authentification, déploiement d'applications.### **Week 10 - Projet final** 🏆
Développement d'un projet personnel intégrant les compétences acquises, présentation et documentation.## 📈 Progression
### ✅ Semaines terminées
| Semaine | Sujet | Exercices réalisés | Statut |
|---------|-------|-------------------|--------|
| **Week 0** | Scratch | Projet Scratch (non inclus dans le repo) | ✅ Terminé |
| **Week 1** | Langage C | [`hello.c`](week1/hello.c), [`mario.c`](week1/mario.c), [`credit.c`](week1/credit.c) | ✅ Terminé |### 🔄 En cours / À venir
| 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 |## 🛠️ Détail des exercices
### Week 0 - Scratch
**📝 Problem Set :** [https://cs50.harvard.edu/x/2025/psets/0/](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* | ⭐ |### Week 1 - Langage C
**📝 Problem Set :** [https://cs50.harvard.edu/x/2025/psets/1/](https://cs50.harvard.edu/x/2025/psets/1/)| Exercice | Description | Fichier | Difficulté |
|----------|-------------|---------|------------|
| **Hello** | Programme interactif de salutation personnalisée | [`hello.c`](week1/hello.c) | ⭐ |
| **Mario** | Génération de pyramides adjacentes avec validation d'entrée | [`mario.c`](week1/mario.c) | ⭐⭐ |
| **Credit** | Validation de cartes de crédit avec algorithme de Luhn | [`credit.c`](week1/credit.c) | ⭐⭐⭐ |## 🔗 Ressources
- [**Cours CS50x 2025**](https://cs50.harvard.edu/x/2025/) - Site officiel
- [**edX Platform**](https://learning.edx.org/course/course-v1:HarvardX+CS50+X/home) - Plateforme d'apprentissage
- [**CS50 IDE**](https://ide.cs50.io/) - Environnement de développement
- [**Documentation CS50**](https://cs50.readthedocs.io/) - Référence technique## 💡 Compétences développées
- **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*