Ruth Anderson 
(rea@cs.uw.edu)

Welcome to CSE 351! We have put the most important links at the top, categorized by what they're for. Please check them out!


Events

Find the weekly calendar and Zoom links for lectures, sections, and office hours on . Here is the: Office Hours Queue.

  • Make sure that "CSE 351 Sp21: The Hardware/Software Interface" is selected in the CALENDARS section on the right, otherwise none of the 351 events will show up.
  • To join the Zoom meeting, click on a calendar event and then click the link in the "Details" section of the pop-out.

Asking Questions, Getting Assistance, Giving Feedback

It is very important to us that you succeed in CSE 351! Outside of lectures and sections, there are different ways to ask questions or discuss course issues:
  1. Visit office hours (see Events above)! In addition, if you need extra time or need to discuss something in private, feel free to email and make an appointment.
  2. Make a public post about course content on the , where they benefit the whole class. If other students can answer your question, you may receive a response more quickly than you would by emailing the course staff. This is the best way of asking questions about homework, labs, and other class-related topics. Before posting, please search through the questions that have already been posted in case someone has already asked the same question.
  3. Make a private post to just the course staff on the with any questions or issues you would prefer to discuss privately. While you can email staff members individually when that makes sense, contacting the whole staff is generally preferred to get a faster response and to let the whole staff see what issues students are having. Alternatively, you may also send email to the staff email list.
  4. Send to the course staff. The instructor will try to address the issue and share it with others only as appropriate, but will not have a way to reply to you without addressing the whole class.

Course Staff

Instructor

(she/her)
CSE 558

Teaching Assistants

Allen Aby
(he/him)
abyall19
BB/DB
Joy Dang
(she/her)
jdang14
AA/CA
Alena Dickmann
(she/her)
adickm
BA/DA
Catherine Guevara
(she/her)
cgueva
BC/DC
Corinne Herzog
(she/her)
herzoc
AB/CB
Ian Hsiao
(he/him)
ijjhsiao
--
Diya Joy
(she/her)
diyajoy
--
Jim Limprasert
(he/him)
jimsl
AB/CB
Armin Magness
(he/him)
ajm1
BB/DB
Aman Mohammed
(he/him)
amanm4
AA/CA
Monty Nitschke
(he/him)
montyn
BC/DC
Allie Pfleger
(she/her)
pflegera
BA/DA
Mara Kirdani-Ryan
(they/them)
marakr
AD/CD
Alex Saveau
(he/him)
asaveau
--
Sanjana Sridhar
(she/her)
sanjgeek
AC/CC
Amy Xu
(she/her)
amyxu
AC/CC

Schedule

  • Binary
  • Memory & Data
  • Integers
  • Floating Point
  • x86 Programming
  • The Stack & Procedures
  • Executables
  • Arrays
  • Structs
  • Buffer Overflows
  • Caches
  • Processes
  • Virtual Memory
  • Memory Allocation
  • Java and C
 
#
Day
Topic
Labs
Homework
Introduction, Binary
CSPP: § 1.0-1.10, 2.0-2.1.1 (p. 1-28, 31-39)
Memory & Data I
CSPP: § 2.1.2-2.1.3 (p.39-48)
Binary, Programming in C
Memory & Data II
CSPP: § 2.1.4-2.1.9 (p. 49-59)
Data III & Integers I
CSPP: § 2.2-2.2.3 (p. 59-70)
Integers II
CSPP: § 2.2.4-2.3 (p. 70-108)
Pointers, Bitwise Operators
Floating Point I
CSPP: § 2.4-2.4.3 (p. 108-119)
Floating Point II
CSPP: § 2.4.4-2.5 (p. 120-127)
x86 Programming I
CSPP: § 3.2-3.5.3 (p. 169-195)
Integers, Floating Point
x86 Programming II
CSPP: § 3.6.0-3.6.5 (p. 200-213)
x86 Programming III
CSPP: § 3.6.7-3.6.8 (p. 220-238)
The Stack & Procedures
CSPP: § 3.7.0-3.7.3 (p. 238-248)
x86-64 Assembly
Procedures & Recursion
CSPP: § 3.7.4-3.7.5, 3.2 (p. 248-255, 169-177)
Executables & Arrays
CSPP: § 3.8 (p. 255-265)
Structs
CSPP: § 3.9 (p. 265-276)
The Stack & Arrays
Buffer Overflow
CSPP: § 3.10 (p. 276-293)
Memory & Caches I
CSPP: § 6.0, 6.2 (p. 579-580, 604-609)
Memory & Caches II
6.3-6.4.2 (p. 609-624)
Structs & Buffer Overflow
Memory & Caches III
CSPP: § 6.4.3-6.4.7 (p. 624-633)
Caches IV
CSPP: § 6.5-6.7, 8.0-8.1 (p. 633-649)
System Control Flow & Processes
CSPP: § 8.0-8.4 (p. 722-756)
Caches
Processes II, Virtual Memory I
CSPP: § 9.0-9.3 (p. 802-810)
Virtual Memory II
CSPP: § 9.4-9.6 (p. 811-825)
Virtual Memory III
CSPP: § 9.7 (p. 825-833)
Processes & Virtual Memory
Memory Allocation I
CSPP: § 9.9-9.9.11 (p. 839-853)
Memory Allocation II
CSPP: § 9.9.12-9.10 (p. 854-870)
Memory Allocation III
CSPP: § 9.11-9.12 (p. 870-876)
Memory Allocation - Lab 5
Java and C I
Java and C II
TA's Choice & Office Hours
Wrap Up