A collection of assignments done as part of the CS50 course. The C assignments are implemented without the CS50 library.
- Hello - Self-explanatory "Hello World" program.
- Water - Simple input/output program that calculates equivalent water bottles used during shower X minutes long.
- Mario - Generates end-of-level Mario pyramids using loops.
- Credit - Given a number, determines whether input is a valid credit card number (using Lugn's algorithm) and it's type.
- Initials - Given the input of a name, program prints out the corresponding initials.
- Vigenere - Takes a commandline argument as a key and then encrypts an input using the Vigenere cypher.
- Crack - Incredibly rudimentary 4 alpha character password cracker which simply genetates passwords and compares hashes.
- Find - Implements Counting Sort and Binary Search to find a given value in an array.
- Fifteen - Implements the 15 puzzle.
- Whodunit - Iterates over a bitmap file, changes all red pixels to white ones, in order to discover the hidden message.
- Resize - Takes an input bitmap, and a float as a parameters, and creates a new bitmap scaled in dimensions by the float value.
- Recover - Can look over a raw binary dump of data, finding and extracting block-aligned jpeg images. Used for recovery.
- Speller - Implements a spell checking program. Two versions: chained hash table, and trie.
- Mario.py - Re-implementation of Mario from pset1 using Python.
- Credit.py - Re-implementation of Credit from pset1 using Python. Features list comprehension.
- Crack.py - Re-implementation of Crack from pset2 using Python. Features list comprehension.
- Sentiments - Implements necessary python programs to analyze tweets, rate for sentiment, and allow usage through simple web application.