The following gives a schedule of topics covered by week. While this schedule is kept here for public reference, more detailed information (including links to additional information for each topic) is in Canvas in the “Modules” area. In Canvas, expected student work (including pre-class reading/preparation and assignments) is tagged with dates so that it is included on the Canvas class calendar — use that to help keep track of responsibilities. In addition to the material in Canvas, GitHub repositories are also available with code from in-class examples, which should be accessible to class members through the UNCG-CSC362-01-Spring2023 GitHub organization.
Topics: Course Intro, Role of the Operating System, and Virtual Machine Use
Textbook Reading: None
Handout: Syllabus
Resources: Class Virtual Machine Image (link and instructions in Canvas)
Topics: Working with the Bash Shell, Common Tools, and Linux Security Basics
Textbook Reading: Chapter 2 and Section 14.1 (Security Terminology and Ethics)
Topics: Programming in C
Textbook Reading: Chapter 3
Topics: More C Programming and C Software Security
Textbook Reading: Section 14.2 (Security in C Programming)
Topics: Processes
Textbook Reading: Chapter 4
Topics: Memory – Segments, Allocation, etc.
Textbook Reading: Sections 5.1–5.4
Topics: Filesystems
Textbook Reading: Sections 12.1–12.4
Tuesday, February 28: Midterm Exam
Thursday Topic: Threads – Basic Concepts
Textbook Reading: Sections 6.1–6.4
Topics: More on Threads – Synchronization and Thread-Safe Programming
Textbook Reading: Sections 6.5 and 7.1–7.3
Topics: Interprocess Communication
Textbook Reading: Chapter 9
Topics: Networking
Textbook Reading: Chapter 11
Topics: Signals
Textbook Reading: Chapter 13
Topics: Revisiting Networking, and Network Security
Textbook Reading: Section 14.3 (Cyber Security)
Topics: Virtualization and Containers (Tues) ; Parallel and Distributed Computing (Thurs)
Textbook Reading: None
Tuesday Topic: Review and class wrap-up
Note: Class only on Tuesday – End of semester is Wednesday, April 26
Tuesday, May 2, 7:00-10:00 (PM)