CS 301 – Assembly Language, Fall 2003

Professor Hartman

MWF 3:30 - 4:30 in Chapman 104


Syllabus and course information


Instructor: Prof. Chris Hartman

Office: 201D Chapman

Office Hours:             Monday 1-2

Tuesday 12-1 and 2-3

Wednesday 1-3

Friday 2:30-3:30

Phone: 474-5829

Email: hartman@cs.uaf.edu

Class web page: www.cs.uaf.edu/~cs301

 TA: Suresh Gandham, ftsg1@uaf.edu


Prerequisite: CS 201.

Department policies: See www.cs.uaf.edu


Textbook: Computer Systems (A Programmer’s Perspective) by Bryant and O’Hallaron

Auxiliary text: PC Assembly Language by Paul Carter (available for free online at http://www.drpaulcarter.com/pcasm/redir.php?file=pcasm-book.pdf)


Grading Policy: Grades will be assigned on a normalized basis (curve) with the following allocation:

            Homework: 35%

            Exam 1: 20%

            Exam 2: 20%

            Final Exam: 25%



The course will cover assembly language programming for x86 and Pentium chips. Topics include machine organization, architecture, data representation, instruction set, addressing modes, procedures, high level language interfaces, I/O routines, the memory hierarchy, and performance measurement and optimization. We will be following roughly the outline for the ORG+ course found on page xxiii of the text, with the addition of chapter 4, which is where the auxiliary text comes in. Concepts and techniques will be emphasized and programming will be required. Lecture topics, reading assignments, and homework will be available at www.cs.uaf.edu/~cs301. Do check out the links at the class homepage – you will find a lot of useful information.



Homework will be assigned on an approximately weekly basis and be due by 4:45 pm on the due date. Do not put assignments under my door. Late homework will not be accepted. Plagiarism or faked output will result in an F on the assignment in question, as well as possible disciplinary action from the University. It is acceptable for students to discuss approaches to homework problems, specific syntax questions, and debugging, but all code must be written on an individual basis.



There will be two in class exams and a comprehensive final. The exams will be on Friday, October 10th and Friday, November 14th, and the final exam will be from 3:15 to 5:15 pm on Wednesday, December 17th. All exams must be taken as scheduled. In particular, note that early or late final exams are contrary to the policies of the department.