COMP 40
Machine Structure and Assembly-Language Programming
Tufts University
Fall 2009

Time and Place: G+ Block (MW 1:30-2:45), Halligan 111B
Lab: Friday 1:30-2:45, Halligan 120
Staff email: comp40-staff@cs.tufts.edu
Student mailing list comp40-everyone@cs.tufts.edu (subscribe)
Home page: http://www.cs.tufts.edu/comp/40/
Twitter feed: http://twitter.com/Tufts_COMP40
Instructor: Norman Ramsey, Halligan E006
Office hours Wednesday 4:30–5:30 (Halligan E006) and Thursday 4:30–5:30 (Halligan E006)
Teaching Assistants: Lee Tibbert
Ari Kobren
Office hours Tuesdays and Thursdays 7pm–9pm (potential conflict on game days)
Shilpa Nadmipalli
Office hours Sundays 1:30–3:30pm, Mondays 7–9pm, Fridays 3–4:30pm
Alyssa Trevelyan
Office hours Sundays 3:30–5:30pm, Wednesdays 7–8:30pm

What's this class about and why am I taking it?

COMP 40 presents the hardware foundation on which software is built. We require all students to study computation at the machine level because When you master the material in COMP 40,

Which books do I really, really need?

You will not be able to do the homework without Hanson's C Interfaces and Implementations. You will need it the first week.

If you're willing to teach yourself C through the web, you can survive without Kernighan and Ritchie. However, it is one of the best computing books ever written, and it will serve you well for years.

The "main text" by Bryant and O'Hallaron is actually not a great fit for the course, and it's not the sort of thing you're likely to use a lot afterward. But there are a few topics, like caches and assembly code, which may be quite hard to understand without some sort of book. If you need to save money, this is the place to do it—you can always try the library or try to borrow a friend's copy.

How can I find out more?

Course admin and course materials

Technical information

Thanks to Chloe Lopez, you can send an anonymous comment on lecture (or anything else) at any time.
Back to Norman Ramsey's home page