CS50 Lectures
Skinny version of lecture notes can be found in this Google doc, which we will also use for in-class notes and Q/A.
- Lecture 1 - Getting started.
- Lecture 2 - Introduction to Bash.
- Lecture 3 - More about Bash.
- Lecture 4 - Shell programming.
- Lecture 5 - Introduction to C.
- Lecture 6 - C Basics.
- Lecture 7 - 8 - C Standard libraries.
- Lecture 9 - Pointers and memory.
- Lecture 10 - Dynamic memory allocation; linked lists.
- Lecture 11 - Modular data structures in C.
- Lecture 12 - Makefiles.
- Lecture 13 - Git and Git Tags
- Lecture 14 - 15 - Debugging with gdb and valgrind
- Lecture 16 - Searching the web
- Lecture 17 - Crawler design and implementation
- Lecture 18 - Unit testing and C preprocessor
- Lecture 19 - 20 - Indexer
- Lecture 21 - Cohesion and coupling
- Lecture 22 - Querier and iterators
- Extra - Networking and socket programming
- Extra - Processes and threads