CSCI 2021 S25 Info
Info
For Spring 2025, I will be a graduate TA for all three CSCI 2021 Machine Architecture courses. This subsection of my website will be dedicated to info for students in any of the CSCI 2021 sections in Spring 2025.
Office Hours
My office hours will be 10:00am - 12:00pm
at Keller Hall 2-209
.
Officially, the 10:00am - 11:00am
slot is dedicated to Professor
Exley's 001
section, and the 11:00am - 12:00pm
slot is dedicated
to Professor Kolb's 010
and 020
sections. I do not intend to keep
this as a "hard wall," so feel free to drop by and treat my OH as
a full 2-hour OH session.
Note: while I don't intend to keep the "hard wall," I reserve the right to do so when I judge that the "hard wall" is needed to preserve fairness in office hours access.
I am also available by appointment. Email me at loo00013 at umn dot edu
if you want to schedule an appointment.
Resources to succeed
Machine Architecture is one long infodump about how a computer actually works when you strip it down to bare essentials. You need to be comfortable with your computermachine. Fortunately these are skills that you can pick up rather easily.
-
ACM UMN hosts Unix classes on the days of 02/06, 02/20, and 02/27. IME people who arrive at Unix classes and are interested in how their computers work tend to excel in the course. Also this acts as a shameless plug to ACM UMN, of which I am a part of.
-
Beej's Quick Guide to GDB is an amazing tour of GDB. Scroll down to the bottom to get a very useful cheat sheet!
-
For people in Professor Kolb's sections specifically, Docker Curriculum is a great way to get started with Docker. Just ignore the AWS-y bits, that's more
CSCI 3081W
territory that we shouldn't open.- If I take control of your computer and do crazy
docker
stuff, feel free to interrupt and ask me, I love explaining Docker commands!
- If I take control of your computer and do crazy
-
The OSDev Wiki has some amazing pages explaining the
x86-64
architecture that we study. I recommend the pages on SysV ABI and quirks aboutx86-64
. -
What Every Programmer Should Know About Memory is something that I wish we can cover in classes completely, but attention spans are finite. We might be doing optimization stuff later in the course though, so wink wink.
Further reading
For the performance freaks who want to dabble in the dark arts of optimizations:
-
Agner Fog's amazing optimization guides is a must-read for any performance freak, but I don't particularly recommend reading it until the 2nd half of the course
-
For further reading, Ronald's
x86inc.asm
guide provides you with the tools necessary to produce what I consider to be "production-grade" assembly.
Expectations
While I don't expect you to refer to me formally (just call me by my first name), I expect you to treat me and other students in the course as equals (I'm also a student, after all), and with respect and dignity.
pov you come to keller 2-209
All UMN policies w.r.t academic integrity and freedom, disability accomidation and services, sexual harrassment and assult, and mental health apply. Refer to the syllabus of the course for details.
The parts about respect, dignity, and academic integrity are of some concern here - I expect you to respect the course materials enough to not ChatGPT it!