Lecture slides will be posted here as material is covered. The T stands for Tuesday and the R for Thursday in the table below.
Pre-lecture videos from Prof. Yih-Chun Hu are available here. These are made available to the class as an optional resource; they are not assigned readings or homework. The videos will neither be shown nor discussed in class.
| # | Day | Date | Topic | Chen BL1  | 
			Abraham BL2  | 
			Bhowmik BL3  | 
		
|---|---|---|---|---|---|---|
| 1 | T | 08-26 | Memory-mapped I/O: input from the keyboard, output to the monitor | Lect01, Git, LOs | Git, Lec | Lec01, Git | 
| 2 | R | 08-28 | Repeated code: TRAPs and Subroutines | Lect02, Git, | Git, Lec | Lec02, Git | 
| 3 | T | 09-02 | Stack data structure and stack operations | Lect03, Git, LOs | Git, Lec | Lec03, Git | 
| 4 | R | 09-04 | Programming with stack; Arithmetic using a stack | Lect04, Git | Git, Lec | Lec04, Git | 
| 5 | T | 09-09 | Introduction to C: data types, operators, scope, storage | Lect05, Git, LOs | Git, Lec | Lec05, Git | 
| 6 | R | 09-11 | Introduction to C: control structures, basic I/O | Lect06, Git | Git, Lec | Lec06, Git | 
| 7 | T | 09-16 | Introduction to functions in C | Lect07, Git, LOs | Git, Lec | Lec07, Git | 
| 8 | R | 09-18 | Implementing functions in C, run-time stack | Lect08, Git | Git, Lec, LecExt | Lec08, Git | 
| 9 | T | 09-23 | Pointers and Arrays | Lect09, Git, LOs | Git, Lec | Lec09, Git | 
| R | 09-25 | Midterm 1 | ||||
| 10 | T | 09-30 | Strings; multi-dimensional arrays | Lect10, Git, LOs | Git, Lec | Lec10, Git | 
| 11 | R | 10-02 | Problem solving with pointers and arrays | Lect11, Git | Git, Lec, Qsort | Lec11, Git | 
| 12 | T | 10-07 | Recursion | Lect12, Git, LOs | Git, Lec, LecExt | Lec12, Git | 
| 13 | R | 10-09 | Problem solving with recursion; Recursion with backtracking | Lect13, CtoLC3(video), Git | Git, Lec | Lec13, Git | 
| 14 | T | 10-14 | File I/O in C | Lect14, Git, LOs | Git, Lec | Lec14, Git | 
| 15 | R | 10-16 | Data Structures | Lect15, Git | Git, Lec | Lec15, Git | 
| 16 | T | 10-21 | Dynamic memory allocation | Lect16, Git, LOs | Git, Lec | Lec16, Git | 
| 17 | R | 10-23 | Linked Lists | Lect17, Git | Git, Lec, LecExt | Lec17, Git | 
| 18 | T | 10-28 | Problem solving with linked lists | Lect18, Git, LOs | Git, Lec, LecExt | Lec18, Git | 
| R | 10-30 | Midterm 2 | ||||
| 19 | T | 11-04 | From C to LC-3 assembly with linked data structures | |||
| 20 | R | 11-06 | Intro to C++: Objects, Constructors | |||
| 21 | T | 11-11 | Intro to C++: inheritance and polymorphism | |||
| 22 | R | 11-13 | Intro to C++: iterators and templates | |||
| 23 | T | 11-18 | Trees, traversal and search | |||
| 24 | R | 11-20 | C++ examples | |||
| 25 | T | 12-02 | Interrupts and exceptions; Interrupt-driven I/O; TRAP | |||
| 26 | R | 12-04 | Course Review Day 1 | |||
| 27 | T | 12-09 | Course Review Day 2 |