Skip to content

kenzhang82/cs50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is CS50x (Finished - as of 26 Nov, 2018)

Course link: (https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)

Instructor

Professor David Malan

About this course

Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan.

CS50x teaches students 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, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming.

Students are expected to submit nine problem sets and a final project.

Syllabus

Week 0

Binary. ASCII. Algorithms. Pseudocode. Source code. Compiler. Object code. Scratch. Statements. Boolean expressions. Conditions. Loops. Variables. Functions. Arrays. Threads. Events.

Week 1

Linux. C. Compiling. Libraries. Types. Standard output.

Week 2

Casting. Imprecision. Switches. Scope. Strings. Arrays. Cryptography.

Week 3

Command-line arguments. Searching. Sorting. Bubble sort. Selection sort. Insertion sort. O. Ω .Θ. Recursion. Merge Sort.

Week 4

Stack. Debugging. File I/O. Hexadecimal. Strings. Pointers. Dynamic memory allocation.

Week 5

Heap. Buffer overflow. Linked lists. Hash tables. Tries. Trees. Stacks. Queues.

Week 6

TCP/IP. HTTP.

Week 7

HTML. CSS. PHP.

Week 8

MVC. SQL.

Week 9

JavaScript. Ajax.

Week 10

Security. Artificial intelligence.

Week 11

Artificial intelligence, continued.

Week 12

Exciting conclusion.

Problem Sets

Problem Set 0: Scratch

Problem Set 1: C

Problem Set 2: Crypto

Problem Set 3: Game of Fifteen

Problem Set 4: Forensics

Problem Set 5: Mispellings

Problem Set 6: Web Server

Problem Set 7: C$50 Finance

Problem Set 8: Mashup