Mark Wyse 
(wysem@cs.washington.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 .

  • Make sure that "CSE 351 A Wi 21: 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.
  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

Instructors

Staff Mini-Bio: Mark
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in the Seattle area, but have lived in California, Texas, and Michigan at various times for school, internships, and family reasons. I received my B.S. Computer Engineering and M.S. Computer Science & Engineering from UW CSE. I am currently a 5th year Ph.D. student in the Allen School.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- cooking, board games, travel, playing video games
- I can both ski and snowboard.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- A couple summers ago my partner and I lived in India for a month.
- Long ago, I spent two summers working in flight test for a large aeronautics company (doing computer stuff, not flying the planes unfortunately...)

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Teaching CSE351
- Research
Virtual

Teaching Assistants

Kyrie Dowling
Staff Mini-Bio: Kyrie Dowling
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I am a born and raised Pacific Northwest girl. Originally I wanted to study sports medicine, but after taking my first CS class I changed paths. Now I am a junior in Computer Engineering and I don't regret it a bit.

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
My first programming class in high school taught C#. Since then I've done substantial programming in C, C++, and Java. Classes have given me experience in many other languages as well.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- I love hiking, camping, rock climbing, and basically any other outdoor activity. If it gets me out of the house, I'm there (pre-covid of course).
- I play my fair share of board games and video games.
- I can make pretzels.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
I've run up a mountain twice. It was as awful as you're probably thinking, but the view at the top was definitely worth it.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- I'm taking CSE 444, LING 200, and EDUC 251 along side TAing for all of you lovely people. Also job hunting.
AE
Catherine Guevara
Staff Mini-Bio: TA
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I was born in the Philippines but came to the US when I was young. I grew up in southeast Washington in the Tri-cities and eventually moved to Seattle to study computer science. I am currently a second-year student in CSE!

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
I taught myself Java and JavaScript back in middle school and did a bit of game and web development with friends throughout high school. I work mainly in full-stack web development and have lots of experience with JavaScript and Python.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
Outside of CS, I love drawing and work as a freelance artist. I also enjoy composing music, playing piano, writing, constructing fantasy languages, playing tabletop role-playing games, and making my friends groan with terrible puns.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
When I visited the UK, I played the theme of BBC Sherlock on Queen Elizabeth's piano!

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Teaching CSE351
- Balancing my freelance artist work and other art projects
- I am taking CSE 332, CSE 344, and JAPAN 102 this quarter
AC/BC
Ian Hsiao
Staff Mini-Bio: TA
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in the Bay Area of California! My father introduced me to programming at a young age and I've pursued CS ever since.

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
My first programming language was C but the first language that I learned in depth was Java. At UW, I've gotten a lot more experience with Java, C/C++, and Python.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
What are hobbies?

- I love skating, video games (League of Legends, Genshin Impact), and Badminton.
- Big fan of cooking and cooking videos.
WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- Teaching CSE351
- I am also taking CSE 447, 455, and 452.
AD/BD
Jim Limprasert
Staff Mini-Bio: Jim Limprasert
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I am from Thailand and I grew up there!
- I did my primary, middle, and high school in Thailand and I came to Seattle for undergraduate study. I am now a junior studying Computer Science. 😄

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
- I think I did some programming back in highschool, using Visual Basics
- Then, I did quite a few classes at UW involving programming, mostly in Java, but some in C and C++ (CSE 351 and CSE 333).
- I have some experiences with Python and Bash, but still a lot to learn more!

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- Surfing the Internet and playing games.
- Socializing and talking to other people! (Pre-Covid) 😊

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- My instagram picture that I took using UW STLP camera and edited myself got featured on UW official instagram page! It's a picture of a sunset across the UW buildings. 😉

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- TAing for CSE 351
- Taking CSE 457, CSE 473, MATH 318, and BIOL 103
- Probably organizing some ACM events! 😆

AB/BB
Armin Magness
Staff Mini-Bio: Armin Magness
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in Seattle and first wanted to become a surgeon, but after doing robotics for many years in middle school and high school, I realized that this was the field for me. I am currently a junior majoring in computer science and hope to one day work in a robotics lab.

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
I started programming in high school for robotics, primarily in Java, but now I work a lot in Python and MATLAB for research that I am doing on the side.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I love to play volleyball, tennis, and swim whenever the weather in Seattle allows, and in the summer I love to hike and jump in the lake. I have played percussion & drumset since I was 9, playing in jazz bands, orchestras and in the pit for musicals.

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
One time while playing at a jazz gig in a private residence, I met Ringo Starr and Joe Walsh who were there as ordinary guests!

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
Other than TAing CSE 351, I will be taking CSE473, CSE344, MATH308, and Persian. Outside of classes, I am going to do my best to keep active outdoors.
AD/BD
Allie Pfleger
Staff Mini-Bio: TA
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I grew up in Washington! I have lived here for most of my life, but I actually moved around a lot before we moved here. Now, I live in Bellevue with my husband, daughter, and our black cat!

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
I coached robotics teams for a while, so I have experience programming in picture-based languages and in Robot-C. I also like C, C++, and Java.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I love playing games, both board and video. I am an avid reader, mostly sci-fi and fantasy, though I have less time to read for fun during school. I also knit and crochet! Every March, I participate in a speed sock knitting competition called Sock Madness.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
In addition to TAing this course, I am taking CSE 312, CSE 332, and JSIS 123. Also, parenting my 3-year-old!
AA/BA, AC/BC
Cosmo Wang
Staff Mini-Bio: Cosmo Wang
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
- I grew up in a small town in China and moved to Seattle four years ago. I spent my first year at UW trying to become a math major and started to study computer science from my second year. Now I'm a 5th Year Master student.

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
- I love Japanese anime and video games. I am a crazy Monster Hunter fan!! I also enjoy hiking and traveling (pre-COVID of course).

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
- I studied abroad in Vienna during spring quarter of my freshman year and had one of the best times of my life! Austria is such fantastic place to travel and live in.

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
- This quarter I will be taking two 500 level CSE courses and also spend the rest of my time practicing my teaching skills.

AA/BA, AE
Ronald Widjaja
Staff Mini-Bio: Ronald William Widjaja
WHERE DID YOU GROW UP? WHAT WAS YOUR ACADEMIC PATH?
I was born in Jakarta, Indonesia but I spent half my life in Singapore and then moved to Seattle three years ago. I enrolled in Shoreline Community College studying Aerospace Engineering but changed major to CS after experiencing my first programming class! Then, I transferred out to UW after graduating, and now I'm a senior at UW. :)

HOW MUCH PROGRAMMING HAVE YOU DONE (AND WHAT LANGUAGES)?
My first language was Python, but I've since grown to love Java and started programming in some C/C++. Now I'm trying to learn Q-sharp and MATLAB!

WHAT ARE SOME OF YOUR HOBBIES, TALENTS, AND SKILLS?
I love to play video games and watch TV series! I just finished all 15 seasons of 'Supernatural.' Although, I'm looking forward to some fresh air...

HAVE YOU DONE OR EXPERIENCED ANYTHING REMARKABLE OR MEMORABLE?
I did a 2D1N Hike once 35km ~ 21 miles long. It rained in the first hour and I had to complete the hike with wet socks the entire way. Not fun :c

WHAT COMMITMENTS WILL BE CONSUMING YOUR CYCLES THIS QUARTER?
Aside from TAing CSE351, I'll be taking OS, ML, oh and Scandinavian Mythology (sounds fun!).
AB/BB

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)
Binary, Programming in C
Pointers, Bitwise Operators
Floating Point I
CSPP: § 2.4-2.4.3 (p. 108-119)
Integers, Floating Point
x86-64 Assembly
The Stack & Procedures, Arrays
Memory & Caches I
CSPP: § 6.0, 6.2 (p. 579-580, 604-609)
Structs, Buffer Overflow, Lab 3
Caches
Memory & 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
Memory Allocation I
CSPP: § 9.9-9.9.11 (p. 839-853)
Memory Allocation
TBD
Final Exam Period - Study Guide 3