ClassInfo

CSC 373 Computer Systems I

Glenn Lancaster

Fall 2012-2013
Class number: 14481
Section number: 401
TuTh 1:30PM - 3:00PM
LEWIS 01108 Loop Campus

Summary

This course covers the concepts underlying all computer systems and how they affect the correctness, performance, and utility of application programming. We will cover, in particular, machine level representation of data and programs, assembly language and debuggers, memory hierarchy, caching, linking, and the C language.



Texts

The required text for this course is:

Bryant and O'Halloran, Computer Systems: A Programmer's Perspective, Prentice-Hall, ISBN 0-13-034074-X.
See http://csapp.cs.cmu.edu/

Hoover, System Programming with C and Unix, Addison-Wesley. ISBN 0-13-606712-3.

Chapters covered in the Computer Systems text:

  • Chapter 2: Representing and Manipulating Information
  • Chapter 3: Machine-Level Representation of Programs
  • Chapter 6: The Memory Hierarchy
  • Chapter 7: Linking

The Hoover text is a reference for C and Linux. It also contains basic information on the Linux debugger: gdb. This knowledge will be needed in this class and even more in CSC374.

A link to Linux tutorials on the web is provided on the class web site and is also a useful reference.



Grading

Assessment will consist of exercises, 3 programming labs, a midterm, and a final exam. The midterm and final exam will test knowledge of the topics and types of problems covered in the exercises and the practice problems from the text.

The final course grade will be based on:

exercises  8%
midterm   15%
final     25%
lab1      16%
lab2      20%
lab3      16%

The course grade is based on the total percentage:
A : 93 - 100
A-: 90 - 92
B+: 88 - 89
B : 83 - 87
B-: 80 - 82
C+: 78 - 79
C : 73 - 77
C-: 70 - 72
D : 60 - 69
F :  0 - 59


Prerequisites

The prerequisite is a programming course in Java. This prerequisite can be satisfied by CSC211, CSC224, or by CSC396. However, the majority of programming for this class will be in C. So knowledge of C/C++ would also suffice for the programming prerequisite. It is NOT assumed that you know C/C++. Only a small subset of C is needed for programming in this course. But you will need to also learn to read assembler programs derived from C programs. So although there is not much C programming in this class, you will need to be able to understand additional features of C. In addition more extensive programming in C is required in Computer Systems II (CSC374). So more coverage of C features will be discussed in this class for understanding the labs and in preparation for CSC374.



School policies:

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. 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 student’s 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.

Academic Integrity and Plagiarism

This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you have any questions be sure to consult with your professor.

All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296