IC221: Systems Programming (SP16)

Home Policy Calendar Resources

Course Policy


Optional Text Book

Extra Instruction


There will be three MGSP student leaders to compliment extra instruction to be held before labs and homework are due.

Course Objectives and Assessment

Learning Objectives

  1. Understand the operation of the UNIX OS from the user, systems programmer, and application programmer perspective. (supports Student Outcome i and g)
  2. Use a UNIX command shell to interact the file system, developing basic scripting, and develop command line tools. (supports Student Outcome i)
  3. Interact with the O.S. through system call API to manage processes and interact with the file system (supports Student Outcome i)
  4. Use standard debugging techniques using gdb and valgrind (supports Student Outcome i)
  5. Design simple network programs that use the socket API (supports GSO i and EC310 Objective 1)
  6. Design software on UNIX that uses concurrency to solve problems. (supports Student Outcome i)
  7. Learn basic operating system security concepts such as those related to file permissions, user group permissions, unintended execution paths. (supports Student Outcome e, i and g and EC310 Objective 2)

General Student Outcomes

This course contributes to CS/IT program assessment goals:

EC310 Course Objective Assessment

This course contributes to the following EC310 learning objectives:
  1. (EC310 Objective 1) Describe in depth the principles, mechanisms, and technologies of information systems' hardware and software in both computers and communications domains, and describe the development of typical exploits used against vulnerabilities in information systems.
  2. (EC310 Objective 2) Identify action that can be taken to protect information systems' hardware and software in both computers and communications domains against potential exploits.

Grading Policy

Grading Breakdown

EI Attendance

You will be expected to attend at least 3 EI sessions of at least 15 minutes in length throughout the semester. One of those session must occur before the 6-Week Marking period, the second must occur between the 6-Week and 12-Week Marking period. Finally, and a third session must occur between the 12-Week and Final Exam. Of course, you may attend EI more than three times, however, three of those times must occur in timeline described previously.

Submission Policies

Homework Submission Policy

Homeworks for each week will post on the first lecture of the week, and are due the following week's first lecture. Homeworks must be submitted in hard copy to the instructor.

Homework Late Policy :

Lab Submission Policy

All labs are released on Friday and will be due the following Thursday at 23:59. All lab submissions must occur via the course submit system, which can ONLY occur via the lab computers. Submission by other means will not be accepted.

Lab Grace days:

Practicum Submission Policy

Practicum are assigned as part of each marking period, 6-week, 12-week, and final. They will be released at 0800 on the day they are assigned and will be due that day at 23:59. Practicum will not be accepted late for any reason.

Honor, Collaboration and Classroom Conduct Policy

The honor and collaboration policy of this class references and adapts the language of Computer Science Department Instruction 1531.1D, Policy Concerning Programming Projects. We make the following course-specific adaptations and revisions below; however, when not explicitly stated, of the Department's policy holds.

Homework Assignment Collaboration

Lab Assignment Collaboration Policy

Lab Assignment Discussion Policy

Practicum Collaboration and Discussion Policy

Classroom Decorum


Adam J. Aviv
Course Coordinator
CDR Michael Bilzor
CS Department Chair

Last modified: Thu Jan 21 10:57:09 EST 2016