You are here

Computer Programming

Programming for Chemical Engineering Education

Use this page to plan a course, update an assignment, learn programming, or choose a generative AI (GenAI) coding tool. The resources emphasize chemical engineering problems, engineering checks, readable code, and work that another person can reproduce. See AI / ML for Chemical Engineering Education as additional teaching resources.

Find what you need

Start here

Instructors: Begin with three sizes of course change, then choose an AI-use level and an assignment pattern.

Learners: Follow the six-step learning path. If you are new to programming, begin in a browser before setting up a local environment.

Resource key

Each table uses the fields that matter for that choice. A resource does not need every field below. Tables can scroll sideways on smaller screens.

  • Best use shows where a resource fits.
  • Audience identifies instructors, learners, or both.
  • Level shows the background knowledge needed.
  • Time gives an estimated workload.
  • Scale describes course scope, model size, or setup effort.
  • Runs where distinguishes browser, desktop, local server, and hosted services.
  • Data location shows whether code and prompts stay on a device or go to a service.
  • Access covers cost, login, and reuse terms.
  • Watch for flags limits before assigning a resource.

For instructors

Students should be able to write, read, test, and debug small programs before using AI on larger tasks. Later assignments can add problem framing, code review, verification, and responsibility for the final result.

Choose the size of your change

Three ways to update a course
Starting point What to change Student evidence Instructor effort
One assignment Add a plan, tests, physical checks, a short code review, and an AI-use record Notebook or program, test results, review notes, and disclosure Two to four hours after the starter code is ready
One course module Teach prompt design, debugging, code review, Git, and comparison of unaided and AI-assisted work Small individual exercises and one checked engineering project Two to four class meetings
Full course redesign Use the staged course plan below. Assess individual understanding as well as AI-assisted project work. Frequent low-stakes checks, repository history, project demonstrations, and an oral explanation Plan before the term and revise with student feedback

Update the learning goals

Programming abilities that remain important with GenAI
Ability What students practice Good evidence
Frame and decompose Define inputs, outputs, units, assumptions, governing equations, subproblems, and a definition of done A written plan before code is generated
Read and trace Predict what code does, follow data and state, and explain unfamiliar functions A trace, annotation, or oral walkthrough
Choose a method Compare algorithms, numerical methods, data structures, and libraries A short decision with accuracy, stability, and cost tradeoffs
Test engineering claims Write unit tests and check units, balances, bounds, limiting cases, and reference calculations Tests that catch plausible but wrong code
Debug and review Find defects, isolate causes, inspect dependencies, and judge maintainability and security A defect report and a justified patch
Work reproducibly Use Git, environments, clear file structure, documentation, and repeatable runs A clean repository that another student can run
Direct an AI tool Give useful context, request a plan, set constraints, review changes, and limit agent permissions A prompt or task brief, action log, and critical review
Explain and own the result State what was done, why it works, what failed, and where the result should not be used A demonstration, reflection, and AI-use record

A staged course plan

One way to build skill before giving AI tools more freedom
Phase Programming focus AI role Evidence of learning
1. Foundations Variables, control flow, functions, arrays, plotting, units, and simple numerical calculations Tutor or explanation only. Keep short individual checks free of AI. Code tracing, small functions, and hand calculations
2. Reading and debugging Read existing code, reproduce errors, use a debugger, and repair tests Ask for hints after the student records a diagnosis Bug report, failing test, fix, and explanation
3. Planning and prompting Decompose a chemical engineering problem and write acceptance criteria Critique the plan or propose alternatives before writing code Initial plan, improved plan, prompt, and comparison
4. Test-led implementation Build modules, use libraries, handle bad inputs, and check numerical behavior Generate or edit code within a stated AI-use level Repository history, tests, engineering checks, and review notes
5. Agentic project Coordinate files, tools, data, tests, documentation, and team review Use a coding agent in a limited workspace with approval points Plan, action log, pull request or change set, demonstration, and individual explanation

Label AI use for every assignment

A single rule for the whole course is often too vague. Put one of these levels on each assignment and state which tools, accounts, and records are required.

Suggested AI-use levels
Level Allowed use When it fits Required record
0. Closed No GenAI or code completion Short checks of individual foundations None
1. Tutor Concept explanations and hints, but no solution code Early practice and help seeking Questions asked and useful guidance
2. Plan and review Planning, explanation, debugging advice, and critique Problem decomposition and code-reading work Key prompts and changes made after review
3. Generate and test Code generation and editing are allowed Engineering assignments where review and validation are learning goals Tool and model, important prompts, generated work used, tests, and corrections
4. Agentic An agent may inspect files, edit code, run commands, and use approved tools Advanced projects and professional workflow practice Plan, permissions, action log, review, tests, cost or usage, and known limits

Courses and guidance for an AI-aware redesign

Resources for teaching programming when students have AI assistants
Resource Audience and level What is included Best use Access and limits
Consortium for Generative AI in CS Education Instructor
Introductory through advanced
Adaptable courses, teaching materials, research summaries, and examples for programming, data structures, algorithms, and software engineering Review faculty-created and piloted course materials Public resources. Check the reuse terms on each item.
Effective Coding with AI
Carnegie Mellon, Spring 2026
Instructor and learner
Intermediate
Schedule, slides, projects, prompt logs, ethics topics, grading, AI policy, code handoffs, and agentic development Model for a full AI-assisted programming course Public course page. Check reuse terms before adapting files. Some linked tools require accounts.
Generative AI in Introductory Programming
CS2023 curricular practice
Instructor Learning goals, assessment, academic integrity, emerging teaching practices, and references Department discussion and course policy Public to read. Published in 2023, so pair it with current examples.
APMonitor Agentic Engineering
Agentic work planning, Agentic coding, Agentic coordination, Agentic visualization, and Agentic reports
Instructor and learner
Intermediate
Five engineering-focused lessons, prompt builders, and a project workflow Agentic engineering module or capstone Public to view. Students need basic Python and GenAI experience.
OpenAI prompt engineering guide Instructor and learner
Introductory
Clear instructions, context, examples, output formats, and evaluation Prompt design reference Public documentation. Product interfaces and models change.

For learners

A path from first program to AI-assisted engineering project
Step Start here What to practice Time and result
1. Run code Google Colab or Try Jupyter Cells, variables, expressions, errors, files, and plots One to two hours
A notebook that runs from the first cell to the last
2. Learn Python CS50’s Introduction to Programming with Python or Software Carpentry Programming with Python Control flow, functions, arrays, files, testing, and debugging 15 to 40 hours
Several small programs
3. Solve chemical engineering problems Chemical engineering resources Units, balances, property calculations, numerical methods, plotting, and interpretation One course module
Two checked notebooks
4. Work like an engineer Git, testing, and reproducibility Repositories, commits, environments, documentation, tests, and peer review Five to ten hours
A clean project repository
5. Work with GenAI Plan, prompt, inspect, test, explain, and disclose Use AI after you can state the problem and checks One to three assignments
A prompt log and critical review
6. Complete a project Project starters Answer one engineering question with readable, tested, documented code Two to six weeks
Repository, demonstration, and reflection

AI-assisted workflow checklist

  1. Understand. Restate the engineering problem. List inputs, outputs, units, assumptions, and missing information.
  2. Plan. Choose equations, data structures, numerical methods, functions, and tests before requesting code.
  3. Prompt. Give the AI the relevant context, constraints, expected output, and definition of done. Ask it to show a plan first.
  4. Inspect. Read every change. Check equations, indexing, units, library calls, hidden assumptions, security, and unnecessary complexity.
  5. Test. Run unit tests, a hand calculation, conservation checks, bounds, limiting cases, and at least one bad input.
  6. Revise. Explain a failure before asking for a fix. Make the smallest useful change and rerun the checks.
  7. Explain and disclose. Be ready to explain the code without the AI. Record the tool, model, important prompts, output used, changes, and checks.

Prompt for a plan, not just an answer

A useful programming prompt has six parts.

  • Goal. State the engineering decision or calculation.
  • Context. Give equations, data, units, starter code, allowed libraries, and what you already tried.
  • Constraints. Set language, file structure, numerical method, performance, and safety limits.
  • Process. Ask for questions and a plan before code. Request small reviewable steps.
  • Output. Define the function signature, plots, tables, documentation, or files needed.
  • Checks. Name the tests, physical laws, reference cases, and acceptance criteria.

Example: Help me plan a Python function for an isothermal flash calculation. Use SI units and the supplied equilibrium relation. Ask questions first. Do not write code until I approve the plan. Then implement small functions and propose tests for the material balance, phase-fraction bounds, single-phase limits, and one hand calculation. Explain every assumption and flag information that is missing.

A long prompt does not guarantee a good result. Clear inputs, constraints, examples, and checks matter more than filler.

Chemical engineering programming resources

Courses, notebooks, and examples selected for chemical engineering
Resource Language, level, and audience What is included Best use Access and limits
Computational Tools for Chemical Engineers
Brigham Young University
Excel and Python
Introductory
Instructor and learner
Lectures, examples, and projects on data, numerical methods, optimization, dynamics, and control First chemical engineering computing course Public to view. No reuse license is stated.
Introduction to Programming for Engineers
APMonitor
Python, MATLAB, Excel and VBA, and Mathcad
Introductory
Instructor and learner
Language tutorials, engineering exercises, course projects, and Temperature Control Lab activities Choose examples for a class or laboratory Public to view. No reuse license is stated. Some activities need a Temperature Control Lab kit, but a simulated model is available.
LearnChemE computing bootcamps Python, MATLAB, Excel, and VBA
Introductory
Instructor and learner
Three Python bootcamps, three MATLAB bootcamps, four Excel bootcamps, and downloadable files, including packed-bed and plug-flow reactor models Pre-course review or just-in-time help Public to view and download. No reuse license is stated. Best as a supplement, not a complete programming course.
Numerical Methods and Machine Learning for Chemical Engineering
Carnegie Mellon, Fall 2022
Python and Jupyter
Intermediate
Instructor and learner
Notes, assignments, numerical methods, automatic differentiation, optimization, differential equations, and ML Full numerical methods course or assignment source Public archive. Check current package versions before reuse.
Python Computations in Science and Engineering
Carnegie Mellon
Python
Introductory to intermediate
Instructor and learner
Open text and examples on functions, data, regression, equations, integration, optimization, and differential equations Reference text with engineering examples Public. Repository code is GPL-2.0. Some examples reflect the package versions used when written.
Thermohub
University of Delaware, 2026
Python and Jupyter
Intermediate
Instructor and learner
Thermodynamics exercises on properties, real fluids, fugacity, phase behavior, equilibrium, and least squares Current thermodynamics programming assignments MIT licensed. The institutional JupyterHub needs university access, but the repository supports Colab and local Jupyter.
Interactive Chemical Engineering Simulations
CAChemE
Python and Jupyter
Introductory to intermediate
Instructor and learner
Interactive notebooks for process and chemical engineering topics Demonstrations and short exploratory labs MIT licensed. Some notebooks are older and may need package updates.
Chemical Engineering Analysis Notebooks
University of Connecticut
MATLAB and Julia
Intermediate
Instructor and learner
MATLAB Live Scripts, Julia notebooks, and a CACHE project report Compare two scientific computing languages MIT licensed. Compact supplement rather than a complete course.
Applied Numerical Computing
Developed at Oklahoma State University
Python, MATLAB, and Git
Intermediate
Instructor and learner
Course modules, examples, assignments, solution files, rubrics, reproducibility work, and a CACHE project report Instructor-ready numerical computing course BSD-3-Clause. Based on Fall 2020 materials. Several GUI lessons use MATLAB GUIDE and need revision for current MATLAB releases.
Computational Thermodynamics in Julia Julia and Pluto
Upper undergraduate to graduate
Instructor and learner
Numerical review, equations of state, activity models, volume and saturation solvers, stability, and flash calculations Short Julia thermodynamics module MIT licensed. Local work needs Julia and Pluto. First package setup can take time.
ND Pyomo Cookbook Python and Pyomo
Intermediate to advanced
Instructor and learner
Executable notebooks for optimization, scheduling, control, transport, and process systems Optimization module or capstone Code is MIT. Text is CC BY-NC-ND 4.0. Solver availability varies.
Excel VBA Programming for Chemical Engineers, CH766
AIChE
Excel and VBA
Intermediate or practicing engineer
Learner
Instructor-led training on macros, functions, debugging, interfaces, and external programs Legacy spreadsheet automation and industrial context Paid course with current availability by inquiry or group training. The earlier May 2016 archive link has been replaced.

Programming across the chemical engineering curriculum

Course-ready programming tasks and checks
Course area Programming task Checks students should write Possible starting resource
Material and energy balances Stream objects, recycle calculations, and parameter sweeps Conservation, units, nonnegative flows, and known simple cases BYU Computational Tools
Thermodynamics Property functions, equations of state, flash calculations, and phase diagrams Phase bounds, limiting cases, reference values, and consistent units Thermohub
Transport Boundary-value problems, profiles, and parameter studies Boundary conditions, conservation, mesh refinement, and asymptotic behavior Python Computations in Science and Engineering
Reaction engineering Rate expressions, reactor models, parameter estimation, and sensitivity Stoichiometry, conversion bounds, solver tolerances, and analytical cases CAChemE notebooks
Dynamics and control Dynamic simulation, controller design, filtering, and data acquisition Initial conditions, time step, stability, saturation, and disturbance tests APMonitor and Temperature Control Lab
Process design and optimization Flowsheet models, scheduling, parameter estimation, and constrained optimization Feasibility, active constraints, balances, units, and comparison with a baseline ND Pyomo Cookbook
Laboratory and data Read instrument files, clean data, estimate uncertainty, and produce repeatable figures File validation, calibration, missing values, uncertainty, and provenance Applied Numerical Computing

Project starters and data

Manageable engineering projects for programming practice
Starter Programming focus Engineering checks Scale and notes
Chemical Engineering Analysis notebooks Units, streams, balances, reactors, vapor-liquid equilibrium, and spill cases Units, stoichiometry, conservation, and reference cases More than 40 Colab-ready notebooks. Text is CC BY-NC-SA and code is MIT.
Chemical Process Control notebooks Simulation, proportional-integral-derivative control, optimization, scheduling, and predictive control Initial conditions, stability, saturation, disturbances, and closed-loop behavior More than 70 notebooks. Curate a small subset for one course.
MIT 10.34 assignments Linear and nonlinear equations, optimization, differential equations, probability, and model-data comparison Convergence, tolerance, conditioning, and analytical cases Substantial MATLAB problem bank with solutions. Archived Fall 2015.
UCI Energy Efficiency data Read a file, validate a schema, calculate summaries, fit a simple model, and plot results Missing data, train and test separation, residuals, and units 768 rows and 8 inputs. CC BY 4.0. It is a building dataset, not a process plant.
NIST ThermoML Archive Parse XML, normalize units, filter records, and trace provenance Schema validation, units, uncertainty, source, and duplicate records Large archive. Better for intermediate learners. Reuse terms can depend on the publisher.
US Energy Information Administration Open Data Call an API, cache results, handle dates, and build an energy dashboard Units, frequency, missing dates, revisions, and rate limits Public API. An API key is required.

For ML datasets and data-driven case studies, also see the CACHE AI and Machine Learning teaching resources.

Programming foundations and course tools

Choose a language and environment

Choose the smallest set of tools that supports the course outcomes. For many first chemical engineering courses, Python in Jupyter or Colab is a practical starting point. A department may make a different choice when later courses, laboratories, or employers depend on another tool.

Common choices in chemical engineering programs
Choice Best fit Strengths Access and tradeoffs
Python with Jupyter First programming course, numerical methods, data, automation, and research Open ecosystem, readable syntax, broad scientific libraries, notebooks, testing, and strong industry use Free. Package and environment management need to be taught.
MATLAB Numerical methods, controls, signal work, modeling, and programs with a campus license Integrated environment, strong documentation, toolboxes, Live Scripts, Simulink, and MATLAB Grader Proprietary. Check campus and toolbox licenses.
Julia Numerical computing, optimization, thermodynamics, and an advanced scientific computing pathway High-level mathematical syntax, strong performance, multiple dispatch, and Pluto notebooks Free and open source. Smaller teaching and industry ecosystem than Python or MATLAB.
C++ Performance, simulation engines, embedded work, and software engineering depth Control of memory and performance with wide industrial use Free compilers. Steeper learning curve and more setup for beginners.
Excel and VBA Spreadsheet models, reporting, process calculations, and legacy industrial workflows Familiar interface and direct connection to many business processes Proprietary. Spreadsheet logic is easy to hide and difficult to test or review. Teach clear structure, units, checks, and versioned exports.

General courses and references

Strong resources for language and numerical foundations
Resource Language and level What is included Best use Access and limits
CS50’s Introduction to Programming with Python Python
Beginner
Ten weeks of lectures, problem sets, testing, exceptions, files, regular expressions, classes, and a final project Complete Python foundation or selected problem sets Free OpenCourseWare under CC BY-NC-SA 4.0. An edX account is needed for official submission and feedback.
CS50x C, Python, SQL, and web programming
Beginner
Broad computer science course, problem sets, labs, final project, and educator guidance Deeper computer science foundation Free OpenCourseWare. Use the evergreen course link.
Software Carpentry Programming with Python Python
Beginner
Learner and instructor views, data, exercises, functions, errors, defensive programming, and debugging One-day bootcamp before engineering work CC BY 4.0. The sample data are biomedical, so connect the skills to a chemical engineering dataset afterward.
Python Programming and Numerical Methods
UC Berkeley
Python
Beginner to intermediate
Interactive text, chapter problems, linear algebra, roots, regression, integration, differential equations, and numerical methods Engineering computing text and problem source Free to read. Example code is MIT licensed. The book text has separate copyright terms.
MATLAB Onramp MATLAB
Beginner
Browser lessons with immediate feedback on arrays, indexing, plots, files, loops, conditions, and debugging Prerequisite or first-week activity Free. An account is normally needed to save progress.
Introduction to Computational Thinking
MIT, Fall 2024 archive
Julia and Pluto
Intermediate
Interactive text and homework on numerical methods, simulation, optimization, differential equations, climate, and inverse problems Julia course model or interactive assignments Code is MIT. Text is CC BY-SA 4.0. Local work needs Julia and Pluto.
Standard C++ Programming
Stanford, Spring 2026
C++
Intermediate
Slides, examples, and assignments on modern C++, containers, iterators, memory, templates, type safety, and builds Bridge for learners who already know basic programming Most materials are public. Some submission pages need a Stanford login. No public reuse license is stated.
Exercism language tracks Python, C++, Julia, and many others
Beginner to intermediate
Short exercises, automated tests, analysis, and optional mentoring Low-stakes practice between engineering assignments Free account required. Track depth and licensing vary.

Git, testing, notebooks, and reproducibility

Tools and teaching materials for professional computational work
Resource Audience and level What it supports Best use Access and limits
Software Carpentry Version Control with Git Instructor and learner
Beginner
History, branches, remotes, collaboration, conflicts, licensing, and citation Two-hour to three-hour Git module CC BY 4.0. Command-line based. Remote exercises need a GitHub account.
GitHub Skills Learner
Beginner to intermediate
Interactive repository exercises for GitHub flow, pull requests, Actions, Copilot, and agentic workflows Practice after a Git introduction Free with a GitHub account. Some exercises use product features or quotas.
CodeRefinery Automated Testing Instructor and learner
Intermediate
About 105 minutes of pytest, continuous integration, test design, exercises, and instructor notes Testing module for a project course CC BY 4.0. Continuous integration exercises need a GitHub or GitLab account.
pytest getting started Learner
Beginner to intermediate
Test discovery, failure reports, exceptions, fixtures, grouping, and floating-point comparisons Focused lab on numerical-function tests Public documentation. It is a reference, not a full course.
CodeRefinery Reproducible Research Instructor and learner
Intermediate
Project structure, environments, containers, workflows, Git, documentation, notebooks, and testing Research methods or capstone module CC BY 4.0. Broad overview that assumes some programming experience.
The Turing Way Instructor and learner
All levels
Reproducibility, project design, collaboration, communication, ethics, checklists, and templates Capstone rubric and research-code reference CC BY 4.0. It is a handbook, not a linear course.
Teaching and Learning with Jupyter Instructor Notebook pedagogy, course patterns, JupyterHub, Binder, assignments, autograding, and active learning Plan a notebook-based course CC BY 4.0. Published in 2019, so check current platform instructions.
Google Colab Instructor and learner
All levels
Hosted Jupyter with no local setup, Drive and GitHub support, and optional accelerated compute Run Python notebooks in a browser without local installation Free and paid access. A Google account is needed to save work. Free runtimes can end after idle time and generally run for at most 12 hours. The virtual machine is temporary. Google may retain or review content submitted to AI features, so do not use sensitive course or research data.

Assignment delivery and grading

Systems for distributing work and returning timely feedback
System Best for Useful features Access and setup
GitHub Classroom Repository assignments in Python, MATLAB, Julia, C++, or mixed projects Starter repositories, individual or team work, feedback pull requests, tests, and autograding Free with GitHub accounts and an organization. Plan for roster privacy, two-factor authentication, Actions quotas, and protected tests.
nbgrader Jupyter notebook assignments Generate, release, collect, autograde, manually grade, and return feedback BSD-3-Clause. Requires meaningful Jupyter or JupyterHub setup and administration.
Otter-Grader Larger Python or R notebook courses Hidden tests, scripts, notebooks, Gradescope and LMS workflows, parallel grading, and PDF export BSD-3-Clause. Instructors provide compute. Some workflows need Docker and document-conversion tools.
MATLAB Grader MATLAB problems in a browser or LMS Reference solutions, tests, immediate feedback, authoring, and curated assessment collections Proprietary service with a MathWorks account. Some collections require verified instructor access. Licenses still matter.

Local and commercial GenAI resources

GenAI tools differ in how much work they can perform. Chat assistants explain code, completion tools suggest edits, and coding agents can inspect files, run commands, and modify a repository. Coding agents need explicit file, command, network, and cost limits, followed by human review.

Product names, features, quotas, and prices were checked on August 7, 2026. Test a tool on representative course work before requiring it.

First choose where the work runs

Deployment choices for a course or department
Pattern Runs where Best use Data and limits
Fully local Model, runtime, interface, and files stay on one computer Private examples, offline labs, model comparison, and learning how inference works Can keep prompts and code on the device after downloads. Hardware limits quality and speed. Plugins, update checks, or web tools can still use the network.
Campus hosted A university server runs an open-weight model for many users Shared access, consistent models, logging rules, and institutional control Needs GPUs, authentication, patching, monitoring, storage, and a clear retention policy.
Open client with cloud model An open editor or agent sends context to a commercial API Compare interfaces while using a capable hosted model Not local or offline. Cost and data handling follow the selected provider and account.
Vendor hosted A commercial chat, IDE, notebook, or cloud agent Fast setup, strong models, collaboration, and managed education accounts Code and prompts leave the device. Features, quotas, names, and prices change. Use an institution-approved account and contract.

Local runtimes and interfaces

A local interface is not automatically a local model. Check the selected provider, network tools, telemetry, extensions, and where logs are stored.

Tools for running models and chat interfaces locally or on a campus server
Tool Role and location Best classroom use Setup and compute Data and limits
Ollama Local command line and model server for macOS, Windows, and Linux Common runtime for notebooks, Python applications, chat interfaces, and agent labs Easy start. Model downloads range from a few GB to many tens of GB. Local-only mode is available. RAM, storage, speed, context, and model licenses vary.
LM Studio Desktop model browser, chat interface, and local API First local-model lab and side-by-side model comparison 16 GB of RAM is recommended. Current macOS support requires Apple Silicon and macOS 14 or newer. Windows x64 requires AVX2. Can work offline after model download. It is a proprietary desktop app. Do not expose its server to a classroom network without safeguards.
Jan Local-first desktop app, API, and command line Open desktop alternative for chat and agent experiments Apache 2.0. The documentation recommends 16 GB of RAM and enough storage for model files. Local use needs no account. Selecting a cloud provider sends data to that provider.
llama.cpp Local C and C++ inference engine, command line, and HTTP server Advanced lab on quantization, hardware, performance, and deployment More setup than desktop tools. Runs across CPUs and several GPU backends. Students must obtain compatible model files and check each model license.
vLLM High-throughput model server, usually on Linux GPUs Department or research-group service for many users Advanced deployment with significant GPU and administration needs Self-hosting gives control, not automatic security. Add authentication, isolation, logs, quotas, and retention rules.
Open WebUI Self-hosted browser chat interface for local or remote model servers Shared class chat interface and retrieval experiments Docker is a common deployment route. Server administration is required. Data location follows the model connection and server setup. Treat uploaded course files and logs as managed data.

Open notebook tools and coding agents

Open interfaces that can use local or hosted models
Tool Role and location Best classroom use Setup and compute Data and limits
Jupyter AI JupyterLab chat and notebook-agent framework with local or hosted providers Notebook-native chemical engineering analysis, modeling, and visualization Open source. Models and agents are configured separately. Agents can read and write files, run commands, and edit notebooks. Provider accounts and careful permissions may be needed.
Aider Open terminal pair programmer for local or hosted models Visible edit cycle with Git diffs, commits, linting, and tests Command-line setup. Local-model quality varies. Privacy and cost follow the chosen model provider. Review every diff before keeping it.
Cline Open VS Code agent with local and hosted model choices Teach tool calls, checkpoints, command approval, budgets, and recovery from a bad edit Official guidance notes that capable local coding models often need 32 GB or more of RAM. Keep automatic approval off for learners. Cloud models may add cost and send repository context off the device.
goose Apache 2.0 desktop and command-line agent with provider choice and extensions Advanced work on workflows, recipes, permissions, and tool use Moderate setup. Model cost and compute follow the provider. Extensions widen access and attack surface. Begin in a disposable project with no extra secrets or tools.
Qwen Code Open terminal coding agent with VS Code integration and provider choice Compare the same agent interface with a hosted Qwen model and a compatible local model Command-line setup. Local quality and memory needs vary. Provider accounts, data rules, and cost vary. Keep command approval on.

Open-weight model examples

Record the exact model ID, revision, quantization, runtime, hardware, model card, and license in every local-model lab. Use the term open-weight unless the license clearly supports a stronger label.

Selected model families for local and campus-hosted experiments
Model family Classroom fit Scale License and limits
OpenAI gpt-oss Reasoning, tool use, coding, and comparison with hosted services gpt-oss-20b can run with about 16 GB of memory. gpt-oss-120b targets a much larger workstation or server. Apache 2.0 weights. Self-managed and not the same service as ChatGPT or the OpenAI API.
Qwen3-Coder 30B-A3B Coding, tool use, and agent comparison More practical for local labs than the much larger flagship model. A3B is the active parameter count, not the download or memory size. The runtime still stores the full 30B weights plus context and cache. Check the exact model card, license, memory need, and quantization. Large context and agent work add memory use.
Devstral Small 2, 24B Local software engineering and multi-file editing Official guidance targets an RTX 4090 or a Mac with 32 GB of RAM. Apache 2.0. Smaller student computers may be too slow or may not fit the model.
IBM Granite 4.1 Instruction following, code, mathematics, and tool-calling comparisons 3B, 8B, and 30B choices make it easier to compare hardware and quality. Apache 2.0. Smaller models fit more devices but may miss defects in complex repository work.

Before choosing another model, read its model card and repository license. Quantization reduces memory use but can also change output quality.

Hosted chat and campus GenAI

Managed and consumer chat services commonly encountered by students
Service Best classroom use Education access Data and limits
ChatGPT Edu Planning, explanation, file and data work, code critique, and custom course assistants Institution-managed university offering. Individual ChatGPT plans are separate. OpenAI states that organization data for Edu is not used to train models by default. Follow the university agreement and do not share restricted data without approval.
Claude for Education Socratic tutoring, explanation, long-context review, code critique, and interactive artifacts Institutional offering. Individual Claude plans have different controls. Data handling differs between consumer and work accounts. Tell students which account and settings to use.
Gemini for Education Prompting, explanation, research support, code critique, and Google Workspace tasks Available through eligible school Google accounts. Features depend on the institution. School accounts have education data protections. Personal Gemini accounts follow different activity and review rules.
Microsoft Copilot for education Chat grounded in web or Microsoft 365 work, depending on the institution’s license School-managed and individual access paths vary Capabilities and protections depend on the signed-in account and license. Confirm whether prompts can include course or student data.

Commercial coding assistants and agents

Free access, education access, subscriptions, and quotas change. Link students to the current plan page and provide a no-cost or institution-funded path for required work.

General coding assistants and agents
Product Surface and capability Best classroom use Data, access, and limits
OpenAI Codex Coding agent in command line, IDE, app, and cloud workflows. It can inspect files, edit code, run commands, and review changes. Plan-first repository work, test-led changes, code review, and agentic engineering Plans and quotas vary. Limit repository and command access. Use institution-approved accounts for course or research code.
GitHub Copilot Inline completion, chat, command line, code review, and agents across GitHub and major IDEs Compare completion, chat, review, and agent workflows in a familiar repository Verified students may receive education access. For individual Free, Pro, and Pro+ accounts, GitHub may use prompts, outputs, code snippets, and context to improve models unless the user opts out. Business and Enterprise data are not used for training. Plans and quotas vary.
Claude Code Coding agent in terminal, desktop, IDE, and web Plan-first work with explicit file, command, test, and review permissions Not a local model. It sends prompts and code context over the network. Consumer users choose whether sessions support model improvement. Commercial policies differ. Plain-text transcripts are stored locally by default.
Google Antigravity Agentic development across editor, command line, and multi-agent management Compare planning, execution, review, and delegated work Fast-changing product. Use project-only file access, request review, and sandboxing. Its telemetry control determines whether interaction logs are shared to evaluate and improve the product and its models.
AI-first Google Colab Notebook chat, code generation, error fixes, and a data science agent that can plan and run analysis Browser-based data and notebook lab with no local setup AI features currently require an account age of 18 or older. Google collects prompts, related code, output, feature use, and feedback. Human reviewers may process this material, and de-identified data may be kept for up to 18 months. Do not use personal, confidential, or restricted data.

IDE, notebook, and specialized coding tools

Hosted tools for particular editors, notebooks, and engineering workflows
Product Surface and capability Best classroom use Data, access, and limits
Cursor AI-first editor with repository indexing, multi-file changes, review, and background agents Advanced repository navigation and multi-file change lab All AI requests route through Cursor’s service, even with a user API key. Enable Privacy Mode before course use. Background agents clone repositories to cloud virtual machines and can run commands.
JetBrains AI Assistant AI features in PyCharm, DataSpell, IntelliJ, and other JetBrains IDEs with hosted or selected local models Python or data courses that already use JetBrains tools Not every feature works with every model. Code context goes to the selected provider. Eligibility and quotas apply.
Amazon Q Developer Assistant in IDEs, JupyterLab, command line, and AWS workflows Unit tests, code review, security exercises, and AWS-related courses Requires individual or organization access. Free-tier questions, responses, and generated code may support service improvement or model training unless the user opts out. Pro and Business content is not used for service improvement. Quotas apply.
MATLAB Copilot MATLAB chat, autocomplete, code generation and editing, explanations, debugging, and test generation Compare generated MATLAB with documentation, reference code, and MATLAB tests Paid product with campus access possible. MATLAB and related product licenses apply.
Mistral Vibe Hosted chat plus coding interfaces. Vibe Code can work with Devstral locally or with hosted models. Compare a local and hosted model while holding the coding interface steady Hosted use needs an account and may have quotas. Local coding still needs substantial memory and permission review.
Devin Long-running cloud coding agent with repository and development-environment access Optional advanced capstone on reviewing an autonomous agent and its pull request Not a beginner default. It needs repository access, consumes cloud quota, and can create incorrect or insecure code. Keep branch protection and human review.

Safe defaults for coding agents

  • Use a disposable repository, branch, container, or sandbox with project-only file access.
  • Remove API keys, credentials, student records, unpublished research, proprietary data, and safety-sensitive files.
  • Keep command approval on. Review dependency installs, network access, file deletion, and external tool calls.
  • Set a time, token, or cost budget and a stopping condition.
  • Require a written plan before edits and visible diffs after each meaningful step.
  • Run independent tests and engineering checks before accepting a change.
  • Require a person to approve anything that affects grades, equipment, safety decisions, published data, or external systems.

Assignments, assessment, and critical review

Assess the process as well as the final program. A polished output does not show who understood the problem, found the error, or checked the result.

Assignment patterns for the GenAI era

Activities that make student thinking visible
Activity AI use Student output What it assesses
Design before code Level 0 for the first plan, then Level 2 critique Inputs, outputs, units, equations, functions, risks, tests, and a revised plan Problem framing, decomposition, and response to feedback
Read and trace Level 0 or Level 1 Predicted output, state trace, explanation, and one improvement Code comprehension without relying on generation
Repair plausible AI code Level 2 or Level 3 Reproduction, defect list, minimal failing tests, patch, and regression tests Debugging, review, numerical judgment, and security awareness
Prompt ladder Level 3 Vague prompt, engineering brief, plan-first prompt, results, and comparison Useful context, constraints, acceptance criteria, and critical prompting
Tests before implementation Level 2 for tests, then Level 3 for code Tests for normal, boundary, failure, and physical cases before implementation Specification, testing, and resistance to plausible wrong answers
Compare two implementations One unaided baseline and one AI-assisted solution Accuracy, runtime, clarity, robustness, and engineering interpretation Method choice and evidence-based comparison
Legacy refactor Level 3 Characterization tests, small commits, clearer structure, and unchanged reference outputs Code reading, version control, maintainability, and restraint
Agentic engineering capstone Level 4 Task brief, plan, permission record, action log, diffs, tests, cost or usage, demonstration, and review Tool supervision, teamwork, verification, and professional responsibility

Verify individual understanding

  • Use short supervised checks for syntax, tracing, equations, and core numerical ideas.
  • Ask each student for a brief oral walkthrough of selected code and one design choice.
  • Request a small live modification, such as a new unit system, boundary case, or data column.
  • Personalize a parameter, dataset, or failure case while keeping the workload fair.
  • Review staged commits, tests, prompt records, and notes about accepted and rejected suggestions.
  • Use private tests to check robustness, then ask students to explain failures and fixes.
  • Do not use an AI detector as the sole evidence of misconduct. Current detectors are not reliable enough for that role.

Suggested project rubric

A 100-point rubric for programming with or without AI
Criterion Points What to look for
Problem decomposition and plan 15 Clear goal, inputs, outputs, units, assumptions, functions, risks, and acceptance criteria
Independent baseline and engineering reasoning 15 Hand calculation, simple reference implementation, governing equations, and justified method
Tests and validation 25 Normal, boundary, failure, and physical tests plus balances, units, tolerances, and reference cases
Code review and implementation quality 15 Readable structure, appropriate libraries, secure handling, useful documentation, and justified changes
Debugging evidence and version history 10 Reproducible failures, hypotheses, small fixes, regression tests, and meaningful commits
Engineering interpretation, safety, and limits 15 Meaning of the result, uncertainty, failure range, safety implications, and responsible use
AI-use record 5 Complete and honest record with independent checks
Total 100

Critical review checklist

Questions to ask before accepting code or a result
Review area Questions Evidence
Problem Does the code solve the stated problem with the intended inputs, outputs, units, and assumptions? Task brief and examples
Physics and chemistry Are equations, signs, units, balances, phase limits, and physical bounds correct? Hand calculation, dimensional check, and conservation tests
Numerics Are tolerances, convergence, initial guesses, discretization, conditioning, and extrapolation handled? Refinement study, solver report, and reference case
Code Are library calls real and current? Are indexing, state, exceptions, and edge cases correct? Documentation links, unit tests, and code review
Security and privacy Could the code expose secrets, run unsafe commands, install an untrusted package, or send restricted data? Dependency review, permission record, and clean secret scan
Reproducibility Can another person run the work with documented versions, data, seeds, and steps? Fresh-environment run and clear README
Sources and rights Are formulas, code, data, licenses, and AI contributions identified accurately? Citations, license notes, and AI-use record

Student AI-use record

Ask students to report the tool, product, and model, date and version, local or cloud deployment, relevant privacy setting, files or context shared, important prompts or a concise interaction summary, suggestions accepted, changed, and rejected, tests and engineering checks, usage or cost when applicable, and remaining limitations.

Guidance for course policy and assessment design

Current teaching guidance that can be adapted to local policy
Resource Best use Notes
Cornell, AI in assignment design Align AI use with outcomes, authentic work, error analysis, revision, and reflection Adapt examples and policy language to engineering and campus rules.
University of Waterloo, redesigning assessments Staged work, journals, portfolios, oral follow-up, and error reflection Useful across disciplines. Add chemical engineering checks.
University of Washington, course AI policies Assignment-level rules, disclosure, evaluation, modification, and verification Local academic-integrity policy remains controlling.
Responsible use of GitHub Copilot Review, testing, security, and limitations of generated code Vendor-authored. Apply the same checks to any coding assistant.
CS50 academic honesty policy Example of explicit help, citation, and AI boundaries in a programming course Use it as a model, not as a substitute for local policy.

More learning resources

Additional books, practice, and short training
Resource Format and level Best use Access and limits
LearnChemE Engineering Computing Screencasts
Introductory to intermediate
Just-in-time help with Excel, VBA, Python, MATLAB, Mathematica, and Polymath Public to view. It is a reference collection, not a complete course.
Introduction to Python for Chemical Engineers
AIChE
Webinar
Introductory
Short professional introduction to Python in chemical engineering Account and current webinar access or price may be required.
Introduction to Numerical Methods in Chemical Engineering
FOSSEE code collection
Python textbook companion
Intermediate
Worked numerical-method examples connected to a chemical engineering text CC BY-SA. Treat it as a companion code collection, not a complete standalone textbook.
Automate the Boring Stuff with Python Online book
Beginner
Files, spreadsheets, web tasks, and practical automation Free to read online. Not chemical engineering specific.
Codecademy Python catalog Interactive practice
Beginner
Extra syntax practice and guided exercises Account required. Free and paid paths vary. Course rights are proprietary.
Programming in Python 3, zyBooks Interactive textbook
Beginner
Structured reading, participation activities, and instructor integration Commercial. Confirm edition, cost, access length, and accessibility before adoption.

Curriculum background

Reports that explain the place of computing in chemical engineering education
Resource Use Context
Computing Skills in the Chemical Engineering Curriculum
CACHE
Program-level discussion of computing outcomes and curriculum placement Historical foundation. Pair it with current tools and professional practice.
Chemical Engineering Academia-Industry Alignment Industry expectations for graduates and curriculum discussion Published in 2015. Use for background, not a current software ranking.
A Self-Assessment of Computer Science Education in a Chemical Engineering Curriculum Historical case study of introductory programming in a chemical engineering program Published in 2004. The teaching questions remain useful, but the software landscape has changed.

Choose a course language based on learning goals, later courses, local expertise, student access, and workplace use.

Suggest a resource or correction

Use this form to suggest a resource or report a broken link.

When suggesting a resource, include its audience, language, prerequisites, topic, expected time, access needs, license, available assignments, and known limits.

Send feedback to Dr. Yamil Colon at the University of Notre Dame or Dr. John Hedengren at Brigham Young University.

Follow Us

    

Contact Us

CACHE Corporation
P.O. Box 126
Notre Dame, IN 46556
Phone: (574) 631-5687
cache@cache.org

Join Us

Subscribe to CACHE newsletter 

Contact us to join CACHE as an academic or industrial affiliate

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer