The assigned readings listed below are meant to provide you reinforcement and a reference for the material discussed in lectures and used for projects. The textbook that we will use for this purpose is Bryant and O'Hallaron's, Computer Systems: A Programmer's Perspective (3rd edition). You can find it new, used, and for rent on Amazon and the like. Do note that we will cover material that is not in the textbook: it is a good supplement, but not a replacement for attendance and good notes.
Week-1: Basic assembly and machine code, including registers, data, instruction operands and opcodes, basic operations, and loops. Sections 3.2, 3.4 (excluding 3.4.4), 3.5 (through 3.5.2), and 3.6 through 3.6.7 (excluding 3.6.6).
Week-2: Assembly procedure calls and the activation stack. Sections 3.4.4 and 3.7.
Week-3: Continued with week-2 material. Then started dynamic memory (heap) allocation, Section 9.9.
Week-4: More heap allocation, Sections 9.9.8 through 9.9.14.
Week-5: Garbage collection, Sections 9.10, through 9.10.2.
Week-6: The virtual memory abstraction, basics of pages, page tables, and the MMU. Chapter 9, through Section 9.2.
Week-7: Spatial locality, multi-level page tables in detail. Section 9.3.2; Section 9.6.