The purpose of this course is to prepare students to exercise leadership in data analytics and decision system projects. The topics and skills to be taught are drawn from data science, decision science, operations research, design science, project management, and system architecture. The organizing principle of the course is a process view of a typical data-driven decision system project: Understand the need, design the database, transform the data, visualize the data, develop the decision system, and design the user application. We demonstrate how externality and ethical considerations can be raised through use-cases and an awareness of the misuse of data visualization. Conceptual topics are illustrated with case studies, practical applications, and software implementations. Students also conduct a term-long team design project culminating in a prototype web-based, database-supported, decision system. We use the R language with the tidyverse family of packages (ggplot, dplyr, stringr, purr, and shiny) together with MySQL.
On completion of this course, students should be able to:
- Articulate an iterative process of design applicable to the development of decision support systems and identify graphical communication tools suitable for each stage of design. [An extension to the Freshmore Design World process]
- Identify and apply functional programming tools for constructing data transformation pipelines with the goal of assembling ‘tidy data’ suitable for visualization and analysis. [‘tidy data’= each data record constitutes a single observation with measurable attributes and identifiable features.]
- Explain the concepts and terminology of multi-objective optimization and identify common algorithms used in their analysis.
- Code a pipeline transforming raw data into tidy data stored in a remote relational database.
- Code a data visualization pipeline from a remote relational database.
- Code an interactive user interface to an online decision support tool.
- Demonstrate facility with functional programming commands (select, map, filter, reduce, mutate, arrange, group by, pivot).
- Design and implement a database schema.
- Design a decision support tool and document the process using diagrams to convey user needs, product value, process map, and logical system architecture (functional requirements by subsystem).
- Formulate a multi-objective linear program and compute and display a Pareto efficient frontier.
(For Intake AY2019)
- 40.001 Probability (or 30.003/50.034 Introduction to Probability and Statistics); 40.002 Optimisation (for ESD students) or 10.007 Modelling The Systems World (for non-ESD students)
(For Intake AY2020 and onwards)
Capella is open-use software for System Architecture design. Students in Engineering Systems Architecture use Capella to document their project designs using a model-based system architecture approach. We have created a tutorial for Capella that explains, step-by-step, the development of a system architecture for a toy catapult. The tutorial takes between 4-6 hours to complete and you are welcome to follow it on your own: