CS50x projects repository
This repository is dedicated to storing my projects, notes and files related to Harvard University's CS50x course.
Lecture Notes : I keep detailed notes of lectures and supplementary materials.
Problem Set Solutions : Explore my solutions to the problem sets and additional practices assigned in CS50x,
including programs written in C, Python, and other languages.
Work in Progress : This repository is a work in progress and will be continually updated as I progress through
the course.
CS50x is an introductory course to computer science offered by Harvard University. It covers a wide range
of topics, including programming in C, Python, web development, and more.
Test : number of successfully completed tests.
Style : assessing compliance with a given coding style from 0.0 to 1.0 points.
Problem set 0
Problem set 0
Description
Test
scratch
Project in Scratch
8 / 8
Problem set 1
Problem set 1
Description
Test
Style
hello, world.c
Print "hello, world"
5 / 5
1.00
hello, it's me.c
Prompt the user for their name and then say "hello" to that user.
5 / 5
1.00
mario-less.c
Print a right-aligned pyramid, using hashes (#) for bricks.
10 / 10
1.00
mario-more.c
Print an adjacent pyramid, using hashes (#) for bricks.
10 / 10
1.00
cash.c
Print the minimum coins needed to make the given amount of change.
10 / 10
1.00
credit.c
Check the validity of a given credit card number using Luhn’s algorithm.
17 / 17
1.00
Additional practice
Week 1: Additional practice
Description
Test
Style
debug.c
Debug the given code.
4 / 4
1.00
half.c
Calculate the amount each of you owes based on the bill amount, the tax, and the tip.
6 / 6
1.00
prime.c
Test if a number is prime, and return true if it is, and false if it is not.
5 / 5
1.00
Problem set 2
Problem set 2
Description
Test
Style
scrabble.c
Determine the winner of a short Scrabble-like game.
11 / 11
1.00
readability.c
Calculate the approximate grade level needed to comprehend some text.
11 / 11
1.00
caesar.c
Encrypt messages using Caesar’s cipher.
11 / 11
1.00
substitution.c
Encrypt messages using a substitution cipher.
18 / 18
1.00
Additional practice
Week 2: Additional practice
Description
Test
Style
hours.c
Complete a function that calculates, based on a user’s input, a total number of hours or an average number of hours across a given number of days.
6 / 6
1.00
no-vowels.c
Replace vowels in a word entered at the command line.
6 / 6
1.00
password.c
Check the validity of a password.
7 / 7
1.00
Problem set 3
Problem set 3
Description
Test
Style
sort.txt
Determine which sorting algorithm is used by each file.
—
—
plurality.c
Run a plurality election.
14 / 14
1.00
runoff.c
Simulate a runoff election.
25 / 25
1.00
tideman.c
Implement ranked-preference voting using adjacency matrix of candidates.
18 / 18
1.00
Additional practice
Week 3: Additional practice
Description
Test
Style
atoi.c
Rework 'atoi' function into recursion.
—
1.00
temps_bubble.c
Bubble sort : Sort the average high temperature values in descending order.
—
1.00
temps_selection.c
Selection sort : Sort the average high temperature values in descending order.
—
1.00
temps_insertion.c
Insertion sort : Sort the average high temperature values in descending order.
—
1.00
max.c
Write a function that finds the maximum value in an array given by user.
5 / 5
1.00
snackbar.c
Complete two functions. 1: Add the menu items. 2: Implement a linear search algorithm to search for each item you choose, return the total price.
—
1.00
Problem set 4
Problem set 4
Description
Test
Style
volume.c
Change the volume of a sound file by a given factor.
5 / 5
1.00
filter-less
Implement the functions that can apply grayscale
, sepia
, reflection
, or blur
filters to the images.
22 / 22
1.00
filter-more
Implement the functions that can apply grayscale
, reflection
, blur
, or edges
filters to the images.
23 / 23
1.00
recover.c
Implement a program that recovers JPEGs from a forensic image.
7 / 7
1.00
Additional practice
Week 4: Additional practice
Description
Test
Style
bottomup.c
Change the orientation of the image from bottom-up to top-down.
3 / 3
1.00
license.c
Debug the given code.
3 / 3
1.00
✅ Week 5: Data Structures
Problem set 5
Problem set 5
Description
Test
Style
inheritance.c
Simulate genetic inheritance of blood type.
7 / 7
1.00
speller
Implement a program that spell-checks a file using a hash table.
9 / 9
1.00
Additional practice
Week 5: Additional practice
Description
Test
Style
trie.c
Search for a name using trie.
—
1.00
Week 6.5: Artificial Intelligence
Week 8: HTML, CSS, JavaScript
Please do not copy these solutions, if you are also taking CS50x course, try solving the problem sets on your own.
I'm learning, so these solutions don't claim to be the best possible ones.