18-657 Decision Analysis and Engineering Economics for Software Engineers
12 units, Carnegie Mellon University
Engineering software systems entails continuously making resource and technical decisions at multiple levels subject to different sources of uncertainty, cost-benefit tradeoffs, historical data, and flexibility demands. This course will develop quantitative and modeling skills for economics-based and decision-theoretic reasoning in software engineering through a repertoire of techniques from several fields. Special consideration will be given to reasoning under uncertainty and empirical approaches to tackle a variety of software engineering decision-making problems, including technology, architecture, design, product, and process decisions. The analysis techniques covered will be illustrated through domain-specific examples. Analysis techniques that will be covered include Monte Carlo Simulation, Net Present Value, Expected Value of Information, Decision Tree Analysis, Real Options Theory, Utility Theory, and Analytic Hierarchy Process. Basic data analysis concepts, including descriptives, linear regression, correlation, and hypothesis testing will be explained and used. Examples and fully-developed case studies will illustrate how these techniques can be combined to best leverage their strengths. The course has a practical focus, but includes coverage of the necessary background theories. Orientation is distinctly quantitative. Knowledge of basic probability is required.
Prerequisites: none listed
Courseweave needs JavaScript to show sections, workloads and planning tools.