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

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


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

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

# πŸ’» CS50P – My Journey Through Harvard's Intro to Programming with Python

Welcome to my solutions and personal notes from **CS50’s Introduction to Programming with Python (CS50P)** β€” a beginner-friendly course offered by Harvard University, taught by David J. Malan.

---

## 🧠 What is CS50P?

**CS50P** is a deep dive into the world of programming using Python β€” without assuming any prior coding experience. Unlike CS50x (which starts with C), this course teaches computational thinking, problem-solving, and software design using Python as the foundation.

### Key Topics Covered:
- Variables, Conditionals, Loops
- Functions, Arguments, Return values
- File I/O and Exception Handling
- Object-Oriented Programming (OOP)
- Regular Expressions
- Unit Testing and Code Design
- Web Scraping, APIs, and Libraries

---

## ❓ Why CS50P?

As someone pursuing Computer Science, I wanted to:
- **Strengthen my core Python skills**
- **Practice problem-solving through hands-on psets**
- **Learn to think like a programmer**, writing clean, tested, and efficient code
- **Explore real-world Python applications**, from file manipulation to testing and data scraping

CS50P offered all of that and more. It was an engaging, hands-on, and rewarding experience.

---

## πŸ“ What’s Inside This Repo?

Each folder here corresponds to a **problem set (pset)** or project from the course. These include weekly assignments and my final project.

| Folder | Description |
|--------|-------------|
| `bank`, `bitcoin`, `coke`, etc. | Individual psets testing various concepts (e.g. conditionals, loops, functions, APIs) |
| `test_*` | Unit testing exercises |
| `Final_Project` | My final project (separate repo coming soon) |
| `nutrition`, `plates`, `scourgify` | Real-world inspired programming challenges |
| `emoji`, `twtttr`, `shirtificate` | Fun projects focused on strings, formatting, and output |
| `outdated`, `indoor`, `response` | Working with files, APIs, and scraping web data |
| _and many more..._ | See the folders for all challenges completed! βœ… |

> Most programs include **docstrings**, are **PEP8 compliant**, and in some cases include **unit tests** using `pytest` or custom test scripts.

---

## πŸ’¬ My Remarks

Completing CS50P was like leveling up in how I think about coding. Here’s what I personally gained:

- A **deeper confidence** in solving programming problems from scratch
- Comfort with reading and writing **Pythonic code**
- Exposure to **real-world tools** like regular expressions and file handling
- Motivation to build bigger things β€” CS50P directly contributed to my later AI & IoT projects like `pixID` and `Intelli-Nutri`.

---

## πŸš€ Future Work

I plan to:
- Break down some solutions in blogs or comments
- Polish my **final project** and release it as a standalone repo
- Use CS50P foundations in more advanced projects (Flask apps, APIs, and LLMs!)

---

## πŸ™Œ Acknowledgements

- Massive thanks to **Harvard University** and **David Malan** for making this course freely available.
- Visit [cs50.harvard.edu/python](https://cs50.harvard.edu/python) for the official course.

---

πŸ“Œ _Check out the folders above to explore my journey. If you're learning Python, I highly recommend starting with CS50P._

Happy coding! 🐍