Data and Computing for Engineers#
Data and computing skills are essential to all subdomains of modern (chemical) engineering, yet many students only receive ad-hoc training in these topics. Instead, CBE 20258 (undergraudate) and CBE 60258 (graduate) provides a systematic and rigorous introduction to the fundamentals of i) computing in Python; ii) mathematical modeling; iii) numerical methods for equation solving, integration, and optimization; iv) probability and statistics; and v) data analytics.
What am I going to get out of this class?#
CBE 20258 (Sophomore)#
At the end of the semester, you should be able to…
Create mathematical models and apply computational methods to analyze systems using basic principles of chemical engineering (e.g., mass and energy balances, thermodynamic equilibrium, etc.)
Analyze data and quantify uncertainty using standard statistical techniques and mathematical models grounded in engineering fundamentals
Independently plan, implement, and debug short (100 to 300 lines) Python computer programs to analyze data, solve engineering mathematical models, and visualize results
CBE 40258 (Senior) / CBE 60258 (Graduate)#
At the end of the semester, you should be able to…
Numerically solve mathematical models relevant to chemical and biomolecular engineering research
Analyze data and quantify uncertainty using modern data science (a.k.a., applied statistics) methods
Think more critically demonstrated by independently planning, implementing, and debugging short Python computer programs
Prepare education modules and publication quality data visualization
Content#
- 1. Python Primer
- 1.1. Welcome to Jupyter Notebooks and Vocareum
- 1.2. Python Basics I: Variables, Strings, and Bugs
- 1.3. Python Basics II: Loopy Logic
- 1.4. Python Basics III: Lists, Dictionaries, and Enumeration
- 1.5. Functions and Scope
- 1.6. Recursion
- 1.7. Pseudocode
- 1.8. High/Low Guess My Number Game
- 1.9. Modules and Files
- 1.10. Linear Algebra with Numpy and Scipy
- 1.11. Visualization with matplotlib
- 1.12. Manipulating Data with Pandas
- 1.13. Functions as Arguments
- 1.14. Testing and Debugging in Python
- 1.15. Preparing Publication Quality Figures in Python
- 2. Advanced Python
- 3. Linear Algebra Primer
- 4. Applied Linear Algebra
- 5. Algorithm Building Blocks
- 6. Nonlinear Systems of Equations
- 7. Numeric Integration
- 7.1. Introduction and Newton-Cotes
- 7.2. Gauss Quadrature
- 7.3. Scipy Library: Adaptive Methods for Newton-Cotes and Gauss Quadrature
- 7.4. Application: Inertial Navigation Systems
- 7.5. Forward and Backward Euler Methods
- 7.6. Crank-Nicolson (Trapezoid Rule)
- 7.7. Stability Analysis
- 7.8. Explicit Range Kutta Method
- 7.9. Systems of Differential Equations and Scipy
- 7.10. Example: Reaction Rates
- 8. Continuous Optimization
- 9. Descriptive Statistics and Visualization
- 10. Probability Theory
- 11. Common Probability Distributions
- 12. Uncertainty and Error Propagation
- 13. Statistical Inference
- 13.1. Central Limit Theorem
- 13.2. Standard Normal Distribution
- 13.3. Confidence Intervals
- 13.4. Student’s t-Distribution
- 13.5. Hypothesis Testing Basics
- 13.6. Flavors of Hypothesis Testing
- 13.7. Type I and Type II Errors
- 13.8. Statistical Power Basics
- 13.9. Statistical Power in Python
- 13.10. Statistical Power Practice Problems
- 13.11. Bootstrap Confidence Intervals
- 14. Multivariate Linear Regression
- 14.1. Correlation, Covariance, and Independence
- 14.2. Simple Least Squares
- 14.3. Ordinary Least Squares Linear Regression
- 14.4. Residual Analysis
- 14.5. Regression Assumption Examples
- 14.6. Uncertainty Analysis and Statistical Inference
- 14.7. Multivariate Linear Regression
- 14.8. Linear Regression Practice Problems
- 15. Nonlinear Regression
- 16. Design of Experiments
- Fall 2022
- Fall 2023
- Contributed Examples
- Estimating the Entrance Length of Channel Flow
- Non-Isothermal Packed Bed Reactor
- Solving Fick’s Second Law Using Numeric Integration
- Stochastic Simulation of Chemical Reactions
- Spaghettification of the Magic School Bus
- Alcohol Pharmacokinetics and Blood Alcohol Content % Modeling
- Plotting McCabe-Thiele diagram through computational methods
- Example of Mass Balance Problem in Wastewater Treatment Units
- Filtration of a Yeast Suspension
- Calculating Fraction of Molecular Collisions