A course on computer systems topics, focusing on operating systems components and their relevance for application programming. Caching, memory hierarchy, performance optimization, linking, processes, virtual memory, dynamic memory allocation, system level I/O.
Computer Systems: A Programmer's Perspective, 3rd Edition, Bryant & O'Hallaron, Prentice Hall/Pearson, 2016, ISBN: 978-0134092669.
Programming in C, 4th edition, Stephen G. Kochan, Addison-Wesley Professional, 2014, ISBN: 978-0321776419.
The primary textbook is the Computer Systems book by Bryant & O'Hallaron; it is essential to the course. The lectures will cover the material in this book, and the homework exercises and tests will be drawn from it. The book on C programming, by Kochan, is a useful resource for learning the basics, as well as some of the intricacies, of programming in the C language. Tutorials on C programming are also available on Lynda.com; please see Resources and Links under Content in D2L.
CSC 373
During classes, I will be online for office hours; please check Bluestar for times.
Overview
This course focuses on the details of implementing fundamental parts of computer systems. There will be four (4) lab (programming) assignments, sixteen (16) quizzes, and a Final exam. These assignments and tests require you to read and write code in the C programming language, as well as develop proficiency in systems concepts.
Sec. 1. Lab exercises
Sec. 2. Quizzes
Sec. 3. Final exam
Sec. 4. How your grade for the course is calculated
Letter | Numeric Range |
---|---|
A | 93.1 and up |
A- | 90 - 93 |
B+ | 86.1 - 89.99 |
B | 83.1 - 86 |
B- | 80 - 83 |
C+ | 76.1 - 79.99 |
C | 73.1 -76 |
C- | 70 - 73 |
D+ | 66.1 - 69.99 |
D | 60 - 66 |
F | below 60 |
Lecture material will be prerecorded and uploaded to D2L for you to view prior to class. We will then review and discuss these materials during class, including working examples that are intended to help with programming assignments.
Each student is expected to turn in original work. Copying code or other documents from another person is considered a serious violation of the university's academic integrity policy (see below).
Week | Date | Topics |
---|---|---|
1 | Mar. 27 | Review: data representation; basic C programming |
Mar. 29 | Memory: hard disk operation; System Level I/O: reading & writing | |
2 | Apr. 3 | System Level I/O: buffering |
Apr. 5 | System Level I/O: stat, chmod, redirection, Standard C lib | |
3 | Apr. 10 | Lab review: file utilities Last day to drop without penalty! |
Apr. 12 | Dynamic memory allocation: System API, C library, implicit lists | |
4 | Apr. 17 | Dynamic memory allocation: linked lists, explicit lists |
Apr. 19 | Dynamic memory allocation: segregated lists and trees, garbage collection | |
5 | Apr. 24 | Lab review: malloclab |
Apr. 26 | Threading: intro, pthreads | |
6 | May 1 | Threading: semaphores |
May 3 | Threading: message library | |
7 | May 8 | Threading: readers & writers |
May 10 | Lab review: threadlab May 12: Last day to withdraw without receiving a grade. |
|
8 | May 15 | Memory: hardware; Cache organization & use |
May 17 | Cache-friendly code | |
9 | May 22 | Processes |
May 24 | Lab review: cachelab; Signals; longjumps; Linking: static libraries, dynamic libraries | |
10 | May 29 | No class -- Memorial Day |
May 31 | Linking: static libraries, dynamic libraries (cont.); Virtual Memory | |
Final Exam | Jun. 7 | From 11:30am to 1:45pm (exam available Jun. 1) |
Attendance is encouraged for your benefit, but it is not mandatory.
This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/. NOTE: 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. If you have any questions be sure to consult with your professor.
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://cdm.depaul.edu/enrollment.
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: csd@depaul.edu.
Lewis Center 1420, 25 East Jackson Blvd.
Phone number: (312)362-8002
Fax: (312)362-6544
TTY: (773)325.7296
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 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.
Policies of the school are explained on the webpage for this course on my.cdm.depaul.edu.