Data-Driven Engineering

In this course, we explore how data is used to inform decisions and drive engineering. We will cover topics such as data collection and analysis, predictive analytics, data visualization, and prepare for additional courses: machine learning, control, and optimization. You will learn how to use data to improve the quality and efficiency of engineering systems and how to make decisions that are informed and guided by data.

By the end of the course, you will have a solid understanding of how to apply data-driven engineering principles in the workplace. You will be prepared to use data to make decisions with confidence, and to optimize engineering processes for greater efficiency.

Data Engineering

Data engineering is the process of collecting and refining data. Clean and accessible data is an important preparatory step for many use cases that extract information and value from data. Data engineering is foundational to visualization, clustering, classification, regression, and other machine learning methods. This introductory course is on science and engineering applications of data science with particular emphasis on practical applications and specific examples.

The course combines mathematical details with several case studies that provide an intuition for data engineering solutions. A second phase of the course is a hands-on group project. The engineering problems and theory guide the student towards a working fluency in state-of-the-art methods implemented in Python.

Related Topics

  • Engineering-specific programming with treatment of numerical methods.
  • Machine Learning for Engineers: building mathematical models for classification and regression based on training data to make empirical predictions or decisions.
  • Cybersecurity for Engineers: assessing and mitigating risks from computer-based adversarial attacks on engineered systems.
  • Data Science: using scientific methods, processes, algorithms and systems to extract knowledge and insights from data.
  • Data Visualization: creating graphical representations of data to extract insights.
  • Internet of Things: building cyber-physical systems that connect microcontrollers, sensors, actuators, and other embedded devices. Includes mechatronics, embedded systems, distributed systems, and networking.
  • High Performance Computing: programming high-performance computers (e.g., supercomputers, cloud computing) to tackle computationally-intensive engineering problems.


 John D. Hedengren
 Office: 330L EB, 801-422-2590
 john.hedengren [at]
 Office hours M, W, Fr (after class), 330L EB
 Connect on LinkedIn

John Hedengren leads the BYU PRISM group with interests in combining data science, optimization, and automation with current projects in hybrid nuclear energy system design and unmanned aerial vehicle photogrammetry. He earned a doctoral degree at the University of Texas at Austin and worked 5 years with ExxonMobil Chemical prior to joining BYU in 2011.

Learning Outcomes

  • Fundamentals of data engineering: Understanding of data engineering principles, including data collection, refining, cleansing, and preparation for various data science and engineering applications
  • Python for data-driven engineering: Proficiency in using Python to manipulate and analyze data, which is essential for work in engineering fields
  • Data access methods: Techniques for accessing different types of data, including text, audio, video, databases, sensors, and web scraping, enabling them to work with diverse data sources
  • Time-series data analysis: With time-series data and applying techniques like ARX modeling and state space analysis, analyze time-dependent data patterns
  • Perform data visualization and analysis: Effectively visualize data, perform statistical analysis, and create insights from data, preparing them for making informed decisions and optimizing engineering processes