Lab 1. Read before you prompt
25 minutesFind your way around Spring PetClinic on your own first. Then ask your agent for a tour and check its answers against what you found.
Open the labAgentic coding assistants and AI chat in your editor are changing how we build software. Some say it's the end of software engineering. Is it time to explore other careers? Not so fast. The rumors of our demise are greatly exaggerated! These tools can boost productivity. But to use them well, developers still need to master the fundamentals of the craft.
This intensive workshop bridges the gap between what developers learn in school and what they need on a professional team. On that team, people and AI tools now work side by side. It's based on our book, Fundamentals of Software Engineering. We'll guide you from programmer to well-rounded software engineer. You'll learn to get the most from AI tools without losing the fundamentals.
You'll build technical and professional skills that last, no matter how languages, frameworks and AI tools change. The day is a balanced mix of teaching, discussion and hands-on labs. You'll work on realistic scenarios with both traditional and AI-assisted approaches. Along the way, you'll learn when to bring AI into your workflow, and when not to.
Why the fundamentals matter more now, not less. The fundamentals didn't change. The ratio did.
How to read unfamiliar code before you prompt an agent to change it
How to review AI-generated code and spot what agents get wrong
How to use specs and tests as the gates for agent work
How to work safely with existing code, with a net of tests in place first
How to learn new things with AI without skipping the reps
How to turn your fundamentals into your agent's instructions, in your own AGENTS.md
To get the most out of this workshop, please bring:
Working knowledge of at least one programming language. The labs use Java and Spring PetClinic.
A laptop with Git, Java 17 or newer, and an IDE or code editor
Optional: An AI coding assistant (Claude Code, GitHub Copilot, Cursor, Codex or similar). No assistant? You can pair up with someone who has one.
Optional: Docker, to run PetClinic's full test suite
Optional: A Google account for the NotebookLM lab
The day is built around six hands-on labs. They all use one codebase, Spring PetClinic. Each lab works the same way. Do it yourself first. Then do it with your agent. Then compare and judge.
Clone the repository:
git clone https://github.com/Fundamentals-of-Software-Engineering/workshop.git Find your way around Spring PetClinic on your own first. Then ask your agent for a tour and check its answers against what you found.
Open the labAn AI agent opened a pull request. It compiles and every test passes. Review it with your team and find the problems before it merges.
Open the labBuild the same small feature twice. Once from a one-line prompt, once from a short spec. Then compare what you get.
Open the labWrite tests that pin down what the code does today. Then let your agent refactor it, with your tests as the safety net.
Open the labUse your agent as a tutor, not an author, to learn something new. Then check what stuck with a short quiz.
Open the labEach lab adds a few lines to your own AGENTS.md. Pull them together into one file and take it home to your team.
Open the labTry these if you finish early, or take them home after the workshop.
Gather job posts and career guides for a role you want. Use NotebookLM to find the skills that keep showing up.
Open the labSort the tools you care about into adopt, trial, assess and hold. Use it to decide what to learn next.
Open the labHere are some helpful resources to prepare for the workshop and keep learning afterward:
The slides will be posted here after the workshop.
Join us for this hands-on workshop. Learn how to apply software engineering fundamentals in the age of AI.