Computer Systems Organization I (Honors)

Prof. Ralph Grishman 
Tues/Thurs 11:00 - 12:15
Courant Institute / Warren Weaver 101

Contact Information:

Course Content:

This course is primarily an introduction to machine language, and in particular, two machine languages:  the Intel x86 architecture and JVM, the Java Virtual Machine.  The study of x86 will provide an understanding of how a real (and ubiquitous) machine works, while the study of JVM will provide some insight into the Java language and its implementation, and the problems of implementing programs across the Net.  We will also look at some aspects of C related to the study of machine language:  its memory model and use of pointers. Finally, if time permits, we will briefly look at some recent developments in high performance computer architecture.
  • Intel x86 Assembler:  10 classes
  • C language:  4 classes
  • integrating assembler and C:  2 classes
  • Java Virtual Machine language:  6 classes
  • Alternative machine architectures:  2 classes
  • See the tentative syllabus for further details.  Note that this is considerably more material than is covered by the other sections of this course -- more material than can be covered in class.  Students will be expected to learn a good deal of this material through reading before each class session.

    Grading for the course will be based equally on examinations and assignments.  There will be a mid-term and two short quizzes;  one larger programming project and 5 smaller assignments.

    Mailing List

    Please subscribe to the class mailing list.  It will often have valuable questions and answers about upcoming assignments and exams.

    Then you can send mail to the list.

    x86 Resources:

    We will use the Dewar Assembler and Debugger to learn x86 assember:

    JVM Resources

    Course Readings: