| DATE |
READINGS |
LECTURE
(Click for slides) |
PRECEPT
(Click for handouts) |
WHAT'S DUE |
Mon 01/26 – Tue 01/27 |
Unix Tutorial for Beginners; Rec.: GNU Emacs Tutorial; Rec.: Linux Pocket Guide (excerpt: Programming with Shell Scripts) |
Course intro, Linux and bash
| Course intro, Computing environment
| |
Wed 01/28 – Thu 01/29 |
King Ch. 1-6, 7.3, 9, 14, 20.1; Rec.: K&P Ch. 1 |
Git, Intro to C
| Emacs, Bash
| |
Mon 02/02 – Tue 02/03 |
Wikipedia DFA article |
Building C Programs, DFAs
| Simple C Programs, Program Preparation
| 2/3: Assignment 0 |
Wed 02/04 – Thu 02/05 |
King Ch. 15 |
C Program Design, Logical Ops
| C, Multi-File Programs
| |
Mon 02/09 – Tue 02/10 |
King Ch. 7; Rec.: GNU GDB Tutorial |
Numeric Data Types
| Multi-File C Programs, gdb
| 2/10: Assignment 1 |
Wed 02/11 – Thu 02/12 |
King Ch. 8, 11-13, 24.1; Rec.: K&P Ch. 2, 4 |
Pointers, Arrays, Strings
| C Pointers and Arrays
| 2/11: Quiz 1 |
Mon 02/16 – Tue 02/17 |
Rec.: GNU Make Tutorial |
Building with make
| C Strings
| |
Wed 02/18 – Thu 02/19 |
King Ch. 16, 17.1-6 |
Structs, arguments, dynamic memory
| Dynamic Memory Management
| |
| Mon 02/23 |
Rec.: K&P Ch. 6 |
No class: snow day
| No precepts M/T
| 2/24: Assignment 2 still due at 9:00 |
Wed 02/25 – Thu 02/26 |
King Ch. 19 |
Finish DMM, Start Data Structures
| Debugging DMM
| 2/25: Quiz 2 still at 10:40 sharp |
Mon 03/02 – Tue 03/03 |
King Ch. 17.7; Rec.: K&P Ch. 5 |
Finish Data Structures, Start Testing
| Abstract Data Types
| |
Wed 03/04 – Thu 03/05 |
Midterm details / study resources |
Midterm exam
| NEW: void Pointers; Assignment 3
| |
Mon 03/16 – Tue 03/17 |
King Ch. 10, 18; Rec.: K&P Ch. 8 |
Debugging
| Function Pointers
| |
Wed 03/18 – Thu 03/19 |
  |
Modularity (and finishing off Testing, Debugging, from snow day)
| Scope, Linkage, Duration
| |
Mon 03/23 – Tue 03/24 |
  |
Assignment 4 intro
| Abstract Objects, Assignment 4 Part 1
| 3/24: Assignment 3 |
Wed 03/25 – Thu 03/26 |
  |
Storage Hierarchy
| DynArray ADT, Assignment 4 Parts 2/3
| 3/25: Quiz 3 |
Mon 03/30 – Tue 03/31 |
P&U Ch. 2-4; Reference: ARMv8 Instruction Set; Reference: ARM Architecture |
Assembly Language (I)
| ARM and Assembly Intro
| |
Wed 04/01 – Thu 04/02 |
P&U Ch. 5 |
Assembly Language (II)
| Assembly Fundamentals and Control
| |
Mon 04/06 – Tue 04/07 |
P&U Ch. 6 |
Assembly Functions
| Assembly Control, Register Addressing
| 4/7: Assignment 4 |
Wed 04/08 – Thu 04/09 |
P&U Ch. 7; gdb with ARM walkthrough |
Assignment 5 intro
| Local Variables and Function Calls
| |
Mon 04/13 – Tue 04/14 |
Rec.: K&P Ch. 7 |
Performance
| BigInt_add, gdb for BigInt_add
| 4/13: Quiz 4 |
Wed 04/15 – Thu 04/16 |
  |
Assignment 6 intro
| "B" Attack Recap, Writing Binary, gdb
| |
Mon 04/20 – Tue 04/21 |
  |
Machine Language
| Mini-Assembler, "A" Attack Details
| 4/21: Assignment 5 |
| Wed 04/22 |
  |
Assembler and Linker
| No precepts
| 4/22: Quiz 5 |
| Wed 04/29 |
  |
 
|  
| 4/29: Assignment 6 |
| Tue 05/05 |
  |
 
|  
| 5/5: Dean's Date Last Day for Late Assignments |
| Thu 05/07 |
  |
 
|  
| 5/7: Review session 7pm in CS105 |
| Sun 05/10 |
Final exam details / study resources |
Final exam
|  
| |