TEACHING

Currently Teaching (Spring 2024)

ECE272A: Stochastic Processes and Dynamical Systems I:

Level: Graduate.

This graduate-level course provides an introduction to the analysis and synthesis of linear dynamical systems characterized by differential equations and recursions. 

Topics: systems with memory, linearity in dynamical systems, time-invariant vs time-varying systems, definition of solutions, variations of constants formula, equilibrium points, stability notions, controllability, observability, stabilizability, detectability, Lyapunov functions, stability analysis, Kalman decompositions, canonical forms, state-feedback control, output-feedback control, observer design, separation principle, optimal control problems, the linear quadratic regulator. 

Taught in the past

ECE 109: Engineering Probability and Statistics (Winter 2024)

Level: Undergraduate

This undergraduate-level course provides an introduction to probability theory. 

Topics: Combinatorics, counting principles, axioms of probability, conditional probability, theorem of total probability, Bayes rules, continuous and discrete random variables, probability mass functions and densities, joint distributions, expected values, characteristic functions, transformation of random variables, moment-generating functions, Markov's and Chebyshev's inequalities, central limit theorem, weak and strong laws of large numbers, convergence in probability, almost sure convergence.


ECE272A: Stochastic Processes and Dynamical Systems I: (Spring 2023)

Level: Graduate.

This graduate-level course provides an introduction to the theory behind linear dynamical systems characterized by differential equations and recursions. 

Topics: definition of solutions, variations of constants formula, equilibrium points, stability notions, controllability, observability, stabilizability, detectability, Lyapunov analysis, Kalman decompositions, canonical forms, state-based feedback control, output-based feedback control, the linear quadratic regulator, the linear quadratic regulator control, and the linear quadratic gaussian control. 

Theory of Nonlinear Systems: (Spring 2022)

Level: Graduate.

This graduate-level course provides an introduction to the analysis of nonlinear, finite-dimensional, dynamical systems. 

Topics: existence of solutions of nonlinear ODEs, uniqueness/non-uniqueness of solutions, Lyapunov stability theory, invariance principles, passivity and dissipativity, small-gain theorems, averaging and singular perturbation theory, and nonlinear control design. Different examples and applications in the areas of optimization, feedback control, machine learning, and cyber-physical systems are used to illustrate the main concepts of the class. 

Level: Undergraduate

This undergraduate-level course provides an introduction to the fundamentals of discrete mathematical structures that commonly emerge in engineering and computational systems.

Topics: Propositional logic: motivation, syntax, and semantics. Predicate logic: motivation, syntax, and semantics. Modeling with predicate logic. Satisfiability modulo theories: Z3. Quantifiers. Proof systems and inference rules. Sets and Functions: Naive set theory: basic notions, definitions, and properties. Russell's Paradox. Set algebra. Functions: basic notions. Injective, surjective, and bijective functions. Infinite sets: cardinality and bijection. Countable and uncountable sets. Diagonalization, the Halting Problem, and reductions. From Computability to Complexity: Growth of functions: asymptotics and practical considerations. The computational complexity of algorithms and decision problems. Complexity classes, tractability. Reducibility among problems, completeness. Induction: Weak and strong induction on the natural numbers. Induction and axiomatic theories of arithmetic. Well-orders. Inductive definitions. Recursive algorithms. Program correctness: introduction to Hoare Logic. Inductive invariants. Models of Computation: Formal languages and grammars. Regular expressions. Finite-State Automata. Limitations of finite-state models of computation. Beyond finite-state: machines with stacks and tapes. The Church-Turing thesis. Intro to Number Theory and Cryptography. Prime numbers and the Euclidean algorithm. Linear congruences and Fermat's little theorem. Private and public-key cryptography. The RSA cryptosystem. Intro to Combinatorics. 

Level: Graduate

This graduate-level course provides an introduction to extremum-seeking methods: feedback-based algorithms for the solution of model-free optimization and decision-making problems with dynamic plants in the loop.

Topics: Different architectures and tools are studied using multi-time scale tools from control theory and algorithmic optimization. Particular attention is given to non-smooth and hybrid algorithms that combine continuous-time and discrete-time dynamics to overcome the fundamental limitations of smooth approaches traditionally studied in the literature.  Different examples and applications in engineering systems are also discussed.

Level: Graduate 

This graduate-level course provides an introduction to the mathematical tools needed for the modeling, analysis, and synthesis of hybrid dynamical systems (dynamical systems that combine continuous-time and discrete-time dynamics). 

Topics: basic properties of differential and difference equations and inclusions: Existence of solutions, non-uniqueness, and sequential compactness. Introduction to basic hybrid systems that combine continuous-time and discrete-time dynamics: automata, switched systems, systems with timers, and spatial regularization. Lyapunov theory for hybrid systems: Sufficient conditions for uniform asymptotic/exponential/finite-time/fixed-time stability, ultimate boundedness, etc. Invariance principle for hybrid systems, and robustness corollaries. 

Level: Graduate

This graduate-level course provides an introduction to adaptive control and reinforcement learning for dynamical systems. 

Topics: algorithms for dynamic programming, policy evaluation, policy improvement, policy iteration, etc. The Maximum Principle for optimal control, the Hamilton-Jacobi-Bellman equation, the standard linear quadratic regulator (LQR), neural networks as approximators of functions, system identification, persistence of excitation conditions in continuous-time and discrete-time, and learning dynamics; approximate dynamic programming, excitation-based online approximate optimal control, Lyapunov-based stability theory of neural control, and model-reference adaptive control over networks.  Examples and applications in engineering and sciences are also discussed.