I teach two courses at Columbia, one on the economics and optimization of energy systems and one on statistical modeling of environmental data. Both are hands-on: students write code every week, work with real system and sensor data, and finish with something they built themselves.

The optimization problems underneath wholesale electricity markets: economic dispatch, unit commitment, network constraints, and locational marginal prices. Students formulate and solve these problems in Python, bid against each other in live market experiments, and finish with a team project on real system data.

Statistical modeling and machine learning for data that are correlated in space and structured in time: regression, trend and changepoint detection, dimension reduction, classification and clustering, boosting and neural methods, and geostatistics through kriging. Every topic is paired with an in-class notebook on a real environmental dataset.