CS50 is the popular introductory Computer Science program at Harvard and Yale taught by David J. Malan. It was the largest class for the 2015 fall semester at both universities. Their website is: https://cs50.harvard.edu/
The course has nine psets (psets 0-8), with four psets (psets 1-4) having two versions, hacker and original, with hacker being a harder version designed for those who have a computer science background. This directory has my solutions for psets 1-8 (both versions) along with their descriptions (pset 0 was excluded as it was to create a scratch game, which couldn't be upload to GitHub) and the pset specifications.
All the psets (except pset 0) were done in CS50 ide, which provides a terminal window along with options to write code. Below are brief descriptions of each pset along with their specifications.
pset 0: Create a Scratch program with specified features. (MIT Scratch website: https://scratch.mit.edu/)
Specifications: http://cdn.cs50.net/2015/fall/psets/0/pset0/pset0.html
pset 1: Create simple programs to learn basic C utilities (such as "Hello World", a shower time to water bottle converter, printing characters based on input, and minimum coin change algorithm).
Specifications: http://cdn.cs50.net/2015/fall/psets/1/pset1/pset1.html
pset 1 hacker edition: Similar to pset1, but required to make a credit card verifier algorithm and print out a more sophisticated pattern based on input.
Specifications: http://cdn.cs50.net/2015/fall/psets/1/hacker1/hacker1.html
pset 2: Create several cipher programs (caesar and vigenère) along with a name to initials algorithm.
Specifications: http://cdn.cs50.net/2015/fall/psets/2/pset2/pset2.html
pset 2 hacker edition: Create a more sophisticated name to initials algorithm (needs to account for more scenarios) and a brute force attack program (to crack hashed/encrypted passwords).
Specifications: http://cdn.cs50.net/2015/fall/psets/2/hacker2/hacker2.html
pset 3: Create a search algorithm and sort algorithm of run time O(n^2). Also program functionality for Game of Fifteen.
Specifications: http://cdn.cs50.net/2015/fall/psets/3/pset3/pset3.html
pset 3 hacker edition: Create a search algorithm and sort algorithm of run time O(n). Also program functionality for Game of Fifteen as well as a solver algorithm.
Specifications: http://cdn.cs50.net/2015/fall/psets/3/hacker3/hacker3.html
pset 4: Use File I/O to edit photos and recover deleted images.
Specifications: http://cdn.cs50.net/2015/fall/psets/4/pset4/pset4.html
pset 4 hacker edition: Similar to pset4, however the resize algorithm has to understand floats.
Specifications: http://cdn.cs50.net/2015/fall/psets/4/hacker4/hacker4.html
pset 5: Create a spell checker.
Specifications: http://cdn.cs50.net/2015/fall/psets/5/pset5/pset5.html
pset 6: Create a web server.
Specifications: http://cdn.cs50.net/2015/fall/psets/6/pset6/pset6.html
pset 7: Create a website that allows people to buy, sell, and manage a stock portfolio.
Specifications: http://cdn.cs50.net/2015/fall/psets/7/pset7/pset7.html
pset 8: Use google map's API to make a map that displays local news by town.
Specifications: http://cdn.cs50.net/2015/fall/psets/8/pset8/pset8.html
The programming languages used were: C (psets 1-5), html (psets 6-8), php (psets 6-8), javascript (pset 6-8), and SQL (psets 7-8).