Administrative stuff
The instructor for the course this semester is
Roger Chamberlain.
Class meetings are generally on Tuesdays and Thursdays, 2:30-4pm.
Reading assignments
- Class introduction.
- Instructions for setting up a Linux
Virtual Machine (VM) in the Lopata 401 lab.
- A Linux tutorial
put together by Joshua Glatt. Thanks, Joshua.
- A quick and simple vi text editor tutorial.
- The Student
Site for the text. There is a bunch of useful information here.
- B&O, chapter 1.
- B&O, chapter 2. You are not responsible for
the formal translation functions of section 2.2 (B2U, B2T, etc.)
or the 2D figures of section 2.3.
- ASCII
chart.
- B&O, chapter 3.
- The GNU Assembly
Manual.
- Linux Assembly Page.
The first two tutorials are both very good.
- A very good GDB tutorial.
- The GNU make manual.
- A simple make tutorial
from the Univ. of Hawaii.
Don't forget that we use gcc rather than cc, and have flags -m32 -g.
- B&O, chapter 7.
- B&O, chapter 9, sections 9.9 to 9.11.
This material is in chapter 10 in the 1st edition of the text, sections
10.9 to 10.11.
- B&O, chapter 6.
- B&O, chapter 9.
This material is in chapter 10 in the 1st edition of the text.
- Bindu Madhavi Padmanabhuni and Hee Beng Kuan Tan,
"Defending against Buffer-Overflow
Vulnerabilities."
IEEE Computer, 44(11):53-60, Nov. 2011.
Lectures
- August 30 - Introduction.
-
September 1 - Digital Systems and Information Representation,
including an earlier year's
lecture,
video
and 4-up notes.
This is chapter 2 material. It also includes some material not in the text.
-
September 6 - Numerical Representations,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 2 material. The Q notation material is not in the text.
-
September 8 - Hardware and Instruction Set Architecture,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
September 15 - Addressing and Basic Machine Language,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
September 20 - Basic Program Structure (ASM and C),
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
September 22 - Control Flow,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
September 27 - Pointers,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
September 29 - Heterogeneous Data Structures,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
October 4 - Call Return Protocols,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
October 6 - Stack Frame,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 3 material.
-
October 11 - Linking,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 7 material.
-
October 13 and 18 - Memory Allocation,
including an earlier year's
video.
This is chapter 9 material (chapter 10 in the 1st edition of the text).
-
October 20 - Midterm Review.
-
November 1 - Memory Allocation and Usage,
including an earlier year's
video.
This is chapter 9 material (chapter 10 in the 1st edition of the text).
-
November 3 - Memory,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 6 material.
-
November 8 - Cache Memory,
including an earlier year's
video.
This is chapter 6 material.
-
November 10 - Virtual Memory,
including an earlier year's
video.
This is chapter 9 material (chapter 10 in the 1st edition of the text).
-
November 22 - Intel P6 Virtual Memory System,
including an earlier year's
video.
This is chapter 9 material (chapter 10 in the 1st edition of the text).
-
November 29 - Exceptions,
including an earlier year's
lecture,
video,
and 4-up notes.
This is chapter 8 material.
-
December 1 - Performance Optimization,
including a prior year's
lecture,
video,
and 4-up notes.
This is chapter 5 material.
-
December 6 - Review.
Assignments
-
Lab #1, due Sept. 8, 2011.
This is an individual assignment, not to be done in groups.
Here is the file
lab1.tar, which is required
to complete the lab.
-
Assignment #1, due Sept. 15, 2011.
-
Lab #2, due Sept. 22, 2011.
This is an individual assignment, not to be done in groups.
Here is the file
cse361s_lab2.tar, which is required
to complete the lab.
For your submission, take a reasonable crack at answering at least
questions 1 to 6 at the end of the lab.
-
Assignment #2, due Sept. 29, 2011.
-
Lab #3, due Oct. 6, 2011.
This is an individual assignment, not to be done in groups.
Here is the file
cse361s_lab3.tar, which is required
to complete the lab.
-
Lab #4, due Oct. 13, 2011.
This lab can be completed as a group, with no more than 2 individuals per group.
Here is the file
cse361s_lab4.tar, which is required
to complete the lab.
Shubho put together the following example: jumptable.zip, of a jump table.
-
Assignment #3, due Oct. 20, 2011.
-
Lab #5, due Nov. 10, 2011.
Here is the file
bufbomb.c,
which is needed as part of the lab.
This lab can be completed as a group, with no more than 2 individuals per group.
The due date for this lab is extended to Tuesday, Nov. 15.
-
Assignment #4, due Nov. 17, 2011.
The due date for this assignment is extended to Tuesday, Nov. 22.
-
Final Project, due Dec. 11, 2011. Here is the file
malloclab-handout.tar,
which is required as part of the project.
This project can be completed as a group,
with no more than 2 individuals per group.
Examinations
There is a midterm examination and a final in this course.
The midterm was Thursday, Oct. 27, in class.
The final will be Thursday, Dec. 8, in class (this is the last class meeting).
Last modified 06 Dec. 2011.
Return to Roger's home page.
Roger Chamberlain <roger AT wustl.edu>