An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# CS50x - Harvard Computer Science Course

[![CS50x](https://img.shields.io/badge/CS50x-Harvard-crimson)](https://cs50.harvard.edu/x/2025/)
[![edX](https://img.shields.io/badge/Platform-edX-blue)](https://learning.edx.org/course/course-v1:HarvardX+CS50+X/home)
[![Progress](https://img.shields.io/badge/Progress-18%25-orange)](#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*