Cs50
:green_book: Problem sets for CS50 course by Harvard University
Install / Use
/learn @endiliey/Cs50README
Harvard CS50 2016/2017x Weekly Overview
Week 0: Scratch
Link to play the game that I created :
https://scratch.mit.edu/projects/137526206/#fullscreen
Week 1: C
water.c : a program to convert shower's length (in minutes) to equivalent water bottles
~/workspace/pset1/ (master) $ ./water
minutes: 10
bottles: 120
mario.c : a program that recreates half-pyramid using hashes (#) for blocks.
~/workspace/pset1/ (master) $ ./mario
height: 8
##
###
####
#####
######
#######
########
#########
greedy.c : a program to count minimum number of coins needed for a change using greedy algorithm
~/workspace/pset1/ (master) $ ./mario
Height: -2
Height: -1
Height: foo
Retry: bar
Retry: 1
##
Week 2: Crypto
caesar.c : a program to caesar cipher a text
~/workspace/pset2/ (master) $ ./caesar 13
Be sure to drink your Ovaltine!
Or fher gb qevax lbhe Binygvar!
vigenere.c : a program to vigenere cipher a text
~/workspace/pset2/ (master) $ ./vigenere bacon
Meet me at the park at eleven am
Negh zf av huf pcfx bt gzrwep oz
Week 3: Game of Fifteen
fifteen.c : a game of fifteen games
~/workspace/pset3/ (master) $ ./fifteen 4
15 14 13 12
11 10 9 8
7 6 5 4
3 1 2 _
Tile to move:
Week 4: Forensics
whodunit.c : a program that intelligently analyze an image (clue.bmp) and turn it to a better image (verdict.bmp)
~/workspace/pset4/ (master) $ ./whodunit clue.bmp verdict.bmp
resize.c : a program that can enlarge an image to n size
~/workspace/pset4/ (master) $ ./resize 4 small.bmp large.bmp
recover.c : a program that recovers .jpeg images from card.raw
~/workspace/pset4/ (master) $ ./recover
Week 5 and 6: Spellchecker
~/workspace/pset5/ (master) $ ./speller dictionaries/large endi.txt
MISSPELLED WORDS
nme
veri
persan
yo
bro
USConstitution
http
usconstitution
const
html
WORDS MISSPELLED: 10
WORDS IN DICTIONARY: 143091
WORDS IN TEXT: 722
TIME IN load: 0.10
TIME IN check: 0.00
TIME IN size: 0.00
TIME IN unload: 0.06
TIME IN TOTAL: 0.16
Week 7 and 8: Python
Requirements & Dependencies:
cd ~/workspace/pset6/sentiments/
pip3 install --user -r requirements.txt
Convert some of week 1 & 2 .c programs to .py
~/workspace/pset6/ (master) $ python mario.py
Height: 5
##
###
####
#####
######
~/workspace/pset6/ (master) $ python greedy.py
O hai! How much change is owed?
0.41
4
~/workspace/pset6/ (master) $ python caesar.py 13
HELLO
URYYB
~/workspace/pset6/ (master) $ python vigenere.py bacon
Meet me at the park at eleven am
Negh zf av huf pcfx bt gzrwep oz
Sentiments
smile.py : a program that categorizes a word as positive or negative
tweets.py categorizes a user’s recent 100 tweets as positive or negative (uses Twitter API)
Implement a website that generates a pie chart categorizing a user’s tweets
Usage:
~/workspace/pset6/sentiments/ (master) $ export API_KEY= <insert your API_KEY from Twitter here>
~/workspace/pset6/sentiments/ (master) $ export API_SECRET= <insert your API_SECRET from Twitter here>
~/workspace/pset6/sentiments/ (master) $ export FLASK_APP=application.py
~/workspace/pset6/sentiments/ (master) $ export FLASK_DEBUG=1
~/workspace/pset6/sentiments/ (master) $ flask run
Week 9: Python & SQL
C$50 Finance Implement a website via which users can "buy" and "sell" stocks, a la the below.
Requirements & Dependencies:
cd ~/workspace/pset7/finance/
pip3 install --user -r requirements.txt
Usage:
~/workspace/pset7/finance/ (master) $ flask run
~/workspace/pset7/finance/ (master) $ phpliteadmin finance.db
Week 10 & 11: Javascript
Implement a website that lets users search for articles atop a map (using Google's API)
Requirements & Dependencies:
cd ~/workspace/pset8/mashup/
pip3 install --user -r requirements.txt
Usage:
~/workspace/pset8/mashup/ (master) $ export API_KEY=<API_KEY from Google Maps API>
~/workspace/pset8/mashup/ (master) $ flask run
~/workspace/pset8/mashup/ (master) $ phpliteadmin mashup.db
Week 12-end: Final Project
https://github.com/endiliey/rengorum
Disclaimer : I am aware that my materials might not be free of errors. I intend to correct them as I encounter it. I am still learning :)
Related Skills
node-connect
347.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
108.7kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
108.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
347.9kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
