Course Material
You can click on the header for a specific week to expand or collapse the materials for that week.
Day 1 (22-Jan) | Day 2 (24-Jan) | Day 3 (26-Jan) | |
---|---|---|---|
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 |
Unix/Linux Tutorial Unix/Linux Reference Card Github SSH key setup Section 03 slides |
Online C compiler
Section 03 slides |
Emacs reference card Interactive Vim tutorial Git cheatsheet Setting Up VS Code Section 03 slides |
Day 4 (29-Jan) | Day 5 (31-Jan) | Day 6 (2-Feb) | |
---|---|---|---|
Videos | Logical operators, control flow | Arrays, ASCII C strings |
File I/O, assert, math functions Writing functions, command line arguments |
Slides | Logical operators, control flow | Arrays C strings |
File I/O, assert, math functions Writing functions, command line arguments |
Recap Questions |
Day 4 | Day 5 | Day 6 |
Exercise | Exercise 4 | Exercise 5 | Exercise 6 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 7 (5-Feb) | Day 8 (7-Feb) | Day 9 (9-Feb) | |
---|---|---|---|
Videos | Function declarations Passing arrays to functions Recursion |
Separate compilation Makefiles Header guards |
Multidimensional arrays, gdb |
Slides | Function declarations Passing arrays to functions Recursion |
Separate compilation Makefiles Header guards |
Multidimensional arrays, gdb |
Recap Questions |
Day 7 | Day 8 | Day 9 |
Exercise | Exercise 7 | Exercise 8 | Exercise 9 |
Additional Resources |
Section 03 slides | Section 03 slides |
GDB Cheat Sheet
Section 03 slides |
Day 10 (12-Feb) | Day 11 (14-Feb) | Day 12 (16-Feb) | |
---|---|---|---|
Videos | Pointers | Dynamic Memory Allocation Valgrind |
Pointer Arithmetic Dynamic 2-D Arrays, Pointers and Const |
Slides | Pointers | Dynamic Memory Allocation Valgrind |
Pointer Arithmetic Dynamic 2-D Arrays, Pointers and Const |
Recap Questions |
Day 10 | Day 11 | Day 12 |
Exercise | Exercise 10 | Exercise 11 | Exercise 12 |
Additional Resources |
Binky the Pointer (Video)
Section 03 slides |
valgrind --leak-check=full --show-leak-kinds=all
Section 03 slides |
Section 03 slides |
Day 13 (19-Feb) | Day 14 (21-Feb) | Day 15 (23-Feb) | |
---|---|---|---|
Videos | Lifetime/Scope Structs |
Binary file I/O Bitwise operations |
Number representation, type conversion/casting Random number generation |
Slides | Lifetime/Scope Structs |
Binary file I/O Bitwise operations |
Number representation, type conversion/casting Random number generation |
Recap Questions |
Day 13 | Day 14 | Day 15 |
Exercise | Exercise 13 | Exercise 14 | Exercise 15 |
Additional Resources |
Section 03 slides |
Section 03 slides |
Section 03 slides |
Day 16 (26-Feb) | Midterm Project (28-Feb) | Day 17 (1-March) | |
---|---|---|---|
Videos | Linked lists | Intro to midterm project | More Linked lists |
Slides | Linked lists | N/A | More Linked lists |
Recap Questions |
Day 16 | N/A | Day 17 |
Exercise | Exercise 16 | Midterm Project | Exercise 17 |
Additional Resources |
Section 03 slides |
Section 03 slides |
Midterm Review Questions Fall 2019 Midterm Questions Section 03 slides |
Midterm Project (4-March) | Midterm Project (6-March) | Midterm Exam (8-March) | |
---|---|---|---|
Videos | N/A | N/A | N/A |
Slides | N/A | N/A | N/A |
Recap Questions |
N/A | N/A | N/A |
Exercise | Midterm Project | Midterm Project | N/A |
Additional Resources |
Section 03 slides | Midterm Review Solutions Fall 2019 Midterm Solutions |
Day 22 (11-March) | Day 23 (13-March) | Day 24 (15-March) | |
---|---|---|---|
Videos | Introduction to C++ C++ Strings |
Introduction to STL and templates | STL Containers - map, pair, and tuple STL Algorithms |
Slides | Introduction to C++ C++ Strings |
Introduction to STL and templates | STL Containers - map, pair, and tuple STL Algorithms |
Recap Questions |
Day 22 | Day 23 | Day 24 |
Exercise | Midterm Project | Exercise 23 | Exercise 24 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 25 (25-March) | Day 26 (27-March) | Day 27 (29-March) | |
---|---|---|---|
Videos | C++ I/O stream and stringstream Intro to Object Oriented Programming |
C++ Reference C++ Dynamic Memory Allocation |
C++ Classes Default Constructors |
Slides | C++ I/O stream and stringstream Intro to Object Oriented Programming |
References Dynamic Memory Allocation |
C++ Classes Default Constructors |
Recap Questions |
Day 25 | Day 26 | Day 27 |
Exercise | Exercise 25 | Exercise 26 | Exercise 27 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 28 (1-April) | Day 29 (3-April) | Day 30 (5-April) | |
---|---|---|---|
Videos | Constructors and default arguments Destructors |
Function overloading Operator overloading |
Initialization and assignment Rule of 3 |
Slides | Constructors and default arguments Destructors |
Function overloading Operator overloading |
Initialization and assignment Rule of 3 |
Recap Questions |
Day 28 | Day 29 | Day 30 |
Exercise | Exercise 28 | Exercise 29 | Exercise 30 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 31 (8-Apr) | Day 32 (10-Apr) | Day 33 (12-Apr) | |
---|---|---|---|
Videos | Template functions Template classes |
Inheritance Polymorphism |
Dynamic dispatch Function hiding & abstract classes Virtual destructors |
Slides | Template functions Template classes |
Inheritance Polymorphism |
Dynamic dispatch Function hiding & abstract classes Virtual destructors |
Recap Questions |
Day 31 | Day 32 | Day 33 |
Exercise | Exercise 31 | Exercise 32 | Exercise 33 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 34 (15-Apr) | Day 35 (17-Apr) | Day 36 (19-Apr) | |
---|---|---|---|
Videos | OO Design & UML Diagrams | Enumerated Types Exceptions Customized Exceptions |
Iterators |
Slides | OO Design & UML Diagrams | Enumerated Types Exceptions Customized Exceptions |
Iterators |
Recap Questions |
Day 34 | Day 35 | Day 36 |
Exercise | Final Project | Exercise 35 | Exercise 36 |
Additional Resources |
Section 03 slides | Section 03 slides | Section 03 slides |
Day 37 (22-Apr) | Day 38 (24-Apr) | Day 39 (26-Apr) | |
---|---|---|---|
Videos | Lambdas | N/A | N/A |
Slides | Lambdas | N/A | N/A |
Recap Questions |
Day 37 | N/A | N/A |
Exercise | Final Project | Final Project | Final Project |
Additional Resources |
Final Exam Review Questions | Final Exam Review Solutions |