Teach with MAGE
Engineering is the discipline of exercising informed control over consequential systems. An engineer need not personally produce every part of a system. The engineer must understand what the system is supposed to accomplish, how it is organized, what it costs to build and change, how it behaves when deployed, where its weaknesses and uncertainties lie, and what evidence justifies confidence in it. Software engineering applies this responsibility to software systems.
GenAI changes how that control is exercised. Students can now delegate substantial implementation work while remaining responsible for the resulting system. This creates an opportunity to teach the enduring foundations of software engineering through the work that remains theirs: understanding the problem, specifying obligations, making and defending architectural and design decisions, evaluating evidence, governing change, and determining whether the resulting system is fit for its purpose.
Teach with MAGE provides reusable materials for teaching software engineering from this perspective. The lectures, semester project, and assessments combine established software engineering foundations with contemporary GenAI-enabled practice. The underlying approach—MAGE (Model-Based Agentic Software Engineering)—is developed in full in the textbook.
The materials are:
- Lectures: materials for teaching the major topics of an undergraduate software engineering course.
- Semester Project: a substantial team project through which students practice software engineering across the lifecycle.
- Assessment: materials for assessing both the systems students produce and their individual command of those systems, including oral exams.
- Example course: the Purdue Fall-2026 offering (ECE 30861 — Software Engineering) in which these materials are being taught, with its syllabus and calendar.
A supplementary Software Engineering Handbook provides a concise companion that develops the engineering judgment and decision-making behind these materials.