Welcome to my repository for CS50P: Introduction to Programming with Python, offered by Harvard University. This repository contains all my problem set solutions and the final project submitted to fulfill the course requirements.
CS50P is a comprehensive introduction to programming using Python. The course emphasizes problem-solving, software design, and writing clean, efficient, and "Pythonic" code. It covers fundamentals like functions and variables, and scales up to object-oriented programming, file I/O, regular expressions, and unit testing.
Below is the detailed breakdown of the weekly problem sets completed in this course. Each week introduced new concepts and required building various terminal-based applications.
| Week | Topic | Problem Sets Included | Description |
|---|---|---|---|
| 0 | Functions, Variables | indoor, playback, faces, einstein, tip |
Basic string manipulation, mathematical operations, and utilizing functions. |
| 1 | Conditionals | deep, bank, extensions, interpreter, meal |
Control flow, Boolean expressions, if/elif/else, and match statements. |
| 2 | Loops | camel, coke, twttr, plates, nutrition |
Iterating with for and while loops, manipulating lists/dictionaries. |
| 3 | Exceptions | fuel, taqueria, grocery, outdated |
Handling runtime errors gracefully using try, except, else, and pass. |
| 4 | Libraries | emojize, figlet, adieu, game, professor, bitcoin |
Utilizing Python's standard library, third-party packages via pip, and APIs. |
| 5 | Unit Tests | test_twttr, test_bank, test_plates, test_fuel |
Writing test functions using the pytest framework to verify code logic. |
| 6 | File I/O | lines, pizza, scourgify, shirt |
Reading from and writing to .txt, .csv files, and manipulating images via PIL. |
| 7 | Regular Expressions | numb3rs, watch, working, um, response |
Pattern matching, data extraction, and validation using the re module. |
| 8 | Object-Oriented Programming | seasons, jar, shirtificate |
Classes, objects, methods, properties, decorators, and operator overloading. |
Project Title: [-------]
Video Demo: [-------]
(------)
As per CS50P guidelines, the project is structured as follows:
project.py: Contains the main function and at least three custom functions at the same indentation level.requirements.txt: Lists all pip-installable libraries required for the project.
To test out my solutions or run the final project locally on your machine, follow the steps below:
1. Clone the repository:
git clone [https://github.com/hasanyousuf044-code/CS50-Python-problem-set.git](https://github.com/hasanyousuf044-code/CS50-Python-problem-set.git)2. Navigate to the repository:
cd week 0OR
cd week (`write any number of week what are you want`)3. Install required dependencies: (Note: Only required for specific weeks or the Final Project)
pip install -r requirements.txt4. Run any specific file: You can run any of the files individually using Python. For example:
python indoor.pyOR
python bank.pyI am a passionate learner exploring the world of programming and AI. If you have any suggestions or feedback, feel free to reach out!
- GitHub: hasanyousuf044-code
Keep coding, keep exploring! 🚀