ClassInfo

CSC 374 Computer Systems II

Poornima Nookala

Office: Classroom
Fall 2024-2025
Class number: 16421
Section number: 701
Tu 5:45PM - 9:00PM
CDM 00216 Loop Campus

Summary

This course is a continuation of CSC 373 and here's what you will learn:

  • Understand computer architecture and its impact on software.
  • Learn memory hierarchy and how it affects performance.
  • Develop system-level programming skills using C.
  • Understand the compilation process from code to machine language.
  • Study process control and concurrency, including handling race conditions and deadlocks.
  • Explore virtual memory and address translation.
  • Gain network programming skills for building client-server applications.
  • Learn basic system security, including protection against vulnerabilities.
  • Understand software-hardware interaction at a low level.
  • Prepare for advanced systems and networking studies with a solid foundation.



Texts

Required Textbook

Computer Systems: A Programmer's Perspective, Third Edition, Bryant & O'Hallaron, Prentice Hall/Pearson, 2016, ISBN: 978-0134092669.

  • This book really matters for the course!
  • Electronics editions available.

Recommended Reading

The C Programming Language, Second Edition, Brian Kernighan and Dennis Ritchie, Prentice Hall, 1988, ISBN: 978-0131103627

  • Valuable resource for learning the fundamentals of C, by the designers of the language.
  • A little dated.


Grading

There will be 4 programming assignments, each worth 15% of the total grade and each taking about ~1.5 weeks to complete. These assignments must be completed individually. It is expected that students know the basics of C. These assignments must all work in a Linux environment (in which they will be graded in).

Final Exam will be worth 40% of the grade.



Prerequisites

CSC 373



Attendance Policy

Attendance is encouraged to enhance your learning experience, though it's not mandatory. Staying engaged will help you better understand the material and stay on track with the course.



- Course objectives
- Review of C
- Chapter 5 - Optimizing Program Performance

Chapter 6 - The Memory Hierarchy Chapter 7 - Linking Chapter 8 - Exceptional Control Flow: Exceptions & Processes Chapter 8 - Exceptional Control Flow - Signals and Nonlocal jumps Chapter 9 - Virtual Memory Chapter 10 - System-Level I/O Chapter  11 - Network Programming Chapter 12 - Concurrent Programming Future of computing

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