https://github.com/professorlearncode/cs50p-coursework
https://github.com/professorlearncode/cs50p-coursework
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/professorlearncode/cs50p-coursework
- Owner: ProfessorlearnCode
- Created: 2025-06-29T07:56:35.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T08:07:11.000Z (12 months ago)
- Last Synced: 2025-06-29T09:19:23.220Z (12 months ago)
- Language: Python
- Size: 19.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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! π