Computer Systems and Low-Level Programming

Course number: 
CIS 2107
Fall 2016
Name E-mail Office location
John Fiore
Science Education and Research Center (SERC), Room 321

Grade of C- or better in CIS 1068 and CIS 1166. These may not be taken concurrently.

Topics covered: 
topic reading
course introduction Bryant and O'Hallaron, Ch. 1
introduction to C Kernighan and Ritchie, Ch. 1-7
data representation Bryant and O'Hallaron, Ch. 2
supp Bartlett and Bruno, Ch. 10
assembly Bryant and O'Hallaron Ch. 3
supp: Bartlett and Bruno, Ch. 1-6
memory allocation Bryant and O'Hallaron, Ch. 9.9-9.11
storage Bryant and O'Hallaron, Ch. 6
linkers (maybe) Bryant and O'Hallaron, Ch. 7
supp: Bartlett and Bruno, Ch. 8
Course goals: 
The primary goals of the course are: to understand how modern computers run the programs that you write, how data and programs are represented inside a computer, to understand the storage hierarchy of computer systems and how it affects program performance, to become proficient in the C Programming Language and the standard programming tools that every programmer should master, and to understand how compilers translate higher-level language constructs into primitive operations that standard processors understand.
Attendance policy: 
Attendance to all meetings of the class is mandatory
Accomodations for Students with Disabilities: 
Any student who has a need for accommodation based on the impact of a documented disability, including special accommodations for access to technology resources and electronic instructional materials required for the course, should contact me privately to discuss the specific situation by the end of the second week of classes or as soon as practical. If you have not done so already, please contact Disability Resources and Services (DRS) at 215-204-1280 in 100 Ritter Annex to learn more about the resources available to you. I will work with DRS to coordinate reasonable accommodations for all students with documented disabilities. (
Student and Faculty Academic Rights and Responsibilities: 
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following