CSC 373 Computer Systems I
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, information representations, assembly language and debuggers, memory hierarchy, virtual memory, basic system-level I/O, networking and network programming.
Texts
Computer Systems: A Programmer's Perspective, by Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2003, ISBN 0-13-034074-X. (http://csapp.cs.cmu.edu)
The chapters covered in 373 are:
Part I, Chapter 1: A Tour of Computer Systems
Part I, Chapter 2: Representing and Manipulating Information
Part I, Chapter 3: Machine-Level Representation of Programs
Part I, Chapter 6: The Memory Hierarchy
Part I, Chapter 5: Optimizing Program Performance
We do not cover any of the "optional" sections (indicated with *)
Prerequisites
You must have successfully completed the introductory programming sequence in Java. This means you have a passing grade in CSC212, CSC224, or CSC396. Although we will not be programming in Java, we will be writing and using C code. We will cover necessary C topics as we need them, but I will assume that you already:
- know how to create, compile, and execute a Java program at the command line
- know how to debug a Java program
- understand the difference between primitive types and reference types
- understand basic programming structures (branching, loops, functions, etc.)
Your knowledge of these topics in Java will easily transfer to C and will be critical to your success in this class.
Week by week schedule
- Ch 1, C overview
- Ch 2 (2.1-2.3), Data Lab assigned
- Ch 2 (2.4)
- Ch 3 (3.1-3.4), Bomb Lab assigned, Data Lab due
- Ch 3 (3.5-3.6)
- Midterm (1.1-3.6 inclusive)
- Ch 3 (3.7-3.13), Buffer Lab assigned after class
- Ch 6 (6.1-6.3), Bomb Lab due
- Ch 6 (6.4-6.6)
- Ch 5 (5.1-5.6), Buffer Lab due
- Final (1.1-3.13, 6, 5.1-5.6)
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.
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.
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.
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 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