CS/ECE 354: MACHINE ORGANIZATION AND PROGRAMMING (LEC 03, FALL 2023)

Lecture Time: MW 4-5:15pm
Location: Humanities 1121

Instructor: Mark Mansi (he/him/his)
Email: markm AT cs DOT wisc DOT edu
Office: CS 4227
Office Hours: Mondays, 1-3pm;
        or by appointment

CanvasPiazzaTopHat

TA: James "Jaso" Sorenson (he/him/his)
Email: jaso AT cs DOT wisc DOT edu
Office Hours: Monday + Wednesday, 1:15pm-2:15pm
Office: CS 3266

TA: Yusen Liu (he/him/his)
Email: liu797 AT wisc DOT edu
Office Hours: Tuesday + Thursday, 11:15am-12:15pm
Office: CS 4235

NOTE: the schedule is subject to change.

Week Date Topic Quizzes Projects
Assigned
Projects
DUE
1 Sept 6 Course Intro; The BIG Picture P1 (Intro)
2 Sept 11 C: basics, intro to pointers
Sept 13 C: pointers, arrays
3 Sept 18 C: malloc, memory safety, strings P2 (Sudoku) P1 DUE
Sept 20 C: int types, 2D arrays, cmd line args Q1
DUE 9/22
4 Sept 25 C: structures P2A DUE
Sept 27 C: macros, header files, file I/O, global and static variables, unions
5 Oct 2 Virtual Memory; Intro to Heaps Allocators P3 (Allocator) P2B DUE
Oct 4 Heap Allocators: Block Metadata, Placement, Splitting and Coalescing Q2
DUE 10/06
6 Oct 9 Heap Allocators: Free List Management
Oct 11 Wrap up heaps; demo of GDB P3A DUE
10/13
7 Oct 16 Locality and Caches
Oct 18 Memory Access Patterns; Cache Operations Q3
DUE 10/20
8 Oct 23 Review P3B DUE
Oct 25 Review
Oct 27 MIDTERM EXAM
5:45pm-7:15pm, in-person (Engineering Hall 1800)
9 Oct 30 Cache Design P4 (Cache Sim)
Nov 1 Cache Design Q4
DUE 11/03
10 Nov 6 Assembly Language Intro
Nov 8 More Assembly Language P4A DUE
11 Nov 13 MOVL, LEAL, C pointers and arrays
Nov 15 CMP, TEST, Condition Codes, Jumps Q5
DUE 11/17
P5 (Safe Cracker) P4B DUE
12 Nov 20 Jumps, Function Calls, the Stack
Nov 22 (Optional) Stack Smashing and Security Vulnerabilities
Nov 23-26 THANKSGIVING BREAK
13 Nov 27 Recursion, fn pointers, Assorted C/ASM things Bonus P6 (readelf)
Nov 29 Interrupts, processes, context switches Q6
DUE 12/01
14 Dec 4 Interrupts, processes, context switches (cont'd)
Dec 6 Linking and Symbols P5 DUE
15 Dec 11 Globals, relocation, loading Q7
DUE 12/14
Dec 13 (slack) P6 DUE
16 Dec 16 FINAL EXAM
7:25pm - 9:25pm, in-person
(LOCATION: CHEMISTRY S413)