Anne Bracy


Senior Lecturer in Computer Science @ Cornell University

What I'm teaching next year:

Fall 2021:
CS 3410: Computer System Organization and Programming
Spring 2022:
CS 1110: CS 1110: Introduction to Computing Using Python, co-teaching with Professor Lillian Lee
CS 3410: Computer System Organization and Programming

For information about the Fall 2021 offering of CS 3410, please see the CS 1000-3000 level course enroll page


Fall 2021 CS 3410 FAQ

Can CS 3410 be taken online in Fall 2021?

No, the course will require your in-person presence in many ways: lecture attendance is a grade component and will be managed via physical iClickers, labs are once a week and attendance is both mandatory and a grade component, exams will take place in person, and the final project in the course is a group project for which you should be able to meet with your team mates in a common time zone and ideally in person.

Will the lectures in CS 3410 be recorded in Fall 2021?
Lectures will not be recorded, though recordings from a previous semester will be made available. The course content and focus does change over time, but I expect the recordings to provide at least an 80% overlap with the Fall 2021 semester.

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