Justin Hsia 
(jhsia@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


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.
  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

Teaching Assistants

Allie Pfleger
pflegera
AD/CD, AG
aniruk
BA/DA
assafv
AF
Atharva Deodhar
adeodhar
BB/DB
czeng
AB/CB
Dominick Ta
domta
BD/DD
Francesca Wang
siyin250
BC/DC
Hamsa Shankar
hamsas
BB/DB
Isabella Nguyen
nguyeni
BA/DA
Joy Dang
jdang14
AA/CA, BC/DC
julialwa
AC/CC
Maggie Jiang
mjiang
AB/CB
Monty Nitschke
montyn
AE/CE, AF
Morel Fotsing
morelt98
AD/CD, AE/CE
Sanjana Chintalapati
sanjanac
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
Ed Reading / CSPP: § 1.0-1.10, 2.0-2.1.1 (p. 1-28, 31-39)
Binary, Programming in C
Memory & Data I
Ed Reading / CSPP: § 2.1.2-2.1.3 (p.39-48)
Memory & Data II
Ed Reading / CSPP: § 2.1.4-2.1.9 (p. 49-59)
Data III & Integers I
Ed Reading / CSPP: § 2.2-2.2.3 (p. 59-70)
Pointers, Bitwise Operators
Integers II
Ed Reading / CSPP: § 2.2.4-2.3 (p. 70-108)
Floating Point I
Ed Reading / CSPP: § 2.4-2.4.3 (p. 108-119)
Floating Point II
Ed Reading / CSPP: § 2.4.4-2.5 (p. 120-127)
Integers, Floating Point
x86 Programming I
Ed Reading / CSPP: § 3.2-3.5.3 (p. 169-195)
x86 Programming II
Ed Reading / CSPP: § 3.6.0-3.6.5 (p. 200-213)
x86 Programming III
Ed Reading / CSPP: § 3.6.7-3.6.8 (p. 220-238)
x86-64 Assembly, GDB
The Stack & Procedures
Ed Reading / CSPP: § 3.7.0-3.7.3 (p. 238-248)
Procedures & Recursion
Ed Reading / CSPP: § 3.7.4-3.7.5, 3.2 (p. 248-255, 169-177)
Executables & Arrays
Ed Reading / CSPP: § 3.8 (p. 255-265)
Midterm Review
Structs & Alignment
Ed Reading / CSPP: § 3.9 (p. 265-276)
Buffer Overflow
Ed Reading / CSPP: § 3.10 (p. 276-293)
Memory & Caches I
Ed Reading / CSPP: § 6.0, 6.2 (p. 579-580, 604-609)
Array and Structs, Buffer Overflow
Memory & Caches II
Ed Reading / CSPP: § 6.3-6.4.2 (p. 609-624)
Memory & Caches III
Ed Reading / CSPP: § 6.4.3-6.4.7 (p. 624-633)
Memory & Caches IV
Ed Reading / CSPP: § 6.5-6.7, 8.0-8.1 (p. 633-649)
System Control Flow & Processes
Ed Reading / CSPP: § 8.0-8.4 (p. 722-756)
Caches & Processes
Processes II, Virtual Memory I
Ed Reading / CSPP: § 9.0-9.3 (p. 802-810)
Virtual Memory II
Ed Reading / CSPP: § 9.4-9.6 (p. 811-825)
Virtual Memory III
Ed Reading / CSPP: § 9.7 (p. 825-833)
Memory Allocation I
Ed Reading / CSPP: § 9.9-9.9.11 (p. 839-853)
Memory Allocation II
Ed Reading / CSPP: § 9.9.12-9.10 (p. 854-870)
Memory Allocation
Memory Allocation III
Ed Reading / CSPP: § 9.11-9.12 (p. 870-876)
Final Review