GEORGE MASON UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE
CS 367 - Computer Systems and Programming
Prof. Elizabeth White
Office: Rm. 5315, Engineering
This course provides an introduction to computer systems from a programmer's perspective.
Topics include machine-level representation of data and programs, linking and loading, processes,
virtual memory and memory allocation.
Upon completion of this course, students should be able to:
- Demonstrate an ability to design and implement C programs.
- Demonstrate knowledge of computer arithmetic and logic operations and representations of data at the machine-level.
- Demonstrate knowledge of machine-level representations of (C) programs.
- Demonstrate an ability to use debuggers.
- Demonstrate an understanding of object file linking and related ideas such as relocatable object files and symbol resolution.
- Demonstrate an understanding of the idea of a process, how processes are created and laid out in memory, how processes use virtual memory, and how they are manipulated via interrupts, signals, and context switches.
Grade of C or better in CS 262 (or CS 222) and in ECE 303, 331, or 445.
The required textbook for this class is
Computer Systems: A Programmer's Perspective by Randal
Bryant and David O'Hallaron (Prentice Hall, Second Edition).
The grade for the course will be based on the following components:
(i) Homework Assignments & C programming (20%)
(ii) Lab Assignments (30%)
(iii) Exams (15% + 15%)
(iv) Final exam (20%)
All exams are closed book.
There will be three to four labs. The relative weight for each
assignment is based on the amount of effort that is required. You may work in a group of up to two students on these assignments.
You are expected to abide by the University's
honor code and
the CS Department's
Honor Code and Academic Integrity Policies during the semester.
Any violation of the honor code will result in an F for the class.
Class Home Page
All handouts and other course material will be available on blackboard
You must obtain an IT&E labs
account if you do not already have one. Your programs will need to
execute correctly on the Linux computers in the IT&E lab since that
system will be used while grading your projects.
If you are a student with a disability and you need academic accommodations,
please see me and contact the Disability Resource Center (DRC) at 993-2474.
All academic accommodations must be arranged through the DRC.