George Mason University
Department of Computer Science

CS 367 - Computer Systems and Programming (Section 002)

Spring 2019

Instructor: Dr. Hakan Aydin (
Meeting Times and Location: Monday and Wednesday, 12:00 - 1:15 PM, Merten Hall 1200
Instructor's Office Hours: Wednesday 2:30 – 3:30 PM, and by appointment (Office: Engineering Building, Room 5308)

Description: 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, processor architecture, processes, virtual memory, and memory allocation.

Prerequisites: Grade of C or better in CS 262 (or CS 222) and grade of C or better in MATH 125.
Prerequisites will be strictly enforced.

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

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


Graduate Teaching Assistants (GTAs):
Anowarul Kabir ( Office Hours: Monday, 10 AM - 12 noon
Nabil Darwich ( Office Hours: Thursday, 1 PM - 3 PM
Yajie (Vicky) Yang ( Office Hours: Tuesday, 12 noon - 2 PM

Undergraduate Teaching Assistants (UTAs):
Peter Bui (
Nicki Vyea Casenas (
Robert Hitt (
T. A. Nguyen (
Tiernon C. O. Rourke (
Shane M. Polisar (
Narimaan Y Valian (
Mohanad Almiski (

Grading: Grading components will be as follows.

The students must obtain a total score of at least 90 (out of 100) to be considered for an A. A total score less than 50 or a final exam score less than 40 will result in F. No early midterm/final exams will be given and make-up exams are strongly discouraged.  A student should present an official and verifiable excuse to miss a midterm/final exam (such as a doctor's note).

All exams are closed book. The final exam will be cumulative; that is, it will include all the topics discussed during the term.

Late assignment/project submissions (when allowed) will be subject to a late penalty. No project submission will be accepted 48 hours after the original submission deadline. Each student has three One-Day-Late tokens available, each adding 24 hours to the deadline of a project. The tokens are automatically applied to the late work. At most two tokens can be used on a given project. Due to the grade submission deadlines, late submissions may not be accepted for the last project of the semester. Late submission incurs a 25% ceiling penalty for each 24-hour period after the deadline.

The students are responsible for keeping back-ups of their work while they are working on an assignment. Submission deadlines or late penalties cannot be changed because a wrong/empty file was submitted -- the students should double check that they have submitted the correct files before the assignment deadline.

All students must abide by the GMU Honor Code and CS Department's Honor Code and Academic Integrity Policies during the semester. The students are supposed to work individually on the assignments. We reserve the right to use automated tools such as MOSS to detect plagiarism. Violations of the Honor Code will result in an F. Those violations will be also reported to the GMU Honor Council.

The students, if they feel that their work is not accurately graded, must initiate contact with the grader within a week of receiving the grade (either in the lecture during which it was first handed out or on the Blackboard). Grade contesting beyond this time window will not be allowed.

Active Learning: In addition the lecture times, there are recitations associated with CS 367 on Fridays. Each student must enroll in one CS 367 recitation section. There will be work to complete either during recitation or by some short duration after recitations are complete. This work will not be graded but will be turned with the proper feedback. Attendance and effort are the main components of the recitation grade. Students should notify the instructor and the GTA in advance if they have to miss a recitation for any reason. Depending on the activity planned for a recitation session, the students will need to bring pencils, whiteboard markers or laptop computers on the recitation day.

Class Home Page: Throughout the term, all course material (announcements, slides, handouts, etc.) will be available on the GMU Blackboard system. Important announcements will be also sent by e-mail to the students' GMU e-mail addresses.

Computer Accounts: All students should have accounts on VSE Unix cluster (aka Instructions and related links can be found here. Your programs will be tested and graded on the VSE Unix Cluster. If you develop your programs on systems other than zeus, it will be your responsibility to port them to zeus before the submission deadlines.

Contacting the instructors/TAs: The preferred communication medium is Piazza. The students can send private messages to the instructors (professor, GTAs, UTAs) as well as post public questions visible to all students and tag everything by topic.

Classroom Behavior: During the lectures, the students should avoid behavior that may distract others, including chatting, sleeping, playing games. The use of electronic devices (including laptops, tablets, cell phones, smartphones, etc.) is not allowed in this class. If you feel that your learning will be hampered by not having access to your tablet/laptop computer for note-taking or other course-related purpose, you should speak to the instructor at the beginning of the term.

Disability Statement: If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center (DRC). If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must talk to the instructor during the first week of the term about the issue.