Students
Tuition Fee
Not Available
Start Date
Not Available
Medium of studying
Not Available
Duration
Not Available
Details
Program Details
Degree
Bachelors
Course Language
English
Intakes
Program start dateApplication deadline
2024-09-01-
About Program

Program Overview


CS 3130 Fall 2024 Program Details

Overview

The CS 3130 Fall 2024 program is designed to provide students with a comprehensive understanding of core system architecture, real hardware, concurrency, virtual memory, practical networking, security, and ethical and legal issues.


Learning Outcomes

As a result of taking this course, students should learn:


  • core system architecture, including DMA, interrupts, and cache coherency
  • real hardware, including concurrency complexities and what makes SPECTRE work
  • concurrency, including synchronization, mutual exclusion, coherency, and concurrency bugs
  • virtual memory, including process isolation and shared memory
  • practical networking, including familiarity with TCP/IP, DNS, snooping, spoofing, and TLS
  • security, including unix permissions, privilege escalation, and modern exploits
  • ethical and legal issues, including reporting
  • a build system and practical command-line tools

Readings

The program includes several writeups, such as:


  • CSO2 overview
  • Building
    • Compilation and Libraries
    • Makefiles
  • Kernels – Software for the Hardware
    • Virtual Memory
  • User Accounts
    • File Permissions
  • Buses (and networks)
  • Networking Protocols
  • Cryptographic protocols
  • Caches – Keep a finger in it
  • Processes and threads
    • Synchronization primitives
    • Using POSIX Threads
    • Deadlock
    • Consistency
  • Processors

These writeups will be augmented with various examples, online articles, and other resources.


Environment for Assignments

Assignments will be tested on an environment similar to the department’s Linux machines that are accessible via SSH. Students are welcome to use an IDE of their choice, as long as their submission will work when tested from a command line-like environment.


Old Quizzes/Exams

Old exams and quizzes can be found on the study materials link.


Getting Help

Students can get help through:


  • Office hours
  • Piazza (linked off Collab site)
  • Emailing the instructor (not preferred for course material questions)

Course Staff

The course staff includes:


  • Charles Reiss — section 001
  • Kevin Skadron — section 002
  • Teaching Assistants:
    • Agi Luong
    • Akash Pamal
    • Alex Ning
    • Alexander Davis
    • Alston Hou
    • Alvin Huynh
    • Andrew Ma
    • Arjun Trivedi
    • Ava Lipshultz
    • Brandon Yuan
    • Brian Bippert
    • Chance Rose
    • Divya Bagla
    • Feyona Zhang
    • Gary Huang
    • Haizhou (Trevor) Yu
    • Hieu
    • Hugo Abbot
    • Kevin Zhang
    • Lars Christensen
    • Miktad Cakmak
    • Mohammadhosein (Hosein) Gholamrezaei
    • Morteza Baradaran
    • Nitya Khamar
    • Paul Karhnak
    • Riley Fletcher
    • Shahryar Kiani
    • Sri
    • Tavis Palmer
    • Tong Zhou
    • Zhenxing

The program is released under the CC-BY-NC-SA 4.0 license.


See More