CS 367 - Computer Systems and Programming

Spring 2009


Section 001:Section 002:
Meets: Friday 1:30 - 4:10, IN 134       Meets: TR 3:00 - 4:15, IN 134
Instructor: Prof. Pearl Wang     Instructor: Prof. Liz White

Phone: 703-993-1527
Phone: 703-993-1586

Office location: S&T II, Room 430B
Office location: S&T II, Room 429

Office hours: Fri 10 - 11:30 am
Office hours: Tues & Thurs 1:30 - 2:30 pm

Teaching Assistants:

           Raimi Rufai Xiaohui Yang
Office location: ST 2, Room 365       Office location: ST 2, Room 330
Office hours: Wed 5 - 7 pm Office hours: Thurs 4:30 - 6:30 pm


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.

Course Outcomes

Upon completion of this course, students should be able to:


Grade of C or better in ECE 303, 331, or 445. (Same as 2007 prerequisites.)


The required textbook for this class is Computer Systems: A Programmer's Perspective by Randal Bryant and David O'Hallaron (Prentice Hall, 2003). A reference text for the C programming language is the classic Kernighan and Ritchie book The C Programming Language (2nd edition, Prentice Hall, 1988).

Course Outline

Week 1: Overview of Computer Systems (Ch 1);  Intro to C programming
Week 2: Programming in C (cont'd)
Week 3 Programming in C (cont'd)
Week 4
Representing & Manipulating Information (Ch 2)
Week 5: Ch 2 (contd); 
Week 6: Machine-level Representation of Programs (Ch 3)
Week 7: Ch 3 (cont'd)
Week 8
Ch 3 (cont'd)
Week 9: Ch 3 (cont'd)
Week 10
Ch 3 (cont'd)
Week 11: Linking (Ch 7)
Week 12: Exceptional Control Flow (Ch 8)
Week 13 Ch 8 (cont'd)
Week 14: Virtual Memory (Ch 10)
Week 15: Review


The grade for the course will be based on the following components:
      (i)   Homework Assignments (15%)
      (ii)  Lab Assignments (35%)
      (iii) Mid-term exam (25%)
      (iv) Final exam (25%)

All exams are closed book.

Programming Assignments

There will be two C programming assignments and 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 at the following locations:

     367 home page for Section 001 (Dr. Wang)   and

     367 home page for Section 002 (Dr. White).

Computer Accounts

If you're planning to use the computers on campus for doing your projects, please obtain an IT&E labs account. Even if you are using your own computer, your programs 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.


GMU Academic Calendar    |    GMU Final Exam Schedule    |    Calendar of Religious Holidays