You can click on the header for a specific week to expand or collapse the materials for that week.
NA | Day 1 (22-Jan) | Day 2 (24-Jan) | |
---|---|---|---|
Videos | NA | Course intro Linux, ugrad accounts |
Hello world program in C C basics |
Slides | NA | Course intro Linux, ugrad accounts |
Hello world program in C C basics |
Recap Questions |
NA | Day 1 | Day 2 |
Exercise | NA | Exercise 1 | Exercise 2 |
Additional Resources |
NA | Unix/Linux Tutorial Unix/Linux Reference Card |
Online C compiler |
Day 3 (27-Jan) | Day 4 (29-Jan) | Day 5 (31-Jan) | |
---|---|---|---|
Videos | Editors (emacs) Git Submission workflow |
Logical operators, control flow | Arrays, ASCII C strings |
Slides | Editors (emacs) Git Submission workflow |
Logical operators, control flow | Arrays C strings |
Recap Questions |
Day 3 | Day 4 | Day 5 |
Exercise | Exercise 3-A Exercise 3-B |
Exercise 4 | Exercise 5 |
Additional Resources |
Emacs reference card Interactive Vim tutorial Git cheatsheet Setting Up VS Code GitHub Token & SSH key setup |
Day 9 (10-Feb) | Day 10 (12-Feb) | Day 11 (14-Feb) | |
---|---|---|---|
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 | Binky the Pointer (Video) | valgrind --leak-check=full --show-leak-kinds=all |
Day 12 (17-Feb) | Day 13 (19-Feb) | Day 14 (21-Feb) | |
---|---|---|---|
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 |
Day 15 (24-Feb) | Day 16 (26-Feb) | Day 17 (28-Feb) | |
---|---|---|---|
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 |
Day 18 (3-March) | Day 19 (5-March) | Day 20 (7-March) | |
---|---|---|---|
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 17 | Work on midterm project | Work on midterm project |
Additional Resources |
Midterm Review Questions Fall 2019 Midterm Questions |
Midterm Review Solutions Fall 2019 Midterm Solutions |
Day 21 (10-March) | Day 22 (12-March) | Day 23 (14-March) | |
---|---|---|---|
Videos | Midterm Exam | Introduction to C++ C++ Strings |
Introduction to STL and templates |
Slides | Midterm Exam | Introduction to C++ C++ Strings |
Introduction to STL and templates |
Recap Questions |
N/A | Day 22 | Day 23 |
Exercise | N/A | Midterm Project | Exercise 23 |
Additional Resources |
Day 24 (24-March) | Day 25 (26-March) | Day 26 (28-March) | |
---|---|---|---|
Videos | STL Containers - map, pair, and tuple STL Algorithms |
C++ I/O stream and stringstream Intro to Object Oriented Programming |
C++ Reference C++ Dynamic Memory Allocation |
Slides | STL Containers - map, pair, and tuple STL Algorithms |
C++ I/O stream and stringstream Intro to Object Oriented Programming |
References Dynamic Memory Allocation |
Recap Questions |
Day 24 | Day 25 | Day 26 |
Exercise | Exercise 24 | Exercise 25 | Exercise 26 |
Additional Resources |
Day 27 (31-March) | Day 28 (2-April) | Day 29 (4-April) | |
---|---|---|---|
Videos | C++ Classes Default Constructors |
Constructors and default arguments Destructors |
Function overloading Operator overloading |
Slides | C++ Classes Default Constructors |
Constructors and default arguments Destructors |
Function overloading Operator overloading |
Recap Questions |
Day 27 | Day 28 | Day 29 |
Exercise | Exercise 27 | Exercise 28 | Exercise 29 |
Additional Resources |
Day 30 (7-April) | Day 31 (9-April) | Day 32 (11-April) | |
---|---|---|---|
Videos | Initialization and assignment Rule of 3 |
Template functions Template classes |
Inheritance Polymorphism |
Slides | Initialization and assignment Rule of 3 |
Template functions Template classes |
Inheritance Polymorphism |
Recap Questions |
Day 30 | Day 31 | Day 32 |
Exercise | Exercise 30 | Exercise 31 | Exercise 32 |
Additional Resources |
Day 33 (14-April) | Day 34 (16-April) | Day 35 (18-April) | |
---|---|---|---|
Videos | Dynamic dispatch Function hiding & abstract classes Virtual destructors |
OO Design & UML Diagrams | Enumerated Types Exceptions Customized Exceptions |
Slides | Dynamic dispatch Function hiding & abstract classes Virtual destructors |
OO Design & UML Diagrams | Enumerated Types Exceptions Customized Exceptions |
Recap Questions |
Day 33 | Day 34 | Day 35 |
Exercise | Exercise 33 | N/A | Exercise 35 |
Additional Resources |
Day 36 (21-April) | Day 37 (23-April) | Day 38 (25-April) | |
---|---|---|---|
Videos | N/A | Iterators | Lambdas |
Slides | N/A | Iterators | Lambdas |
Recap Questions |
N/A | Day 37 | Day 38 |
Exercise | Work on final project | Exercise 37 | Work on final project |
Additional Resources |
Day 39 (28-April) | |
---|---|
Videos | N/A |
Slides | N/A |
Recap Questions |
N/A |
Exercise | Work on final project |
Additional Resources |
Final Exam Review Questions Final Exam Review Solutions |