Quick Links

Top of Syllabus

Course Info

Overview Sections Schedule Office Hours Blackboard/Piazza Grading Accommodations Zeus Server Honor Code

GMU Policies

Privacy Inclusion Disability Services Title IX

Contact Info

Email

Course Overview

Course: CS 367
Credits: 4
Repetition: Limited to 3 Attempts (see AP. 1.3.4 in the Catalog)
Modality: In-Person Lecture (Online Lectures only in Snow Days or Campus Shutdowns)

Course Description:

CS367 provides an introduction to the field of Systems Programming. This is an area of programming wherein the software written generally provides services to other software.

Examples of Systems Programming are Operating Systems, Game Engines, Embedded Systems Programming, Industrial Automation, and Networking.

This course will prepare you for CS471 (Operating Systems), CS465 (Architecture), CS455 (Networking), and various other courses with systems level programming.

Textbook

Required Textbook: "Computer Systems: A Programmer's Perspective (3rd ed.) by Randal Bryant and David O'Hallaron (Prentice Hall).

Course Outcomes

  1. Demonstrate understanding of data representation at machine level, including binary numeric encodings, data structures, and Boolean operations.
  2. Demonstrate understanding of program representation at the machine level using assembly language, including control flow, procedures, and file linking.
  3. Demonstrate practical techniques of system tools to understand low level behaviors of programs, including debuggers.
  4. Understanding of basic CPU design including circuits, pipelining, and digital logic.
  5. Demonstrate understanding memory concepts including virtual memory, caching, and dynamic memory layout.
  6. Demonstrate understanding of computer processes, including its lifecycle and communications with the system.

Prerequisites

Topics for this Semester Will Include:

Sections

All sections are taught in-person.

Lecture Sections: Prof. Hamza Mughal
Section Time Location
001 T/Th 9:00am - 10:15am Horizon Hall 2009
004 T/Th 12:00pm - 1:15pm Horizon Hall 2009

Lecture Sections: Prof. Kevin Andrea
Section Time Location
003 M/W 9:00am - 10:15am Horizon Hall 2009
005 F 10:30am - 1:10pm Sandbridge Hall 107

Recitation Sections
Section Time Location GTA Instructor
308 F 8:30am - 9:20am Innovation Hall 326 TBA
301 F 9:30am - 10:20am Innovation Hall 222 TBA
302 F 10:30am - 11:20am Innovation Hall 222 TBA
303 F 11:30am - 12:20pm Innovation Hall 222 TBA
304 F 12:30pm - 1:20pm Innovation Hall 222 TBA
305 F 1:30pm - 2:20pm Innovation Hall 326 TBA
306 F 2:30pm - 3:20pm Innovation Hall 326 TBA
307 F 3:30pm - 4:20pm Innovation Hall 319 TBA

Schedule

These schedules are subject to change as needed during the semester.

Planned Schedule: https://cs.gmu.edu/~kandrea/F23/CS367_Schedule_F23.html

Timeline Version of Schedule: https://cs.gmu.edu/~kandrea/F23/CS367_Timeline_F23.html

Office Hours

Times and Locations will be kept updated on Piazza.

Office Hours Policies

Office Hours Locations and Maps

Professor's Office Hours

Professor Location Map
Prof. Andrea Buchanan Hall D217C Map Link: Buchanan Hall in the CS Undergraduate Office on the Second Floor.
Prof. Mughal Buchanan Hall D217F Map Link: Buchanan Hall in the CS Undergraduate Office on the Second Floor.

GTA Office Hours

GTA Office Hours (All GTAs): Map Link: Engineering Building 4456 on the Fourth Floor.

Blackboard and Piazza

Blackboard

Blackboard Link: https://mymasonportal.gmu.edu

There are 2 different Blackboard pages for our course.

Piazza

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza.

For security, we will be adding everyone to Piazza manually.

Piazza Link: https://piazza.com/gmu/fall2023/cs367/

Piazza Policies

Grading

The course will have one midterm and a final. Much of the work during the semester will be completing projects, as well as regular recitation activities (written and digital).

In general, all grades should be available about two weeks after submission.

Semester Grades

Category Grade % Notes
Projects 36% Four Projects (9% Each)
Quizzes 7% Lowest Two Quizzes Dropped
Recitation 7% Participation Based, One Dropped
Midterm 20% No Replacement Policies
Final 30% Cumulative

Grading Scale

Grade Cut-Off Grade Cut-Off Grade Cut-Off Grade Cut-Off
A+ 98% B+ 88% C+ 78% D 60%
A 92% B 82% C 72% F 0%
A- 90% B- 80% C- 70%

Grade Contesting

Grading Policies

Project Policies

Exam Policies

Quiz Policies

Recitation Policies

Accommodations

Disability Services provides a variety of Academic Accommodations that include Extended Time of Quizzes and Exams, Extended Project time, Reduced Distraction Environments for Exams, Additional Breaks during Tests, and other forms of support to help ensure fair access to the lectures and materials.

Disability Services will also work with students with temporary needs, such as following an accident or other short-term injury. This is important, because the Accommodations will be provided for all of your classes and provide for the necessary time for your recovery as well.

Disability Accommodations Policies

Computer Accounts

This is a Systems Programming class. Unlike CS 262 or CS 222, which are general-purpose C courses for any computer system, this course is based on building programs for a specific system. For CS 367, that system is Zeus.

Zeus is a Linux computer running Red Hat Enterprise Linux and is administerd by the College of Engineering and Computing for our use. Some of our programs will involve libraries that have been pre-built on Zeus, and some programs will use system specific features that may only build properly on Zeus.

Connecting to Zeus

Zeus Policies

Honor Code

The honor code at George Mason is an important part of our academic culture. A degree from this institution should be a direct measure of your own progress and abilities, and as such at all times we must ensure that all work that should be your own is your own.

We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated.

As seductively simple as it may seem to just copy and paste work from a friend or online source, remember that it is just as easy to compare your work electronically, and discover the similarities. We use automated software to flag suspicious cases, and then review them by hand to find the cases that must be submitted to the Office of Academic Integrity. Repeat to yourself: it's not worth trying to cheat. We will catch it, and sadly but surely, we will turn it in.

The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance.

Honor Code Policies

Honor Code Responsibilities

Honor Code Links and Specifics

Privacy

All course materials posted to Blackboard or other course site are private; by federal law, any materials that identify specific students (via their name, voice, or image) must not be shared with anyone not enrolled in this class.

To protect your privacy, we also cannot list your GMU email address on any public forum or provide it to any other students. You may, of course, give your email address to any other students.

Video recordings of class meetings that are shared only with the instructors and students officially enrolled in a class do not violate FERPA or any other privacy expectation.

Personal Privacy Statements

Inclusion

Every student in this class is exactly where they belong and it is our honor to welcome each of you to join us in learning throughout this semester. Every student in this class, regardless of background, sex, gender, race, ethnicity, class, political affiliation, physical or mental ability, veteran status, nationality, or any other identity category, is an equal member of our class.

You have the right to be called by whatever name you wish, to be referred to by whatever pronoun you identify, and to adjust these at any point.

If you feel uncomfortable in any aspect of our instruction that results in any barrier to your inclusion in this course, please contact your professor directly.

Disability Services

Students with a disability or other condition (documented with GMU's Office of Disability Services) that may impact academic performance should speak with the professor as soon as possible to discuss appropriate accommodations.

If you are in a situation that even temporarily affects your ability to learn or work, such as with a broken limb or other such injury, contact the Office of Disability Services to get accommodations.

We are quite happy to assist as is appropriate, but it must be documented ahead of time by ODS.

Policies

Sexual Harassment and Interpersonal Violence Policies

As a faculty member and designated "Responsible Employee," I am required to report all disclosures of sexual assault, interpersonal violence, and stalking to Mason's Title IX Coordinator per university policy 1412.

If you wish to speak with someone confidentially, please contact:

Email Address and Required Subject Information

Prof. Andrea Email: kandrea @ gmu.edu Prof. Mughal Email: hmughal2 @ gmu.edu

Email Policies