Course Info
- Course Name: CSE 536, Advanced Computer Network Security
- Semester: Fall 2026
- Instructor: Jed
Crandall
- Meeting location: Tempe Campus BYENG 209
- Canvas is where to find other course info
Syllabus
Slides
Six
required reading assignments (the date on which you’re responsible for
each on pop quizzes is listed in parentheses)
Optional reading assignments
Homework assignments
- Will be posted in Canvas only
What we’ll be covering this
semester
- UNIX basics
- Processes, files, file systems
- Kernel memory management
- Pipes, wait queues, etc.
- Security basics, user IDs, authentication, TOCTTOU, etc.
- Rowhammer and MELTDOWN
- Concurrency (pthreads, mutexes, etc.)
- Virtual memory (LRU, MGLRU, etc.)
- Interprocess communication (System V RPC, messaging queues,
semaphores, shared memory, etc.)
- Advanced IPC and isolation mechanisms
- Landlock, jails, cgroups
- SELinux and Mandatory Access Controls
- Virtualization, Docker containers
- Wayland
- Android Binders
- Asynchronous I/O (e.g.,
epoll and
io_uring)
- Advanced multithreading
- NTSYNC
- Microkernels
- Capabilities
- DBUS, XNU, Mach and message passing
- Distributed systems
- The CAP theorem
- REST, SOAP, PACELC, etc.
- Two generals problem
- Partially ordered events
- Message passing and RPC
- Distributed shared memory
- Advanced topics in Linux CPU scheduling
- Multilevel Feedback Queues (Solaris), CFS, and other background
- Linux’s Earliest Eligible Deadline First scheduler
- Applications of
sched_ext to AI
- Linux’s real-time scheduling
- eBPF
There will be four projects throughout the course of the semester.
Details for each will be posted as an assignment in Canvas and you’ll
submit through Canvas. Roughly speaking, for the first three projects
you’ll build a Werewolves-like game, add advanced features to it (like
asynchronous I/O or a security feature), and then make it into a
distributed system. The fourth project will not necessarily build on
your game (but maybe it could?). It will instead be related to Linux’s
new EEVDF scheduler, and you can tailor the project to your own
interests (user interfaces, AI, real-time applications, etc.).