CSCI 2400:  Computer Systems

Fall 2017

Department of Computer Science, University of Colorado at Boulder


Course Summary

This course introduces students to Computer Systems. The course will cover key aspects of how a software program executes on a modern computer, namely modern CPU hardware. In particular, the following major concepts will typically be studied:
In addition, the class will gain familiarity with important software tools such as debuggers, compilers, editors, and virtual machines.

General Information

See the Moodle class Web page at

Schedule & Location: MWF 2-2:50 pm in Chem 140
Course number: CSCI 2400.  See also the registrar's Web site.
Prerequisites: CSCI 2270.
Instructors: Professor Rick Han
Offices: ECCR 1B05F (CS Systems Lab in Engineering Center)
Office Hours:
Wed 10-12 noon (knock on door of systems lab to be let in, or call office phone 303-492-0914).  Additional appointments as needed.

Phone: 303-492-0914

Other useful references:

TAs: Sean Donohoe, Sepideh Goodarzy, John Klingner,  Zhiyuan Liu, Avinash Ratnavel, Tao Ruan, Yichen Wang
TA Office/Hours:  Weekly recitation sections, and more as needed.  See moodle for announcements.
TA Email: {Sean.Donohoe, Sepideh.Goodarzy, John.Klingner, Zhiyuan.Liu, Avinash.Ratnavel, Tao.Ruan,Yichen.Wang

class Web site:
See the Moodle class Web page at http://moodle.cs.colorado.eduAssignments, lecture slides, and announcements can be found there.  The moodle has a variety of useful features, including a forum for posting questions.  Each student should establish an account on the moodle and then subscribe to our class on the moodle using the special enrollment key given out in class.

CSEL Accounts:
The Computer Science department maintains the Computer Science Educational Labs (CSEL) in the first floor of the ECCS Wing of the Engineering Center.  The CSEL consists of a cluster of primarily Linux machines.  It is a convenient facility for doing your lab assignments.  If you are officially enrolled in this course, then you should be automatically signed up for an account in the CSEL, and will also automatically be given Buff One card key access to the CSEL. 

For help with the CSEL or moodle, email  CSEL updates are at

Class VM:
Instructions for downloading and installing the class VM will be posted on the moodle and gone over in the first recitation.  You can download the VM from

Course Assistants:
Justin Cai, Cassidy Haas,  and Matthew Kaiser will our CAs offering assistance with 2400 in the CSEL at hours posted on the moodle.


The lab assignments constitute 40% of your grade.
Two to three midterms exams and the final exam are together worth 50% of your grade.
The quizzes are worth 5%.
The recitation questions make up the remaining 5%.

Grading for Lab Assignments:

Your primary assignments will be your "Lab Assignments," given every 2-3 weeks, each of which will be followed by a grading meeting to review your solution with the TA. The grade meetings are scheduled on the Moodle site typically just before the assignment is due, and will begin after the due-date of each Lab. 

The grades for each lab will be based 40% upon the Task Success (i.e. "does it work") and 60% upon your explanation of your code/assignment and answering questions about the lab and its concepts. Historically speaking, students that have completed the assignment themselves usually have little problem passing the Q&A portion of the grade. 

Students may work in teams of up to two for the labs only, but each student will still be responsible for scheduling their own grading meeting with the TA for each lab.  You may help others only to the extent of answering typical questions that arise during compiling, debugging, and executing your lab assignments. 

All assignments are due by the deadline stated.  Extensions will not be granted except at the instructor's discretion in documented cases of extreme hardship, emergency, etc., unless otherwise noted.

All labs must be written in C and compiled for execution on the class VM, unless otherwise noted.

More information on the grading policy may be posted as needed on the moodle as the semester progresses.

Default Grading Policy:

All work should be your own on all assignments unless otherwise indicated.

Plagiarism policy.

Additional Policies:

Disability Policy

Religious Observances Policy

Discrimination and Sexual Harassment Policy

Classroom Behavior Policy