LEGO for Software Engineering

Active learning exercises for classroom use

Introducing a comprehensive set of playful activities
to teach software engineering concepts

Playing with LEGO is appealing to many people of all age ranges and educational or social backgrounds. Clicking bricks together to form more complex objects requires neither artistic talent, nor technical knowledge. LEGO is a greatly underused conceptual tool that can help illustrate many aspects of software development.

Why do we use LEGO to teach software engineering?

Storytelling

Building with LEGO supports playing out scenarios and storytelling, which is key to many Software Engineering learning activities centered around case studies

Building

Connecting LEGO bricks together and following certain rules about how they can and cannot be interconnected is not unlike writing program code and using software interfaces

Process

The process of constructing one or more LEGO models can mimic a real-world software process that consists of many inter-related activities

Change

Building with LEGO is not unlike real-world software projects, in which requirements can change, original designs can fail, and new properties can emerge

Available learning activities

Big Plans vs. Small Iterations

A short game to introduce the key concepts of scrum and compare/contrast plan-driven vs. iterative development