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: 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.
Prerequisites are CS 225 and CS 273 or consent of instructor. It is available Spring 2007.
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 or CS 400, and CS 273 or MATH 414.
Available Spring 2007.
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 413, MATH 461, or STAT 400, or consent of instructor. It is available Spring 2007.
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 Spring 2007.
ECE 515: Control System Theory and Design
This course discusses basic principles, modeling, optimization, and designing to meet specifications. Prerequisite is ECE 486. It is available Spring 2007. 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.
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.
ECE/Philosophy 316: Engineering Ethics
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. It is available Spring 2007.
CS 210: Ethics and Professionalism in Computing
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. It is available Spring 2007.