https://github.com/professorlearncode/cs50x-coursework
https://github.com/professorlearncode/cs50x-coursework
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/professorlearncode/cs50x-coursework
- Owner: ProfessorlearnCode
- Created: 2025-06-29T08:08:16.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T08:19:20.000Z (12 months ago)
- Last Synced: 2025-06-29T09:24:27.093Z (12 months ago)
- Language: HTML
- Size: 14.6 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π CS50x β My Journey Through Harvardβs Introduction to Computer Science
This repository contains my full coursework and problem set solutions for **CS50x β Harvard University's Introduction to Computer Science**, taught by [David J. Malan](https://cs.harvard.edu/malan/).
---
## π§ What is CS50x?
**CS50x** is an entry-level computer science course designed for majors and non-majors alike. It teaches how to think algorithmically and solve problems efficiently using multiple programming paradigms and languages.
### Key Topics Covered:
- Algorithms and Data Structures
- C Programming (Memory, Pointers, Files)
- Arrays, Hash Tables, Linked Lists, Trees
- Recursion and Sorting Algorithms
- Python & Flask
- SQL and Web Development
- Computer Security
- Final Project (real-world implementation)
---
## β Why CS50x?
I enrolled in CS50x to:
- Gain a **deep understanding of low-level computing**
- Sharpen my **problem-solving and algorithmic thinking**
- Experience **real-world computer science challenges**
- Complement my academic work in AI, IoT, and Web Dev
This course significantly shaped how I approach code and system design β from data structures to debugging tools like `valgrind` and `gdb`.
---
## π What's Inside?
Each folder represents a problem set or lab exercise across the courseβs 10+ weeks.
| Folder | Description |
|--------|-------------|
| `mario-less`, `mario-more`, `cash`, `credit` | C basics, loops, and conditionals |
| `caesar`, `substitution` | Cryptography with C |
| `readability`, `plurality`, `runoff`, `tideman` | Algorithmic thinking and election simulations |
| `speller`, `recover`, `sort` | Memory, file I/O, and data structures |
| `filter-less`, `volume` | Image and audio processing with C |
| `homepage` | HTML/CSS web project |
| `inheritance`, `finance` | Python OOP and web programming |
| `project/` | My final project for CS50x (standalone repo coming soon!) |
| `sentimental-*` | Transition from C to Python (rebuilding earlier psets in Python) |
> All code is written from scratch per course guidelines. Some may include helper comments and personal insights.
---
## π¬ My Reflections
Completing CS50x felt like a rite of passage into real-world computer science. Here's what I took away:
- π§© How to break down complex problems into smaller, solvable chunks
- π§ Debugging strategies using `debug50`, `valgrind`, and `gdb`
- πΎ A much deeper appreciation of memory and resource management
- π Motivation to build advanced, industry-grade projects
---
## π Final Project
The `project/` folder includes the prototype of my final project. A standalone GitHub repo with proper documentation and deployment instructions is coming soon!
---
## π Acknowledgements
- Big thanks to **Harvard**, **CS50 staff**, and **David J. Malan** for this outstanding course.
- All problems, labs, and final project are done individually in accordance with [CS50 Academic Honesty Policy](https://cs50.harvard.edu/x/honesty/).
---
π _If you're thinking about learning computer science β CS50x is one of the best places to start._
---
_**Happy Hacking!** π»_