Course
Gradebook
Certificates
CS50 AI
CS50 Manual Pages
CS50 Docs
Includes links to lectures and shorts.
Week 0 - Starting from Scratch
- First concepts
Week 1 - C
- Introduction to C
- Data types
- Operators
- Conditional Statements
- Loops
- Command line
- Magic numbers
Week 2 - Arrays
- Compiling
- Compiling steps
- Command line arguments
- Debugging (1, 2)
- Data types in C
- Functions
- Variables and scope
- Arrays
Week 3 - Algorithms
- Algorithms
- Running time
- Linear search
- Binary search
- Asymptotic notation
- Recursion
- Data structures
- Sorting
- Call Stacks
Week 4 - Memory
- Pointers
- New operators
- Pointer arithmetic
- Strings are not a thing in C
- Dynamic memory allocation
- Functions to allocate memory
- valgrind
- Passing by value vs. Passing by reference
- Buffer overflows
- file I/O (file input and output)
- Defining custom types
- Call Stacks
- File pointers
Week 5 - Data Structures
- Structures
- Abstract data types
- Data structures
- Linked lists
- Trees
- Binary search trees
- Dictionaries
- Hashing and Hash Tables
- Tries
Week 6 - Python
- Python
- Libraries (modules and packages)
- Positional parameters vs Named parameters
- Python data types
- Python data structures
- Input function
- Conditionals
- OOP - Object-Oriented Programming & Methods
- Loops
- Truncation
- Exceptions
- Lists and dictionaries
- Command line arguments
Week 7 - SQL
- CSV docs, Comma Separated Values
- Relational databases
- SQL, Structured Query Language
- SQL Keywords
- sqlite Data types
- Keywords for data types
- JOIN
- Indexes
- B-trees
- Race conditions
- SQL Injection attacks
Week 8 - HTML, CSS, JavaScript
- Internet
- HTML
- regexes - Regular expressions
- CSS
- Frameworks
- JavaScript
- Conditionals
- Variables
- Loops
- DOM, Document Object Model
Week 9 - Flask
- Flask
- HTML into Flask
- Placeholders
- Forms
- Jinja
- POST request method
- Server site validation
- Using SQL and Databases with Flask
- Cookies, sessions, log-in, shopping carts
- API, Application Programming Interface
- JSON, JavaScript Object Notation
- AJAX
Week 10 - The End
- Visual Studio Code
- Other Depeloper tools
- Git
- Hosting a static website
- Host a web app
- Ask questions
- Read news