Comp 40:
Machine Structure and Assembly Language Programming

Welcome

*The structure and content of this course are based on prior versions of the course taught most recently by Noah Daniels and Norman Ramsey. Thank you!

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,

Norman's prerequisites

You must grasp basic algorithms, data structures, and good programming practice. Moderate proficiency in either C or C++ is required. In particular,

If you have successfully taken COMP 15 at Tufts, it should have provided you with the experience and skills you will need. If not, you will need the instructor's permission to take COMP 40. Students in the bachelor-certificate program or other graduate programs will be granted permission provided they are confident they can make up any missing material.

You need some Unix experience. You must understand the basics of files, directories, creating and editing files, printing, and compiling programs. You will be much, much happier if you also can write a simple shell script (sh, ksh, or bash) and use Awk and grep effectively. Kernighan and Pike cover these topics at the appropriate level; the book is on reserve at the library.

This course uses the 64-bit instruction-set architecture of Intel Core 2 Duo, which may be the most complicated architecture money can buy. To avoid spending many, many hours thrashing out written assignments, you must have or develop the ability to identify relevant information buried in a sea of irrelevant detail. Your course staff will help as we are able.

The most important prerequisites for this course cannot be taught. To do well in this or any other systems course, develop these habits:

If you have these habits, the other prerequisites are almost irrelevant. If you don't, you can expect to have difficulty no matter what your background.

How can I find out more?

Course admin and course materials

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
Mark A. Sheldon (msheldon@cs.tufts.edu)
Last Modified 7 January 2013