==================
Course Information
==================
.. toctree::
:hidden:
\* Course syllabus can be found
`here <_static/cs6301.002-f26-syllabus.pdf>`__
(including the grading scale and expected course schedule).
------------------
Course description
------------------
A comprehensive study of the principles and practices of cyber-physical
systems (CPS) security, covering hardware platforms, software systems,
and a range of attacks and defenses.
Topics include CPS hardware organization
(microcontrollers, industrial control systems, robotic and
autonomous vehicles, sensors, and actuators);
CPS software (communication protocols, real-time requirements,
control algorithms, sensor filtering, autonomy frameworks, and
simulators);
and security challenges and countermeasures across domains,
such as sensor spoofing and jamming, network and software
vulnerabilities, system-level exploits, and adversarial machine
learning attacks.
----------------------
Instructor information
----------------------
- `Chung Hwan Kim `__
- Email address: chungkim 'at' utdallas 'dot' edu
- Office hours: Mon 11:30am-12:30pm
(this could be changed at the instructor's discretion)
- Location: `ECSS 3.201 `__
.. --------------
.. TA information
.. --------------
.. - `Ruoyu Xu `__
.. - Email address: ruoyu.xu 'at' utdallas 'dot' edu
.. - Office hours: Thu 10am-12pm
(this could be changed at the TA's discretion)
.. - Location: `ECSS 3.101 `__
---------------------------
Class meetings and modality
---------------------------
- Modality: **Traditional**
- When: MW 10-11:15am
- Where: `ECSW 1.365 `__
- Video recordings of the class will **NOT** be provided
-------------
Prerequisites
-------------
Students are required to satisfy the following prerequisites:
- Algorithm Analysis and Data Structures (CS 5343)
- Operating System Concepts (CS 5348)
Optionally, the course project would require students with the
following skills:
- Familiarity with command line Unix/Linux
- Understanding and debugging a C/C++ program (e.g., using GDB)
- Basic understanding on how a program executes at low machine
instructions and operating systems levels
(e.g., basic level of IA-32 assemblies,
how a process is created, and how system calls are handled)
------------------------------------
Student learning objectives/outcomes
------------------------------------
Students shall be able to understand the hardware and software
foundations of cyber-physical systems, the unique threats and
vulnerabilities they face, and the principles and techniques for
securing them.
They will learn to analyze CPS from an adversarial perspective,
study practical attacks on sensors, networks, control software, and
AI components, and evaluate corresponding defenses.
Students will also be able to assess the significance of CPS-specific
threats, reason about real-time and safety-critical constraints, and
gauge the protections and limitations of current CPS security
technologies.
--------------
Grading policy
--------------
- Assignment (20%): Paper presentations (3-4 times per student over the semester)
- Course Project (80%): Hands-on team project (2-3 students per team)
- No midterm or final exam
------------------------
Evaluation & late policy
------------------------
* Project presentations and materials will be evaluated on a 100-point scale (0-100).
* Late submission will be penalized 10 points per day
(24-hour period).
-------------------------------------------
COVID-19 guidelines
-------------------------------------------
- `COVID-19 Guidelines and Resources `__.
- `COIVD-19 Response FAQ `__.
------------------
Academic integrity
------------------
.. important::
**Cheating vs. collaboration**
Collaboration is a very good thing. On the other hand, cheating is
considered a very serious offense and is vigorously prosecuted.
Vigorous prosecution requires that you be advised of
the cheating policy of the course before the offending act.
For this semester, the policy is simple: don't cheat:
- *Never* share code or text on the homeworks and projects.
- *Never* use someone else's code or text in your solutions.
- *Never* consult potential solutions on the Internet (including copying code from GitHub or ChatGPT).
On the other hand, for this class, you are strongly encouraged to:
- Share ideas.
- Explain your code to someone to see if they know why it doesn't work.
- Help someone else debug if they've run into a wall.
If you obtain help of any kind, always **write the name(s) of your sources**.
(ref. http://courses.cs.washington.edu/courses/cse451/15au/)
----------------
Online resources
----------------
- `Course website `__
- `Canvas `__
- `MS Teams `__