Skip to content

🚀HarvardX CS50's Introduction to Computer Science🚀

Notifications You must be signed in to change notification settings

koiiNyan/HarvardX-CS50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HarvardX CS50 2018

Here's the list of the tasks I've made for the course.

WEEK 0: Scratch

Link to my project in Scratch

WEEK 1: C

Hello

Task: Implement a program that prints out a simple greeting to the user, per the below.

$ ./hello
hello, world

hello.c

Mario

Task: Implement a program that prints out a half-pyramid of a specified height, per the below.

$ ./mario
Height: 5
    ##
   ###
  ####
 #####
######

mario1.c

Mario2

Task: Implement a program that prints out a double half-pyramid of a specified height, per the below.

$ ./mario
Height: 4
   #  #
  ##  ##
 ###  ###
####  ####

mario2.c

Cash

Task: Implement a program that calculates the minimum number of coins required to give a user change.

$ ./cash
Change owed: 0.41
4

cash.c

Credit

Task: Implement a program that determines whether a provided credit card number is valid according to Luhn’s algorithm.

$ ./credit
Number: 378282246310005
AMEX

credit.c

WEEK 1 (continued): Crypto

Caesar

Task: Implement a program that encrypts messages using Caesar’s cipher, per the below.

$ ./caesar 13
plaintext:  HELLO
ciphertext: URYYB

caesar.c

Vigenère

Task: Implement a program that encrypts messages using Vigenère cipher, per the below.

$ ./vigenere ABC
plaintext:  HELLO
ciphertext: HFNLP

vigenere.c

Crack

Task: Implement a program that cracks passwords, per the below.

$ ./crack 50fkUxYHbnXGw
rofl

crack.c

WEEK 2: Music

Music

Task:

  • Learn to read sheet music.
  • Learn to read code.
  • Convert musical notes to frequencies.
  • Synthesize songs.

Music

WEEK 3: Forensics

Whodunit

Task: Answer some questions and then implement a program that reveals a hidden message in a BMP, per the below.

$ ./whodunit clue.bmp verdict.bmp

Whodunit

Resize (Less)

Task: Implement a program that resizes BMPs, per the below.

$ ./resize 4 small.bmp large.bmp

Resize(Less)

Resize (More)

Task: Implement a program that resizes BMPs, per the below.

$ ./resize .25 large.bmp small.bmp
$ ./resize 4 small.bmp large.bmp

Resize(More)

Recover

Task: Implement a program that recovers JPEGs from a forensic image, per the below.

$ ./recover
Usage: ./recover image
$ echo $?
1
$ ./recover card.raw
$ echo $?
0

Recover

WEEK 4: Mispellings

Speller

Task: Implement a program that spell-checks a file, per the below.

$ ./speller texts/lalaland.txt
MISSPELLED WORDS

[...]
AHHHHHHHHHHHHHHHHHHHHHHHHHHHT
[...]
Shangri
[...]
fianc
[...]
Sebastian's
[...]

WORDS MISSPELLED:
WORDS IN DICTIONARY:
WORDS IN TEXT:
TIME IN load:
TIME IN check:
TIME IN size:
TIME IN unload:
TIME IN TOTAL:

Speller

WEEK 7: Déjà vu

Sentimental

Task: Implement the below exactly as specified but in Python

Similarities (Less)

Task:

  1. Implement a program that compares two files for similarities.
  2. Implement a website that highlights similarities across files, a la the below.

Similarities(Less)

Similarities (More)

Task:

  1. Implement a program that measures the edit distance between two strings.
  2. Implement a web app that depicts the costs of transforming one string into another.

Similarities(More)

WEEK 8: C$50 Finance

C$50 Finance

Task: Implement a website via which users can "buy" and "sell" stocks.

C$50 Finance

WEEK 9: Mashup

Mashup

Task: Implement a website that lets users search for articles atop a map.

Mashup

About

🚀HarvardX CS50's Introduction to Computer Science🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published