Skip to content

MebaZT/CS50-Coursework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS50P: Introduction to Programming with Python

This repository contains my solutions to the problem sets for CS50's Introduction to Programming with Python (CS50P).

Each folder corresponds to a specific problem set from the course, demonstrating concepts ranging from basic variables to Object-Oriented Programming (OOP) and File I/O.

📂 Repository Structure

Week 0: Functions & Variables

  • Indoor Voice: String methods and basic input.
  • Playback Speed: String manipulation.
  • Making Faces: Custom functions and return values.
  • Einstein: Mathematics and variables.
  • Tip Calculator: Float operations.

Week 1: Conditionals

  • Deep Thought: Basic equality checks.
  • Home Federal Savings Bank: String comparison and formatting.
  • File Extensions: Suffix checking.
  • Math Interpreter: arithmetic logic.
  • Meal Time: Time conversion and logical operators.

Week 2: Loops

  • Camel Case: String iteration and list manipulation.
  • Coke Machine: While loops and integer handling.
  • Just setting up my twttr: Vowel removal algorithms.
  • Vanity Plates: Complex validation logic.
  • Nutrition Facts: Dictionaries (Key-Value pairs).

Week 3: Exceptions

  • Fuel Gauge: Try/Except blocks for error handling.
  • Felipe’s Taqueria: KeyErrors and infinite loops.
  • Grocery List: Sorting and counting.
  • Outdated: Date parsing and validation.

Week 4: Libraries

  • Emojize: Using external packages (emoji).
  • Frank, Ian and Glen’s Letters: ASCII art with pyfiglet.
  • Adieu, Adieu: The inflect library for natural language.
  • Guessing Game: Randomization and input validation.
  • Little Professor: Game logic and scoring.
  • Bitcoin Price Index: API requests using requests and JSON parsing.

Week 5: Unit Tests

  • Testing my twttr: pytest basics.
  • Back to the Bank: Testing conditionals.
  • Re-requesting a Vanity Plate: Testing boolean logic.
  • Refueling: Testing exceptions.

Week 6: File I/O

  • Lines of Code: Reading files and complexity analysis.
  • Pizza Py: CSV reading and tabulate.
  • Scourgify: CSV writing and data cleaning.
  • CS50 P-Shirt: Image manipulation with Pillow.

Week 7: Regular Expressions

  • Numb3rs: IPv4 validation.
  • Watch on YouTube: HTML parsing with Regex.
  • Working 9 to 5: Time format standardization.
  • Regular, um, Expressions: Counting patterns.
  • Response Validation: Email validation using libraries.

Week 8: Object-Oriented Programming

  • Seasons of Love: Date classes and operator overloading.
  • Cookie Jar: Class properties and custom methods.
  • CS50 Shirtificate: PDF generation with fpdf2.

🚀 Final Project

My final project, a Password Manager, is located in a separate repository. View the Final Project Here


🛠️ Usage

To run any of the files, navigate to the specific directory and run python:

cd indoor
python indoor.py

To install the required libraries for Weeks 4-8:

pip install -r requirements.txt

⚠️ Academic Honesty

This code is uploaded for educational and portfolio purposes only. If you are currently taking CS50P, please do not copy these solutions directly. The essence of the course lies in solving these problems yourself!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages