Computer Systems & Low-Level Programming

Course number: 
CIS 2107
Semester: 
Spring 2015
Instructors:
Name E-mail Office location
John Fiore john.fiore@temple.edu
Science Education and Research Center (SERC), Room 321
Prerequisites: 

Grade of C- or better in CIS 1068,  CIS 1166 is corequisite.

Textbooks: 
Bryant and O'Hallaron, Computer Systems: A Programmer's Perspective, 2nd Edition Prentice Hall. 2010.
 
Kernighan and Ritchie, The C Programming Language, Second Edition. Prentice Hall. 1988

Bartlett, Bruno, Programming From The Ground Up. Bartlett. 2004.

Topics covered: 
Topic Reading
Course Introduction BO ch. 1
Introduction to C KR ch. 1-7
Data Representation BO ch 2
Supplement BB ch. 10
Assembly Language BO ch. 3
Supplement  BB ch 1 - 6
Memory Allocation BO ch. 9.9-9.11
Storage BO ch. 6
Linkers BO ch. 7
Supplement BB ch. 8
BO. Bryant, O'Hallaron, Computer Systems
KR. Kernighan and Ritchie, The C Programming Language
BB. Bartlett, Bruno, Programming from the Ground Up
Course goals: 
This course introduces computer systems architecture at the level required to understand low-level systems programming. It examines issues of information representation, the form of machine instructions and addressing, the implementation of programming language constructs in terms of machine instructions, the interfaces to peripheral devices. Programming is done in assembly language and in C.

The primary goals of the course are: to understand how modern computers run the programs that you write, how data and instructions are represented inside a computer, 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 is Required
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. (Disability Resources and Services).
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 Academic Rights and Responsibilities