This repository is dedicated to storing my projects, notes and files related to Harvard University's CS50x course.
I started this course on April 11, 2024.
- 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. The course is designed to be challenging yet accessible to beginners, making it an excellent choice for those looking to dive into the world of computer science.
Test: number of successfully completed tests.
Style: assessing compliance with a given coding style from 0.0 to 1.0 points.
Problem set 0 | Description | Test |
---|---|---|
scratch | Project in Scratch |
8 / 8 |
Problem set 1 | Description | Test | Style |
---|---|---|---|
hello, world | Print "hello, world" | 5 / 5 | 1.0 |
hello, it's me | Prompt the user for their name and then say "hello" to that user. | 5 / 5 | 1.0 |
mario-less | Print a right-aligned pyramid, using hashes (#) for bricks. | 10 / 10 | 1.0 |
mario-more | Print an adjacent pyramid, using hashes (#) for bricks. | 10 / 10 | 1.0 |
cash | Print the minimum coins needed to make the given amount of change. | 10 / 10 | 1.0 |
credit | Check the validity of a given credit card number. | 17 / 17 | 1.0 |
Week 1: Additional practice | Description | Test | Style |
---|---|---|---|
debug | Debug the given code. | 4 / 4 | 1.0 |
half | Calculate the amount each of you owes based on the bill amount, the tax, and the tip. | 6 / 6 | 1.0 |
prime | Test if a number is prime, and return true if it is, and false if it is not. | 5 / 5 | 1.0 |
Problem set 2 | Description | Test | Style |
---|---|---|---|
scrabble | Determine the winner of a short Scrabble-like game. | 11 / 11 | 1.0 |
readability | Calculate the approximate grade level needed to comprehend some text. | 11 / 11 | 1.0 |
caesar | Encrypt messages using Caesar’s cipher. | 11 / 11 | 1.0 |
substitution | Encrypt messages using a substitution cipher. | 18 / 18 | 1.0 |
Week 2: Additional practice | Description | Test | Style |
---|---|---|---|
hours | 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.0 |
no-vowels | Replace vowels in a word, which you will input at the command line. | 6 / 6 | 1.0 |
password | Check the validity of a password. | 7 / 7 | 1.0 |
Problem set 3 | Description | Test | Style |
---|---|---|---|
sort.txt | Determine which sorting algorithm is used by each file. | 3 / 3 | |
plurality | Run a plurality election. | 14 / 14 | 1.0 |
runoff | Simulate a runoff election. | 25 / 25 | 1.0 |
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.