The purpose of this course is to prepare students to exercise leadership in data analytics and decision support 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 decision support project: Understand the need, design the database, transform the data, visualize the data, develop the decision support, and design the user application. We demonstrate how 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 support tool.
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.
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: