1. Setting up your environment, IDEs & Compilers
2. Variables
— types
— memory addressing
— signed vs. unsigned
— constants
— keywords
3. Preprocessors
–includes
–defines
4. Input/Output
— printing out/ reading in
5. Calculations
— arithmetic operations
— unary vs. binary operators
— Some useful features of operators (ie. modulus)
6. Conditional Statements
— logical Operators
— the if statement
— the case statement
7. Iteration
— while loop
— do while loop
— for loop
— examples of when to use which one
9. Pointers
— assigning pointers to addresses
— referencing/dereferencing pointers
10. Arrays
— different types of arrays
— declaring and initializing
— arrays and pointers
— multi-dimensional arrays
— dynamic memory allocation
11. Strings
— Basic concepts of strings
— Reading/writing strings
— string manipulation
— string library functions
8. Functions
— arguments
— return values
— scope
— stack vs. heap
— pass by value vs. pass by pointer
— returning multiple values
12. Structures
— structures in C
— creating your own structures
13. Linked List
— linked lists
— advantages/disadvantages
— building a list
— navigating a singly linked list, search
— insert to a list, delete
— other linked list operations
14. Recursion
— examples from mathematics
— the base case
— writing recursive algorithms
15. Searching/Sorting
— Sequential Search
— Binary Search
— Sorting Algorithms
— — Insertion
— — Selection
— — Bubble
— — Quick Sort