Anne Bracy


Senior Lecturer in Computer Science @ Cornell University

What I'm teaching:

Fall 2023:
CS 3410: Computer System Organization and Programming
Spring 2024:
CS 1110: Introduction to Computing Using Python
Fall 2024:
tentatively: CS 4420: Computer Architecture

(Note: The CS department is committed to teaching CS 3410 every semester going forward. It was not offered Spring 2023, but that was an exception and it’s unlikely to happen again in the near future. So CS 3410 will definitely be taught in Fall 2024.)

For information about CS courses numbered 1000-3000, please see the CS 1000-3000 level course enroll page



CS 3410 FAQ

What is the required textbook for the course?
The required textbook is called "Computer Organization and Design RISC-V Edition: The Hardware Software Interface" by Patterson & Hennessy. The second edition is an update to the first edition, but either would be fine for this course. The important part is that you get the RISC-V Edition. (The Cornell Store has informed us that they will be selling the second edition.)

Can you put me on the waitlist?
The department does not maintain waitlists for courses below the 4000 level and instructors are not at liberty to bypass the registration process. This means that if you email me asking for a seat in the class, I will probably send you a link to this FAQ so as to inform you that sadly, no, I cannot personally add you to the class or a waitlist.

Can you help me get into a different discussion section?
No, this happens online and must be done by the students themselves. The sections are capped based on room capacity and our ability to adequately staff them. We want a good student:TA ratio so we can serve you better. Remember to use the swap feature (see page 3) to change your discussion section. If you drop the class, someone else might quickly enroll and you might be unable enroll again.

Can I attend a different section than the one I am officially signed up for?
No. We have staffed sections with TAs according to enrollment and we cannot serve the enrolled students if additional people showing up for a Section other than the one for which they signed up. Labs are critical to helping you succeed in the projects and prelims, so please be sure to sign up for a Section that you can conveniently attend.

Should I take 3110 first or 3410 first?
There isn't really a right answer here, but personally, I would look at the classes for which 3110 and 3410 are prerequisites and think about which path seems more appealing and take that class first. For example, if you are really interested in Distributed Computing or System Security, you'll have to first take CS 3410 and then CS 4410 before you have the prereqs. So you might want to take CS 3410 sooner than later.

I have a question that isn't answered here. How should I ask it?
The best way to reach the instructors of the course is to email cs3410-prof at cornell dot edu. Please do not email the professors individually as it complicates communications.


In the Past (2015-2023)
I have taught:
CS 1110: Introduction to Computing Using Python
CS 2110: Object-Oriented Programming and Data Structures
CS 3410: Computer System Organization and Programming
CS 4410: Operating Systems

Even further back (2010-2015) I had the pleasure of teaching:
Digital Logic, Systems Software, and Computer Architecture at Washington University in St Louis