Instructor and office Hours


Lecture attendance is not required, but it’s probably a good idea to come. All three sections are part of the same “class” and will be kept in sync.

If you need to attend “another” section for personal reasons, just do it, you don’t need to ask permission. However, “not wanting to have an evening class” is not a good reason. ;) There also may be seating limitations, so keep that in mind.

Teaching Assistants


Recitation attendance is not required, but you are welcome to work on the labs and ask questions.

Since all of you are part of the same “class,” I really don’t mind if you are enrolled in one recitation but attend another. I know the enrollment system is limited and doesn’t handle this very well, so don’t stress out about having to enroll in a recitation that’s on the other side of campus from your next class or whatever. Just go to whatever section is handy.


Computer Organization and Design (Patterson and Hennessy), 5th edition? It’s a good book if you grasp this material easily, but if you’re struggling, it can go into a lot of unnecessary/confusing detail.

5th edition isn’t strictly required, as the material for this course hasn’t really changed much since the 3rd or 4th editions.

Also I don’t really care for the “PCs are over” narrative that the 5th edition has. They kinda butchered some of the later chapters because of it.


Your performance is your own. I do not “give” grades, you earn them. I also don’t announce averages/medians/etc. for the same reason.

Your grades are available on Courseweb. It’s one of the only things I use it for!

This breakdown is subject to change. I hope it won’t, I really do, but it may change. In that case, I will try hard to not mess up anyone’s grades. Also you can tar and feather me.

Labs (x10?): 10% Lowest lab grade is dropped
Projects (x3): 50% Higher 2 are 20%; lowest is 10%
Exams (x2): 40% Higher is 25%; lower is 15%

The grading scale:

90-93% A-   94-96% A   97%+ A+
80-83% B-   84-86% B   87-89% B+
70-73% C-   74-76% C   77-79% C+
60-63% D-   64-66% D   67-69% D+
<60% F            

I do round percentages after all other calculations have been done. So if your grade calculates as a 93.5%, it will be rounded up to 94% and be an A.

There are VERY RARELY any curves. But I am not a professor where “a 40% is a B” is the norm. I haven’t needed to curve anything in years, as the grade distributions are usually well-balanced.

Late Policy

Projects and labs are due for full credit at 11:59:59PM on the due date. I’m not super strict about it, so don’t worry if you turn it in a little past midnight.

Projects can be turned in late by 11:59PM on the next day. There is a 10 point penalty for late submission, taken off after all other grade calculations (e.g. extra credit).

Labs cannot be turned in late.

If you have a major problem that means you can’t turn in a project on time, contact me and explain what’s up; I’m pretty accommodating. But that doesn’t mean I’ll always give one, so don’t take it for granted.

Academic Integrity

For labs, feel free to talk about them with your classmates and friends. Try to do the work on your own. There’s no real benefit to copying someone else’s, because most of the grade is from attempting it, and they’re not worth much anyway.

For projects, you must do all the work yourself. If you happen to talk with a classmate/friend about understanding the project, that’s fine; but do NOT “help” each other on the actual work. If you are worried that you or a friend will fail the project, ASK ME!

You may not use online resources such as StackOverflow, or projects from previous offerings of this course, to complete your work. If we believe that you have cheated on your assignment, all involved parties will receive a 0 for the assignment. If this is the second offense, you will fail the course.


Announcements are sent through Courseweb, which also sends them through email. Please be sure to check your email regularly or set your phone up to notify you.

There is an online chatroom through Discord. Check the pinned announcement on Courseweb for the link. Here is a page with the server rules and some basic info if you are new to using Discord.

Please don’t direct message me as your first option when you have questions. I would love to be able to help everyone individually, but there are so many of you, and I have a lot of work to do. If you can (without showing your code), ask questions in the public chat first. Someone there has probably already encountered it and can help you!


You are expected to behave respectfully to your fellow students, the instructor, and the teaching assistants.

Jokes or comments about sex, gender, race, ethnicity, religion, etc. will not be tolerated. This is not Reddit or 4Chan. Behave as if you were a professional: keep the discussion about the subject at hand and try not to bring personal issues into it.

These rules apply not only to lecture, but also recitations, office hours, online chats, emails, etc.

Religious Observances

If a religious observance will prevent you from attending recitation/exams/being around to submit projects, please contact me as early as possible in the term about them so we can make accommodations.


If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services (216 William Pitt Union; 412-648-7890; TTY: 412-383-7355) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.