Skip to content

Latest commit

 

History

History
85 lines (64 loc) · 5.58 KB

README.md

File metadata and controls

85 lines (64 loc) · 5.58 KB

Harvard CS50: Introduction to Computer Science

These are my solutions to Harvard University's "CS50: Introduction to Computer Science" course offered at edX. I used both CS50's c9.io IDE and my own text editor on linux & macOS + CS50's Libraries to complete this course (library references here.)

To complete the following Problem sets, I studied all of the CS50's lectures (2017 and 2018), shorts, walkthrough (2017), and participated in class discussions via /r/CS50 on Reddit. All Problem set submissions received correctness scores of 5/5 and "style" score of atleast 4/5 (efficiency doesn't '\n' before and after '{' ).

NOTE: Do not use 2017 solution for 2018 as they will have different "check50" standards.

CS50 (2018) Problem Sets: (whats new?)

CS50 (2017) Problem Sets:

CS50 2018 Sylabus:

This course teaches you how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience. 68% of CS50 students have never taken CS before.

IDE, Command Line, Data Types, Operators, Conditional Statements, Loops

Debugging, Functions, Variables and Scope, Arrays, Command Line Arguments, Magic Numbers

Computational Complexity, Selection Sort, Bubble Sort, Insertion Sort, Linear Search, Binary Search, Algorithms Summary, Recursion, Merge Sort, GDB

Call Stacks, File Pointers, Pointers, Dynamic Memory Allocation, Hexadecimal

Structures, Defining Custom Types, Singly-Linked Lists, Hash Tables, Tries, Stacks, Queues, Data Structures

Internet Primer, IP, HTTP, HTML, CSS

Dynamic Programming, Rod cutting, Network Routing, Sequence matching, Image Composing, Seam Carving

Python Basics, More Python

Web Programming, Frosh IMs, Similarities

Flask, MVC, SQL, Cookies, Databases

JavaScript, DOM, Ajax, Model View Converter, Javascript basics, DOM, Ajax

WIP? - Nothing announced: Start final project.

Final Project, 2018 Seminars

Recomended Books (check eBook folder for availability)

  • C Programming Absolute Beginner’s Guide, Third Edition
  • Hacker’s Delight, Second Edition
  • How Computers Work, Tenth Edition
  • Programming in C, Fourth Edition
  • more..

Useful Links: