#CS50x README
This repository is a collection of source code that I wrote for the assignments in Harvard University's CS50x course. The course is hosted by the Harvard Extension School.
Below is a brief description of the purpose of each week’s assignment, as well as the language(s) the assignment used:
##C Language
######Week 1 - Intro
Pattern printing.c: Loops and nested loops are utilized to perform pattern printing
greedy.c: Writing a program designed to give a customer back a minimum number of coins for the change they are owed
######Week 2 - Cryptography
Caesar cipher.c: Encrypting command line arguments using a Caesar cipher
Vigenere cipher.c: Encrypting command line arguments using a Vigenère cipher
######Week 3 - Search and Sorting
Searching and Sorting: Using command line arguments and pipes to generate an array of random numbers, sort the array using selection sort, and search for a specific number using a recursive binary search method
Game of Fifteen: Using the above search and sort techniques to implement an interactive Game of Fifteen played via the terminal window
######Week 4 - Forensics
Bitmap Resizing: Manipulating pixels in Bitmap files to reveal hidden images, and using File I/O to resize Bitmap images
Memorycard Recovery: Using File I/O to recover JPEG images that were deleted off a memory card
######Week 5 - Data Structures
Hashtable Spellchecker and Trie Spellchecker: Implementing a spell checking program that loads a dictionary file into the specified data structure using File I/O, pointers and dynamic memory allocation and then checks a second file against the dictionary structure outputting total words, misspelled words and spell-checking speed
######Week 6 - Servers
server.c: Parsing request lines to separate the HTTP method, absolute path, optional query, and HTTP version, determining a requested file’s extension and returning the appropriate file type, using File I/O, pointers and dynamic memory allocation to read a file’s contents then store all the bytes contiguously in dynamically loaded memory on the heap
##HTML5, CSS, PHP, SQL
######Week 7 - Web Programming - Stocks
public, views and pset7.sql: Implementing a stock trading website that allows users to register, login, obtain real time stock quotes from Yahoo Finance, buy and sell stocks based on real time prices, view their portfolio, see their transaction history and change their password
##HTML5, CSS, PHP, MySQL, JavaScript, jQuery, Ajax, Underscore.js
######Week 8 - Web Programming - Google Maps bin/import, public/js/scripts.js, search.php and pset8.sql: Using Google News, Google Maps and the above languages to build a web application to retrieve local news of American cities and post articles on a Google map with city searching functionality