Skip to content

d-vale/edx_cs50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

CS50x - Harvard Computer Science Course

CS50x edX Progress

📖 À 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, mario.c, 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/

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/

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 ⭐⭐⭐

🔗 Ressources

💡 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

About

Ce repository documente mon parcours d'apprentissage du cours CS50x de Harvard

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages