Welcome#
This resource is designed to help you learn Python programming for the CHL7002: Computational Techniques for Chemical Engineers course.
🧠 Explore the Mind Map
Get a visual overview of all topics with key commands at a glance.
🗺️ Open Interactive Mind MapWhat You’ll Learn#
Python Fundamentals: Data types, variables, operators
Print & Comments: See what your code is doing, write code others can understand
Control Flow: Conditionals and loops
Data Structures: Lists, dictionaries, and more
Functions: Writing reusable code
NumPy: Numerical computing essentials
Error Handling: Reading and fixing common errors
Why Learn Python?#
Imagine you’re in the lab and you’ve just finished a tracer experiment. You have a CSV file with 500 data points of concentration vs. time. Your task: calculate the mean residence time and variance of the RTD.
You could open Excel, manually set up columns, type formulas, drag them down, hope you didn’t miss a row, and repeat this every time you run an experiment. Or you could write this:
import pandas as pd
import numpy as np
data = pd.read_csv("tracer_data.csv")
t = data["time"]
C = data["concentration"]
E = C / np.trapz(C, t) # Normalize to get E(t)
t_mean = np.trapz(t * E, t) # Mean residence time
variance = np.trapz((t - t_mean)**2 * E, t) # Variance
print(f"Mean residence time: {t_mean:.2f} s")
print(f"Variance: {variance:.2f} s²")
Six lines. Run it once, and it works for any dataset, whether 500 points or 50,000. Change the experiment? Just point it to a new file. Want to plot E(t)? Add two more lines. Want to compare 10 experiments? Wrap it in a loop.
This is why you learn to code: not because it’s required, but because it makes you faster, less error-prone, and capable of tackling problems that would be impractical by hand.
“One student asked me: why code? What’s the point?”
Here’s the reality: many problems in chemical engineering don’t have analytical solutions. You can’t solve them by hand.
Examples you’ll encounter in this course:
Problem |
What Python Does |
|---|---|
Compute \(e^x\) using Taylor series |
Add up terms in a loop, track the error |
Find roots of equations (bisection, Newton-Raphson) |
Repeat a formula until the answer is close enough |
Molar volume from van der Waals equation |
Solve a nonlinear equation iteratively |
Calculate derivatives numerically |
Compute \((f(x+h) - f(x))/h\) for different step sizes |
Process experimental data from a file |
Read CSV, calculate statistics, plot results |
These aren’t abstract exercises. The first assignment asks you to compute \(e^x\) from the series expansion and track the error at each step. That’s a loop, some arithmetic, and print statements. By the end of this module, you’ll be able to do it.
What working engineers use Python for:
Once you’re comfortable with the basics, Python opens doors to real engineering work:
Automating calculations: Run the same analysis on 50 datasets without copy-pasting
Plotting and visualization: Generate publication-quality figures from your data
Reading sensor data: Parse log files from lab equipment
Connecting to simulations: Pre/post-process data for ANSYS, COMSOL, or LAMMPS
Building simple GUIs: Create a tool your lab group can use without coding
Python is the tool that lets you solve these problems.
Getting Started#
Before diving into Python syntax, read The Parachutist Problem to understand the running example we’ll use throughout this tutorial. Then continue to Data Types to learn the building blocks of Python.