Course Descriptions
CYSE 220: Security Protocol Analysis
This B.Sc. level course introduces modeling of dynamical systems from a cybersecurity standpoint. It addresses the formulation of mathematical models from system descriptions, including computer, economic, transportation, electrical power and mechanical systems. Students are also exposed to analytical and numerical methods for solving models and studying their behavior, discrete-time and continuous time systems, linear and nonlinear systems. Finally, MATLAB is taught and used to present most of the course material, including explanations, examples and deliverables, with the goal of providing students with a hands on experience in computer-based mathematical modeling.
CYSE 220 is offered during the Spring semester. The most recent syllabus I have made is for Spring 2016.
You can check out the awesome group of students we had in:
ISA 763: Security Protocol Analysis
This Ph.D. level course teaches how to design, understand, verify, and test communication protocols so they meet their security objectives of recognizing the basic components of a communication protocol. These include specifying security properties accurately, modeling actors and mal-actors against whom a protocol ought to be secure and discussing verification and testing methods, including their limitations. This is a graduate level class where we read many papers and apply their methods to model and verify the properties of protocol that are being used today.
ISA 763 is offered most years during the Fall semester. The most recent syllabus I have made is for Fall 2014.
OR 719 - Computational Models for Probabilistic Reasoning
Intelligent computer agents must perform goal-directed action in complex, uncertain, and dynamic environments. Agents tasked with problems of any complexity must have methods for handling uncertainty. This Ph. D. level course examines theory and methods for building computationally efficient software agents that reason, act and learn in environments characterized by noisy and uncertain information. The course covers methods based on graphical probability and decision models. The course studies approaches to representing knowledge about uncertain phenomena, drawing inferences about uncertain phenomena, and planning and acting under uncertainty. Theory, practical tools, and hands-on experience are provided. Students learn graph theoretic concepts for representing conditional independencies among a set of uncertain hypotheses. Students study exact and approximate methods for updating probabilities to incorporate new information. Practical model building experience is provided. Probabilistic and decision theoretic approaches to major areas of artificial intelligence such as knowledge representation, machine learning, data mining, case-based reasoning, planning, and temporal reasoning are discussed. Students apply what they learn to a semester project of their own choosing.
OR 719 is offered every other year during the Spring semester. I was assigned to teach this course in the following years (link to syllabus): Spring 2014, Spring 2010.
SYST 221: Systems Modeling Laboratory
This course introduces students to fundamental principles of computer modeling using an engineering modeling environment such as MATLAB® and Simulink. Students learn how to develop computer solutions to solve and interpret mathematical models. Problems from topics covered in Dynamical Systems I (SYST 220), a co-requisite for this course, are taken up for class examples and lab assignments. Throughout the course I discuss different features and capabilities of the MATLAB® environment, and each lecture usually has a 40 min teaching session followed by a hands-on session, in which we work on exercises involving concepts covered that day.
SYST 221 is offered most years during the Spring semester. I was assigned to teach this course in the following years (link to syllabus): 2013, 2012.
You can check out the awesome group of students we had in:
SYST 371: Systems Engineering Management
This course is intended to provide systems engineers with management and project control skills required to formulate and manage large, complex projects. The initial part of the semester will be devoted to the development and demonstration of individual ability to use engineering management tools, as well as to exercise control on the trade off performance, cost, and scheduling of a project. The second part of the course turns the focus to prepare system engineers to face team competition in an engineering project proposal. In this phase, team leaders will be chosen based upon individual performance on the midterm exam and homework, and will then select their teammates. All teams will be given a common engineering management problem and will bid for the contract at the end of the semester. I will act as the procurement executive of a large company that has published the request for proposal (RFP) and will assign grades based upon the merits of each team submission.
SYST 371 is offered most years during the Spring semester. I was assigned to teach this course in the following years (link to syllabus): 2013, 2014, 2015, 2016.
You can check out the awesome group of students we had in:
SYST 473: Decision and Risk Analysis
The intent of this course is to provide a modern perspective on analytical methodologies to support decision-making. Decision analysis offers a set of structured procedures that assist decision-makers in structuring decision problems and developing creative decision options, quantifying their uncertainty (this includes combining available statistics with expert judgments, and their own beliefs to arrive at estimates of the probabilities of various outcomes), quantifying their preferences (this includes structuring their value tradeoffs and examining their attitude towards risk), combining their uncertainty and preferences to arrive at “good” decisions. This course provides an introductory treatment of decision analysis. The intended participants are students who want to learn more about decision making under uncertainty and tools that can be used to support it.
SYST 473 is offered most years during the Fall semester, and occasionally during the Spring semester, depending on demand and faculty availability. I was assigned to teach this course in the following years (link to syllabus): Fall 2009.
SYST 542: Decision Support Systems Engineering
This course studies the design of computerized systems to support individual or organizational decisions. The course teaches a systems engineering approach to the decision support system (DSS) lifecycle process. This course studies factors leading to effective computerized support for decisions, characteristics of tasks amenable to computerized support, basic functional elements of a decision support system, the decision support lifecycle, and factors leading to successful integration of a DSS into an organization. Additional topics include support for multi-person decisions, support for distributed decision processes, support for time-critical decisions, and how to refine and improve an organization's DSS development capability. A DSS is built on a theory (usually implicit) of what makes for successful decision support in the given context. Empirical evaluation of the specific DSS and underlying theory should be carried on throughout the development process. The course examines some prevailing theories of decision support, considers the issues involved in obtaining empirical validation for a theory, and discusses what if any empirical support exists for the theories considered. Students design a DSS for a semester project.
SYST 542 is offered most years during Fall or Spring semesters, and occasionally during the Summer, depending on demand and faculty availability. I was assigned to teach this course in the following years (link to syllabus): Fall 2016, Fall2015, Fall 2014, Fall 2013, Fall 2012, Summer 2009.