Sensors, Data, and Models in Engineering Systems

Author

Mario Bergés and Claude

Published

October 15, 2026

Welcome

Automatically generated cover image by Nano Banana Pro

This is the course website and living reference for 12-778: Sensors, Data, and Models in Engineering Systems, offered by the Department of Civil and Environmental Engineering at Carnegie Mellon University in Fall 2026.

The course provides end-to-end foundations for developing reliable data-driven solutions to engineering problems: from measurement physics and instrumentation, through data management and representation, to statistical modeling and inference. See the Syllabus for details and the Schedule for the lecture calendar.

A note on how this book is written

The lecture notes collected here are drafted with the assistance of large language models and curated by the instructor. This is a deliberate experiment, and it is also why a portion of your grade rewards written knowledge contributions: if you find an error, an omission, or something that could simply be explained better, submit a correction. Details are in the Syllabus.

About the code

Many chapters include Python code. You can read it, but it is also meant to be run, in a Jupyter notebook or any other Python session. The code follows the community’s usual aliases, so np is NumPy (import numpy as np), pd is pandas (import pandas as pd), and plt is Matplotlib’s plotting interface (import matplotlib.pyplot as plt). To avoid repeating the same imports in every block, each chapter with code starts with a folded block called Chapter setup. It imports that chapter’s libraries and defines the constants and small helper functions the other blocks share, for example the ADC step Q in Lecture 7. Run it once, then run the chapter’s blocks in the order they appear. Some cells that only draw a figure or check a number stay hidden; the code you are meant to study is always shown.