You can click on the header for a specific week to expand or collapse the materials for that week.
| Day 1 (25-Aug) | Day 2 (27-Aug) | Day 3 (29-Aug) | |
|---|---|---|---|
| Videos | Course intro Linux, ugrad accounts |
Hello world program in C C basics |
Editors (emacs) Git Submission workflow |
| Slides | Course intro Linux, ugrad accounts |
Hello world program in C C basics |
Editors (emacs) Git Submission workflow |
| Recap Questions |
Day 1 | Day 2 | Day 3 |
| Exercise | Exercise 1 | Exercise 2 | Exercise 3-A Exercise 3-B |
| Additional Resources |
NOTES: Unix Unix/Linux Tutorial Unix/Linux Reference Card JSLinux |
NOTES: C Basics NOTES: I/O in C Online C compiler |
Emacs reference card Interactive Vim tutorial Git cheatsheet Setting Up VS Code GitHub Token & SSH key setup |
| Labor Day (1-Sep) | Day 4 (3-Sep) | Day 5 (5-Sep) | |
|---|---|---|---|
| Videos | NA | Logical operators, control flow | Arrays, ASCII C strings |
| Slides | NA | Logical operators, control flow | Arrays C strings |
| Recap Questions |
NA | Day 4 | Day 5 |
| Exercise | NA | Exercise 4 | Exercise 5 |
| Additional Resources |
NA | NOTES: C Basics NOTES: Control Structures |
NOTES: C Arrays NOTES: C Strings |
| Day 9 (15-Sep) | Day 10 (17-Sep) | Day 11 (19-Sep) | |
|---|---|---|---|
| Videos | Multidimensional arrays, gdb | Pointers | Dynamic Memory Allocation Valgrind |
| Slides | Multidimensional arrays, gdb | Pointers | Dynamic Memory Allocation Valgrind |
| Recap Questions |
Day 9 | Day 10 | Day 11 |
| Exercise | Exercise 9 | Exercise 10 | Exercise 11 |
| Additional Resources |
GDB Cheat Sheet NOTES: Storage classes (including gdb) |
Binky the Pointer (Video) NOTES: Pointers & Dynamic Memory Allocation (including valgrind) |
valgrind --leak-check=full --show-leak-kinds=all |
| Day 12 (22-Sep) | Day 13 (24-Sep) | Day 14 (26-Sep) | |
|---|---|---|---|
| Videos | Pointer Arithmetic Dynamic 2-D Arrays, Pointers and Const | Lifetime/Scope Structs Random number generation |
Binary file I/O Bitwise operations |
| Slides | Pointer Arithmetic Dynamic 2-D Arrays, Pointers and Const |
Lifetime/Scope Structs Random number generation |
Binary file I/O Bitwise operations |
| Recap Questions |
Day 12 | Day 13 | Day 14 |
| Exercise | Exercise 12 | Exercise 13 | Exercise 14 |
| Additional Resources |
NOTES: Pointers & Dynamic Memory Allocation (includes valgrind) | NOTES: Storage Classes NOTES: Struct Definitions NOTES: Functions (includes rand()) |
NOTES: C I/O (includes binary files) NOTES: C Basics (includes bitwise ops) |
| Day 15 (30-Sep) | Day 16 (2-Oct) | Day 17 (4-Oct) | |
|---|---|---|---|
| Videos | Number representation, type conversion/casting |
Linked lists | |
| Slides | Number representation, type conversion/casting |
Linked lists | |
| Recap Questions |
Day 15 | Day 16 | |
| Exercise | Exercise 15 | Exercise 16 | Midterm Project |
| Additional Resources |
C Basics (includes typecasting) |
| Day 18 (7-Oct) | Day 19 (9-Oct) | Day 20 (11-Oct) | |
|---|---|---|---|
| Videos | More Linked lists | N/A | N/A |
| Slides | More Linked lists | N/A | N/A |
| Recap Questions |
Day 18 | N/A | N/A |
| Exercise | Exercise 18 | Midterm Project | Midterm Project |
| Additional Resources |
Midterm Review Questions Fall 2019 Midterm Questions |
Midterm Review Solutions Fall 2019 Midterm Solutions |
| Day 21 (14-Oct) | Day 22 (16-Oct) | Fall Break (18-Oct) | |
|---|---|---|---|
| Videos | Midterm Exam | Introduction to C++ C++ Strings |
Fall Break (no class)! |
| Slides | Midterm Exam | Introduction to C++ C++ Strings |
N/A |
| Recap Questions |
N/A | Day 22 | N/A |
| Exercise | N/A | Midterm Project | N/A |
| Additional Resources |
C++ Basics, I/O in C++, C++ string class |
| Day 23 (21-Oct) | Day 24 (23-Oct) | Day 25 (25-Oct) | |
|---|---|---|---|
| Videos | Introduction to STL and templates | STL Containers - map, pair, and tuple STL Algorithms |
C++ I/O stream and stringstream Intro to Object Oriented Programming |
| Slides | Introduction to STL and templates | STL Containers - map, pair, and tuple STL Algorithms |
C++ I/O stream and stringstream Intro to Object Oriented Programming |
| Recap Questions |
Day 23 | Day 24 | Day 25 |
| Exercise | Exercise 23 | Exercise 24 | Exercise 25 |
| Additional Resources |
STL | STL | C++ I/O, string class |
| Day 26 (27-Oct) | Day 27 (29-Oct) | Day 28 (31-Nov) | |
|---|---|---|---|
| Videos | C++ Reference C++ Dynamic Memory Allocation |
C++ Classes Default Constructors |
Constructors and default arguments Destructors |
| Slides | References Dynamic Memory Allocation |
C++ Classes Default Constructors |
Constructors and default arguments Destructors |
| Recap Questions |
Day 26 | Day 27 | Day 28 |
| Exercise | Exercise 26 | Exercise 27 | Exercise 28 |
| Additional Resources |
C++ Basics C++ Dynamic Memory |
C++ classes | C++ classes |