CS 367 - Computer Systems and Programming 

Fall 2016

Prof. Elizabeth White
Office: Rm. 5315, Engineering
Phone: 703-993-1586


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 CS 262 (or CS 222) and in ECE 301, 303, 331, or 445. 


Course Structure and philosophy

The course is studio style using a “flipped” approach.  Before each class session, there will be an assignment that may include textbook sections, slides or online materials (like videos).  During the class sessions, I will typically do short lecture segments; the rest of the time you will be working on guided programming tasks, worksheets and other activities.  These in-class assignments will frequently involve you working with a small group of students.  In class assistance will be provided by me and one or more teaching assistants.

This format for learning has been shown to work well for students learning science.  Students often report learning more in labs than in lecture, and we hope that by flipping the classroom to devote significant time to hands on explorations you will also enjoy the class in ways that are difficult in large lecture formats. 

For this to succeed it is important for you to commit to doing your best working and thinking both as you study the on-line materials and as you interact with others in class.  The level of engagement and commitment required for this class is greater than for a typical lecture.  As with all things worth doing, it will require effort, attendance, preparation, and commitment.

Supplies: Each student needs the following supplies for each face to face session.

·       Paper and writing instruments

·       Whiteboard markers


You may bring a laptop – some of the work will require one for each group.  However, you will only be able to use your laptop for the assigned course work.  Studies have shown that laptops during class can reduce not just your learning but the learning of those around you.


The required textbook for this class is Computer Systems: A Programmer's Perspective by Randal Bryant and David O'Hallaron (Prentice Hall, Third Edition).


The grade for the course will be based on the following components: 

               i.         Quizzes (5%)

             ii.         Class exercises (10%) – You will have some kind of exercise to submit (as an individual or as a group) most classes.   You will receive a 1 for submitted work and a 0 otherwise.  Your grade for the overall exercises will be the average of these scores.

           iii.         Lab Assignments (30%) – There will be four lab assignments, equally weighted.  All lab assignments will be individual efforts.

            iv.         Exams (15% + 15%)

             v.         Final exam (25%)

All exams are closed book.

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.  We will be using Piazza as a discussion board.

Computer Accounts

You must obtain an IT&E labs account if you do not already have one. Your programs will need to execute correctly on this IT&E system since that system will be used while grading your projects.

Students with Disabilities: 

Please contact The Office for Disability Services (SUB I, Room 4205, Phone 703-993-2474,  if you have a learning or physical disability that will require accommodation in this course.  You must obtain the proper paperwork and notify an instructor in advance to be accommodated.

Academic Integrity: 
GMU is an Honor Code university (; please see the University Catalog for a full description of the code and the honor committee process.