Anne Bracy


Senior Lecturer in Computer Science @ Cornell University

What I'm teaching:

Fall 2020:
CS 3410: Computer System Organization and Programming
Spring 2021: CS 3410: Computer System Organization and Programming, co-taught with Professor Adrian Sampson
Fall 2021: no decisions have been made, but I think it's more likely than not that I'll be doing CS 3410 again…

The Spring 2021 offering of CS 3410 will be an exclusively online offering. There will be a mandatory asynchronous component and an optional synchronous component.
  • Students will watch pre-recorded lectures and complete short assignments associated with them on Mondays, Wednesdays, and Fridays.
  • The official lecture time (T/Th 9:40am-10:55am) will be dedicated to standing group office hours (answering questions about lecture material) and bookable 1-on-1 office hours. Group office hours will be recorded and made available online. T/Th 9:40am-10:55am is the dedicated time when professors will be available to meet with students. Students who enroll in an overlapping course (see item #2 on this page to learn more about overlaps) should know that they are forgoing this access to the instructors. Alternate meeting times will be made available only to students for whom this meeting time does not fall in the 8am-10pm window in their time zone.
  • Discussion sections are an important part of CS 3410. We do not allow overlap with discussion sections. You should be able to fit one of the 9 times in your schedule no matter your time zone or schedule.

CS 3410 FAQ

I'm having trouble enrolling for some reason but I hope to resolve that issue shortly. In the meantime, can you add me to your Canvas?
Yes! Please email cs3410-prof at cornell dot edu and we'll sign you up.

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

What will exams look like in Spring 2021?

We have not chosen an exam format for Spring 2021, but we are committed to creating a uniform exam experience for all students regardless of location or time zone. We will not have in person exams as they would only service a portion of the enrolled students. We do not anticipate using lockdown browsers. It is too early to state whether access to a printer would play an important role in your exam experience, though there are many occasions throughout the semester when it would be generally beneficial for you to be able to print out a worksheet or reference sheet.

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 meet 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-2019)
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