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

https://github.com/professorlearncode/cs50x-coursework


https://github.com/professorlearncode/cs50x-coursework

Last synced: 12 months ago
JSON representation

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!** πŸ’»_