This repository contains my solutions to the problem sets from CS50x, Harvard University's Introduction to Computer Science course. The projects span multiple languages and domains, including C, Python, SQL, HTML/CSS/JavaScript, and Flask.
| Project | Description |
|---|---|
| World | Basic "Hello, World!" program. |
| Me | Greets the user by name. |
| Mario-more | Prints Super Mario-style pyramids with adjustable height. |
| Credit | Validates credit card numbers using Luhn’s Algorithm. |
| Project | Description |
|---|---|
| Scrabble | Simulates a two-player Scrabble game and determines the winner. |
| Readability | Calculates the reading grade level of input text. |
| Substitution | Encrypts text using a user-supplied substitution cipher. |
| Project | Description |
|---|---|
| Sort | Analysis and comparison of selection, bubble, and merge sorts. |
| Plurality | Simulates a plurality election (first-past-the-post). |
| Tideman | Simulates an election using the Tideman (ranked pairs) method. |
| Project | Description |
|---|---|
| malloc | Memory allocation practice. |
| Volume | Adjusts the volume of an audio file (WAV) by a given factor. |
| Filter | Applies grayscale, blur, reflection, and edge detection filters to BMPs. |
| Recover | Recovers JPEG images from a raw forensic memory image. |
| Project | Description |
|---|---|
| Inheritance | Simulates blood type inheritance using structs and randomization. |
| Speller | Spell-checker that uses a hash table to validate words against a dictionary. |
| Concepts | Implementation of linked lists, binary trees, and hash tables (chaining). |
Re-implementations of some earlier C projects in Python:
- Hello, Me, Mario-more, Credit, Readability
- DNA: Matches DNA sequences to individuals based on STR counts in a CSV file.
SQL queries that explore a music database:
- List songs, sort by tempo, find top 5, filter by danceability, artist-specific queries (Post Malone, Drake), etc.
SQL queries exploring an IMDb-style database:
- Filter by year, actor, rating, director, Harry Potter films, co-stars, and more.
Solve a mystery using SQL queries:
-
Use provided
log.sqland a forensic database to uncover:- The thief
- The escape city
- The accomplice
-
Use
fiftyville.pyto automate and solve based on SQL insights.
| Project | Description |
|---|---|
| Trivia | A webpage quiz with multiple-choice questions. |
| Homepage | A four-page website using HTML, CSS, Bootstrap, and JavaScript. |
| Resources | W3Schools used as a reference: HTML, CSS, JS. |
| Project | Description |
|---|---|
| Birthdays | Flask app to track user birthdays using an SQL database. |
| Finance | Full-stack stock trading simulation with: |
- Registration & login
- Stock quote lookups via CS50 API
- SQL database integration
- Jinja template rendering |
For C or Python projects:
make project_name # For C files
./project_name # Run the compiled binary
python3 project.py # For Python filesFor web apps (HTML/Flask):
http-server # For frontend-only projects
flask run # For Flask appsThese projects are for educational purposes and follow CS50’s academic honesty policy.