Mojtaba Tefagh – Teaching
Selected past courses
Term: Fall 2022 | Units: 4 | Section: 01 | Students enrolled: 100 | Lectures: Sun, Tue 8:00–10:00am | Exam Date/Time: 2/14/23 9:00am | Prerequisite: Calculus I
|
Computational thinking and programming code, data representation and data types, branching and iteration, recursion and bisection, string manipulation, tuples and lists, arrays and dictionaries, variables and immutable data structures, functions and methods, classes and objects, abstraction and interfaces, encapsulation and object-oriented programming, inheritance and polymorphism, overloading and overriding, testing and debugging, exceptions and assertions.
|
This course covers the fundamentals of computer programming with an emphasis on computational thinking, understanding algorithms, and the basic concepts of programming languages to build a solid background as it is the prerequisite for most of the CS curriculum. This course was formerly taught 2021-22. Some of the material from that class is expanded and used here.
Term: Fall 2022 | Units: 3 | Section: 01 | Students enrolled: 40 | Lectures: Sun, Tue 3:00–4:30pm | Exam Date/Time: 1/12/23 9:00am | Prerequisite: Undergraduate students benefit from Probability I, or equivalent.
|
Rigorous introduction to game theory and its applications to economics, political science, computer science, and biology. Topics include normal and extensive forms, dominant strategies, static and dynamic games of complete and incomplete information, repeated games and refinements, elements of evolutionary game theory, solution concepts such as Nash equilibrium, subgame-perfect equilibrium, and Bayesian equilibrium.
|
The class aims to provide a solid basis in game-theoretic tools and concepts. Technical material covering a variety of non-cooperative game theory topics will be presented.
Term: Fall 2021 | Units: 4 | Section: 01 | Students enrolled: 15 | Lectures: Sun, Tue 8:00–10:00am | Exam Date/Time: 1/15/22 3:00pm | Prerequisite: Some optimization experience and familiarity with economics.
|
Frontiers in mechanism design and incentive engineering for cryptoeconomic systems such as decentralized finance (DeFi). This course focuses on both the systemic risks at the protocol level ranging from miner extractable value (MEV) to transaction fee price manipulation and the economic exploits on the incentive layer like malicious flash loan transactions and the horrors of the dark forest. Through a wide variety of examples of issues stemming from incentive misalignment, we will see the emergence of adversarial attacks by self-interested rational agents who behave strategically to optimize their own objectives and values.
|
This is the alpha version of a course on the ongoing research and open problems in algorithmic game theory. Many advanced topics and cutting-edge issues in the field are discussed, which require mathematical maturity at the level of Ph.D. courses. There is no official textbook for the course.
Term: Spring 2021 | Units: 4 | Section: 01 | Students enrolled: 40 | Lectures: Sun, Tue 8:00–10:00am | Exam Date/Time: 7/4/21 9:00am | Prerequisite: Linear Algebra I
|
Introduction to applied linear algebra with a focus on applications. Vectors, distance, and angle; applications to clustering (the k-means algorithm) and document analysis. Matrices, left and right inverses, QR factorization; applications to population and epidemic dynamics. Least-squares, constrained and nonlinear least-squares; applications to model fitting, regularization and cross-validation. Additional applications include but are not limited to time-series prediction, tomography, optimal control, and portfolio optimization.
|
This course is originally developed by Stephen P. Boyd. The course materials are the same as ENGR108 at Stanford. Specifically, the textbook and lecture slides can be found here.
Term: Spring 2021 | Units: 4 | Section: 01 | Students enrolled: 40 | Lectures: Sat, Mon 8:00–10:00am | Exam Date/Time: 6/23/21 9:00am | Prerequisite: Calculus II
|
Vector space, linear independence, dimension, duality, linear mappings, matrices, nonsingular matrices, kernel, determinant, trace, spectral theory, eigenvalues, eigenvectors, eigendecomposition, conjugacy, Cayley-Hamilton theorem, inner product space, orthonormal basis, euclidean structure, self-adjoint mappings, Hermitian matrices, unitary matrices, orthogonal matrices, diagonalizable matrices, semi-definite matrices, matrix inequalities, convexity, normed linear spaces, positive matrices, systems of linear equations, matrix decomposition, the Jordan canonical form.
|
This course covers the fundamentals of linear algebra with emphasis on the concepts and analytical aspects to build a solid background as it is the prerequisite for most of the Math curriculum.
Term: Fall 2020 | Units: 4 | Section: 01 | Students enrolled: 30 | Lectures: Sat, Mon 3:00–5:00pm | Exam Date/Time: 1/18/21 9:00am | Prerequisite: Convex Optimization
|
This course discusses computational systems biology focusing on select topics in fluxomics in a well-balanced mixture of biology, mathematics, and computer science. We start by looking in detail at the mathematical underpinning of constraint-based analysis of genome-scale metabolic network reconstructions and provide a foundation for the analysis of optimization algorithms involved. Subsequently, we provide an overview of various papers and toolboxes from the literature in the remainder of the semester. Students will explore concepts through a research-oriented term project that will require them to define goals, success metrics, and deliverables for a computational challenge in systems biology and implement and evaluate a solution.
|
The textbook is Optimization Methods in Metabolic Networks. Applications of convex optimization in metabolic network analysis can serve as an auxiliary text. Moreover, we will use the constraint-based modeling lectures from a course on metabolic modeling taught by Scott Hinton.
Term: Spring 2020 | Units: 3 | Section: 01 | Students enrolled: 50 | Lectures: Sun, Tue 9:00–10:30am at Math 217 | Exam Date/Time: 6/28/20 9:00am | Prerequisite: Some programming experience and familiarity with matrix computations.
|
Least-squares, constrained and nonlinear least-squares; applications to model fitting, regularization and cross-validation. Convex sets and functions and the corresponding analytical conditions for recognition. The basics of convex analysis and theory of convex programming: Karush-Kuhn-Tucker (KKT) optimality conditions, complementary slackness conditions, duality theory (weak and strong duality theorems), sensitivity analysis, theorems of the alternatives including Farkas’ lemma. Linear and quadratic programming, semidefinite programming, and geometric programming.
|
The course materials are the same as EE364a (Stanford) and EE236b (UCLA). Specifically, the textbook and lecture slides can be found here.
|