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