Topics in trust have their underpinnings in many kinds of fundamental mathematics and theory. The courses in the Trust Theory Roadmap are identified as a subset of courses that are particularly relevant to one or more areas of security, dependability, and trust assessment. Some of these courses may be essential for understanding courses in the other areas and serve as prerequisites.
CS 473: Fundamental Algorithms
This course provides the basis for a number of areas of algorithms, including graph algorithms, arithmetic algorithms, string problems, parallel algorithms, and NP-completeness. Prerequisite is CS 373. Available Fall 2012.
CS 477: Formal Methods for Software Development
"Formal methods" is a term that refers to a diverse collection of techniques, with strong mathematical foundations, that are used to provide assurance about the correctness of software and hardware systems. The course aims to familiarize students interested in software engineering with languages and methods for formal specification, development, and verification. Prerequisites are CS 225, and either CS 373 or MATH 414.
ECE 534: Random Processes
This course lays the theoretical groundwork for later courses in simulation and stochastic methods. It covers the basic concepts of random processes at a fairly rigorous level, and also discusses applications to communications, signal processing, and control systems engineering. To follow the course, in addition to basic notions of probability theory, students are expected to have some familiarity with the basic notions of sets, sequences, convergence, linear algebra, linear systems, and Fourier transforms. Prerequisites are ECE 313, MATH 461, or STAT 400. It is available Fall 2012.
ECE 486: Control Systems
An understanding of the theory of control systems enables formal analysis of systems to enable quantitative measures of the trustworthiness of a system. This course introduces analysis and design of control systems with emphasis on modeling, state variable representation, computer solutions, modern design principles, and laboratory techniques. Prerequisite is ECE 210. Available Fall 2012.
ECE 515: Control System Theory & Design
This course discusses basic principles, modeling, optimization, and designing to meet specifications. Prerequisite is ECE 486. It is available Fall 2012. Topics to be treated include:
- System modeling and analysis: system design as a control problem: constraints, goals, and performance specifications; input-output and state-space models; linearization; review of linear algebra; fundamentals of state-space analysis of linear systems.
- System structural properties: stability; introduction to Lyapunov methods; controllability, observability; canonical forms and minimal realizations.
- Feedback system design: basic properties of feedback; stabilization and eigenvalue placement by state and output feedback; disturbance rejection; observers for estimating states, and observer feedback systems.
- Optimum feedback control: dynamic programming and the Hamilton-Jacobi-Bellman equation; synthesis of optimum state regulator systems; numerical methods.
- Introduction to the minimum principle: calculus of variations and necessary conditions for optimal trajectories; minimum principle for bounded controls; time-optimal control of linear systems; numerical methods.
ECE 556/CS 577/Math 579: Coding Theory
This course provides much of the background needed to understand cryptographic methods. It includes general discussion on coding theory with emphasis on the algebraic theory of cyclic codes using finite field arithmetic, decoding of BCH and Reed-Solomon codes, finite field Fourier transform and algebraic geometry codes, convolutional codes, and trellis decoding algorithms. Prerequisite is MATH 417. Available Fall 2012.
ECE 563/CS 578: Information Theory
Mathematical models for channels and sources; entropy, information, data compression, channel capacity, Shannon's theorems, and rate-distortion theory. Prerequisite is one of ECE 534, MATH 464, and MATH 564. Available Fall 2012.
ECE/Philosophy 316: Ethics and Engineering
Ethical issues in the practice of engineering: safety and liability, professional responsibility to clients and employers, whistle-blowing, codes of ethics, career choice, legal obligations, and case studies. Prerequisites are junior standing and RHET 105. Available Fall 2012.
CS 210: Ethical and Professional Issues
This course concentrates on the theory and practice of computer and information ethics. It covers the basics of ethical decision-making, and emphasizes group work and presentations. Topics studied in the course include risk and reliability, privacy, infowar, crime, access, business ethics, copyright, patents, and more. Prerequisites are CS 225 and junior standing. Available Fall 2012.