CS241 Computer Organization (Spring 2009)
Pre-requisites: CS142 or equivalent
Instructor: Christino Tamon
Lecture: Science Center 354 (or 334) Tue-Thu 8:00-9:15pm
Office hours: Tue-Thu 9:15-9:30,10:45-13:00 Science Center 373
Syllabus
An introduction to computer organization and assembly language programming.
Topics include the functional organization of computer hardware; data representation,
and computer arithmetic; instruction sets, addressing modes and low-level I/O.
Introduces machine and assembly language, and systems programming techniques in
the programming language C. This course serves as a foundation for courses on
operating systems, compilers, networks, and computer architecture.
Grading: Assignments and Quizzes 40%, Midterm 20%, Final 40%
Text
-
Randal E. Bryant and David R. O'Hallaron, "Computer Systems: A Programmer's Perspective,"
Prentice Hall, 2003.
-
Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language," 2nd edition, Prentice-Hall, 1988.
Objective & Outcome:
The main objective of the course is to describe low-level concepts underlying computer
systems that affect correctness, performance and utility of application programs.
The specific outcomes include:
- Understanding of machine-level representation of information and its manipulations.
- Knowledge of the C programming language under the UNIX system.
- Knowledge of IA32 assembly.
- Understanding of performance and optimization issues related to assembly-level programs.
Requirements & Policies:
Although attendance is not mandatory, students are responsible for all course materials
covered in lectures and any exams given during class periods. Students that need to
make up missing course work must provide the required Clarkson official exempt form.
All students must submit their own work; the exchange of ideas are encouraged but
ultimately the submitted work must be the student's own. Please refer to the Clarkson
University Regulations for more guidelines on academic integrity and related matters.