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


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 (click our faces to read our bios!)

Instructor

Staff Mini-Bio: Ruth
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I was born and grew up in North Carolina. I have a BS in Mathematical Sciences with a concentration in CS from the University of North Carolina. I came to UW for my PhD. I worked in Programming Languages, Compilers, and Parallel Computing before doing my PhD in Educational Technology & Pen Computing. I taught at the University of Virginia for 5 years before coming back to UW and have been here ever since. I've worked a bit in applying Computing to problems in the Developing World but mostly these days my research is in Computer Science Education.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- Running, Hiking, Backbacking, and generally getting outside.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- Once I was on a day hike where I had encounters with 3 different bears.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Teaching CSE351! Ask me about the CS Education seminar.

CSE 460

Teaching Assistants

Gavin Cai
Staff Mini-Bio: Gavin
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I was born in Raleigh, NC but I grew up in Portland, OR. I was first introduced to CS in high school. My high school offered intro CS classes in Java and C++. Since I really enjoyed those classes, I then came to UW to study CS.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- Bboying!

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- No I'm not that remarkable :(

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- 2 CS + 1 Math class, TAing 351, and DANCING!

gcai47
AD/CD
Jack Eggleston
Staff Mini-Bio: Jack Eggleston
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in Redmond, where I went to the International Community School for my high school education. I finished my undergraduate degree last year and am currently finishing up a masters degree in Computer Science.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I've played guitar for about ten years and piano for seven, and love to make and listen to weird music. I also play a lot of Super Smash Bros.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
I once went skydiving. I'm glad that I did it, but I don't think I would ever do it again.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
Besides taking a full schedule of classes and TA'ing 351, I'm hoping to actually sit down and record something this quarter, but we'll see if life gets in the way.

jegg13
AE, BD
John Feltrup
Staff Mini-Bio: John
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I came from Yakima, Washington (the Palm Springs of Washington). When I first came to UW I had no idea I wanted to do CS, I never had the opportunity for CS classes before. However, after trying a lot of different things I found computer science to be my passion. Now I am pursing a Masters in CS that I will finish at the end of spring.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- I enjoy swing dancing, swimming, cycling, and playing video games. I have also been told that I have a talent for making puns.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- I did a study abroad in Italy a few years back that was fantastic. I got to live in a large city, and a small town with host family. It was fanastic to experience another culture and learn another language.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- This is my last quarter, so I need to focus on doing well in my last few classes. Additionally, I'm planning a big trip in Europe this summer, so that will be taking up a lot of time.

jfeltrup
AB/CB, BB/DB
Britt Henderson
Staff Mini-Bio: Britt (Bleg) Henderson
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I grew up in TriCities Washington (east side of the state). As a freshman going into UW I had no idea what I wanted to major in and I knew nothing about CS (I didn't even know what a 'java' was). I first decided to take 142 because people on my dorm floor were talking about the cool programs they were writing and how they were also learning to make videogames with the material from class. I fell in love with the material immediately thereafter, pursued the major, was accepted summer '17, and am now set to graduate Au19!

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- Writing Bleg, squirrels, putting Bleg on whiteboards, game development, willing Bleg into existence, occasionally playing Smash Ult, and also Bleg.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- Traveled to Japan! Also developing with 6 other people the world's FIRST EVER Networked-Multiplayer RPG that uses Squirrel-based Combat. I'm back end and PM for the project :D

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Distributed Systems, Graphics, Research, developing squirrel video game, and existing :O
hendeb96
BA/DA, BC/DC
Richard Jiang
Staff Mini-Bio: Richard Jiang
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I was born in Milpitas California, but grew up in Portland Oregon. My first introdution to programing was making games on a TI-84 in math class. Since then computing has captivated me, and I've enjoyed learning everything I can about them.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- I love games and sports of all kinds (go Blazers) and finding new amazing things to eat is a delicious pastime of mine.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- I've solved a Rubik's cube blindfolded once.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Like the other TAs, I have a full schdeule of CS courses, TAing this course, and working on some personal projects.

rjiang98
AB/CB
Jack Skalitzky
Staff Mini-Bio: Jack Skalitzky
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in Chicago (technically Oak Park which is just outside the city, but for those of you not from the area it's a small distinction). I spent a lot of time on our family computer growing up, mainly logging hundreds of hours in Minecraft, and that got me interested in learning about programming. I came out here to study CS and now I'm a quarter away from graduating!

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I'm a huge fan of crossword puzzles!

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
Not really.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
I'll be TAing for this course, as well as taking CSE444 and CSE340 (plus Greek and Roman Mythology). Other than that, no specific plans on how I'll be spending my time.

jskalitz
AE
Sophie Tian
Staff Mini-Bio: Sophie Tian
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I grew up in Tongling and Nanjing in China. I attended Gallaudet University, a school for the Deaf and hard of hearing located in Washington, DC. After graduating from Gallaudet with a degree in IT, I moved to Seattle and entered UW CSE to pursue a BS and then MS in computer science. This spring, I will start my 5th year master’s here.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- Swimming, Rubik's cube, rock climbing, and watching Star Trek.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- I know 4 languages: spoken Chinese and English, and Chinese and American Sign Language. Each of them represents one facet of my identity.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- I am taking 3 CSE classes, TAing this quarter, and doing one research project. Other than academia and TA work, I will be spending time with the Deaf and Deaf-Blind communities, and doing some outdoor activities such as running, biking, and hiking.

shuxut
BA/DA
Connie Wang
Staff Mini-Bio: Connie Wang
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I'm from Shanghai China and I grew up in Portland Oregon. I first started programming in middle school by making games with Scratch (the thing with the orange cat and drag and drop boxes). I thought it was pretty fun at the time, and now I'm here studying CS at UW.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
Drawing, dancing, video games, cooking, and tetris 99

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
Nope

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
CSE 446, CSE 331, and hopefully sleep.

zhiyunw
AD/CD
Staff Mini-Bio: Sam Wolfson
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up right here in Seattle! I've always loved taking things apart, trying to fix them when they inevitably break, and figuring out how they work in the process. This path of problem-solving eventually led me to computers, and that led me to UW.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
In my free time I enjoy skiing, playing guitar, and camping. I can make a pretty good apple pie. I also maintain a silly chatbot that my friends and I use in our group chat.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
I studied abroad in Italy this past autumn and learned about food! Talk to me about sourdough breadmaking!

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
Husky Running Club (join us, we're friendly!), TAing for this class, and keeping up with my own courses! And hopefully getting outside more now that the weather is nicer.

wolfson
AA/CA
Casey Xing
Staff Mini-Bio: Casey
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in Bothell - about 45 minute drive from UW. I was introduced to computer science by my older brother when I was around 10 years old and I have loved it ever since.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
Chess (and Bughouse!), table tennis, aviation, video games, violin.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
I used to play competitive chess and represented Washington State youth for 3 years in our annual friendly match. Whether I represented us well might be a different matter. =P

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
CSE 600A (Research), CSE 552 (Distributed Systems), CSE 548 (Computer Systems Architecture), CSE 525 (Randomized Algorithms and Probabilistic Analysis), CSE 519 + CSE 590 (Seminars). And of course, TAing this class! =)

cxing
AC/CC
Chin Yeoh
Staff Mini-Bio: Chin
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I spent a few years in Denmark, then another couple in Malaysia, then a decade in China, and now here I am in Seattle. I was influenced by my brothers to do computer science. I thought it was pretty cool. But I still really enjoyed painting, so now I’m studying art and CS.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I like painting/drawing, shopping, reading, watching Netflix, making earrings, doing yoga.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
Hmmmmm, not really.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
I'll probably be spending most of my time in the CS labs and the art studio.

chinyeoh
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
Floating Point II & x86-64 Intro
CSPP: § 2.4.4-2.5, 3.2-3.4 (p. 120-127, 169-191)
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 Assembly, GDB
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)
Midterm Review
Buffer Overflow
CSPP: § 3.10 (p. 276-293)
Memory & Caches I
CSPP: § 6.0, 6.2 (p. 579-580, 604-609)
Array and Structs, Buffer Overflow
Memory & Caches II
CSPP: § 6.3-6.4.2 (p. 609-624)
Memory & Caches III
CSPP: § 6.4.3-6.4.7 (p. 624-633)
Cache Wrap-Up & System Control Flow
CSPP: § 6.5-6.7, 8.0-8.1 (p. 633-649, 722-731)
Processes
CSPP: § 8.2-8.4 (p. 732-756)
Virtual Memory I
CSPP: § 9.0-9.3 (p. 802-810)
Virtual Memory II
CSPP: § 9.4-9.6 (p. 811-825)
Caches & Processes
Virtual Memory III
CSPP: § 9.7 (p. 825-833)
Memory Allocation I
CSPP: § 9.9-9.9.11 (p. 839-853)
Memory Allocation
Memory Allocation II
CSPP: § 9.9.12-9.10 (p. 854-870)
Memory Allocation III
CSPP: § 9.11-9.12 (p. 870-876)
Java and C
Final Review
Java and C, Course Wrap-Up