Syllabus
Syllabus
Summary Of Course
This course covers the concepts underlying all computer systems and how they affect the correctness,
performance, and utility of application programming. In particular, we will cover exceptional control
flow (interrupts, faults, traps, signals), memory (caches, virtual memory, dynamic memory allocation),
system-level I/O, network programming, and as time allows concurrent programming.
Prerequisites
The prerequisites for this course are CSC406 (Systems I) and CSC402 (Data Structures I). I will assume
you had enough exposure to C in CSC406 that you understand how pointers work as well as how to
write, compile and debug C programs in a Linux environment. From CSC402, you must know how linked
lists are implemented and used.
Required Textbooks
Computer Systems: A Programmer's Perspective, 2nd Edition. Bryant & O'Hallaron, Prentice
Hall/Pearson, 2011. ISBN: 978-0136108047
Systems Programming with C and Unix. Hoover, Addison-Wesley/Pearson, 2009. ISBN: 978-0136067122
Grading Policy
Lab Projects
Midterm Exam
Final Exam
50%
25%
25%
A
AB+
83-86
80-82
77-79
73-76
70-72
67-69
60-66
0-59
B
BC+
C
CD+
D
F
Labs
The heart of this course are the three labs that students will be doing. Each of these labs require a
significant amount of time and work to complete. They really are projects and not homeworks.
Students are urged to start early. Note that late submissions will not be accepted so make sure to
submit whatever you have before the deadline. You can always resubmit if you make more progress
before the deadline. Make sure to run your partial solutions against the test cases as they will be used
to grade your submissions.
The labs do take a significant amount of time to finish, but students can complete each of the labs on
their own. However, some students work better in a group, so students are allowed to work in a team
with at most one other student. Note, however, that usually there is no easy or obvious way to split the
work and so working together really means working together. Students are expected to solve the
problems on their own (or with their 1 team member). Searching for answers to the problems online is
considered cheating and will result in an F for the course. You are certainly welcome and encouraged to
seek help with how to use the various tools, but not on how to solve the problems. If you are ever
unsure about whether some reference/resource is allowed, please just ask.
Exams
The midterm exam is on Wednesday, October 16, at the usual class time. Online students must take the
midterm exam either on October 16 or October 17. The final exam is on Wednesday, November 20, at
the usual class time and in the usual classroom. Online students must take the final exam on either
November 20 or November 21. Clear your schedule now. If you know you have a conflict, you must let
the instructor know by the second class (September 18) and the conflict must be documented.
In class students: Both exams will take place in the regular classroom.
Online students: Make sure to register online for the exam on as soon as possible. If you are not a local
student,you must arrange for a proctor. All online students should be familiar with their rights and
responsibilities as outlined here:
http://blogs.cti.depaul.edu/colwiki/Wiki%20Pages/Course%20OnLine%20Guide%20For%20Students.aspx
Students may bring a single 8.5" by 11" sheet of notes (both sides) to the exams, but no other resources
will be allowed. The sheet of notes must be turned in with the exam and will not be returned. Please
make a copy for yourself before bringing it to the exam.
The evaluations are anonymous; the instructor and administration do not track who entered what
responses. A program is used to check if the student completed the evaluations, but the evaluation is
completely separate from the students identity. Since 100% participation is our goal, students are sent
periodic reminders over three weeks. Students do not receive reminders once they complete the
evaluation. Students complete the evaluation online in CampusConnect at
http://campusconnect.depaul.edu
Email
Email is the primary means of communication between faculty and students enrolled in this course
outside of class time. Students should be sure their email listed under "demographic information" at
http://campusconnect.depaul.edu is correct.
Plagiarism
The university and school policy on plagiarism can be summarized as follows: Students in this course, as
well as all other courses in which independent research or writing play a vital part in the course
requirements, should be aware of the strong sanctions that can be imposed against someone guilty of
plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible
expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work a
report, examination paper, computer file, lab report, or other assignment which has been prepared by
someone else. If you have any questions or doubts about what plagiarism entails or how to properly
acknowledge source materials be sure to consult the instructor. Please see the separate plagiarism
handout for some guidelines about what constitutes plagiarism in this class.
Incomplete
An incomplete grade is given only for an exceptional reason such as a death in the family, a serious
illness, etc. Any such reason must be documented. Any incomplete request must be made at least two
weeks before the final, and approved by the Dean of the College of Computing and Digital Media. Any
consequences resulting from a poor grade for the course will not be considered as valid reasons for such
a request.