Active Learning with LEGO for Teaching Software Development: LEGO4SE

A hands-on workshop at SIGCSE 2020


LEGO is a construction toy familiar to many students. Creating software, regardless of scale, is often similar to building with tangible objects, such as houses or bridges--an analogy that is often used in the classroom. In this workshop, we will show how to use LEGO as an engaging medium to introduce students to concepts of iterative development, software interfaces, team velocity, and distributed software projects. LEGO-based analogies and case studies enacted as hands-on exercises for student teams help develop a better understanding of the underlying concepts, while keeping students deeply engaged in the course material.

This workshop is intended for faculty teaching undergraduate and graduate courses focusing on software development, software engineering, and related concepts. This workshop will also benefit other educators looking for ways to supplement their courses with engaging and playful hands-on activities aimed to strengthen the teamwork, oral communication, problem solving, and design skills of students. We will practice several hands-on LEGO-based activities during the workshop. Specific topics of these activities will include change management and object-oriented interfaces, as well as activities specific to the phases of software development. Workshop participants will learn about other LEGO-based activities that focus on a broad range of topics including requirements engineering, architectural design, and software dependability. A laptop is not required for this workshop.

This work is supported in part by the National Science Foundation Awards 1611905, 1709244 and a 2015 ACM SIGCSE Special Project award.

LEGO4SE project website

Significance and Relevance of the Topic

There is a substantial body of literature demonstrating that hands-on case studies are one of the best active learning approaches for teaching software engineering. Case studies offer an effective approach to understand a system or a phenomenon that are too large or too difficult to (re)create in a lab setting. They do so by answering detailed ‘how’ and ‘why’ questions, which results in gaining a deeper insight into chains of cause and effect concerning the system’s behavior.

As a tangible manipulative, LEGO works well to support designing hands-on activities and case studies that mix studying software engineering concepts with the elements of team building, icebreaker, and play. Play in a classroom environment offers many important features to aid in the learning process. Play provides a safe environment where failure is acceptable because “it’s just a game.” Play is voluntary and nobody is forced or coerced to participate. Play is fun and it is something that people want to do. Play is improvisational and provides an avenue to express one’s creativity and imagination, which is especially important in design-centric computer science courses.

Focusing on LEGO models helps students open up and start discussing complex software engineering concepts with their teams. Some students reported that having their models in front of them made them feel more relaxed, which, in turn, helped alleviate their fear of public speaking. Students very frequently took pictures of their models and shared them on social media networks, which not only helped them to extend their reflection of the models, but also indicated that they enjoyed working with LEGO and were proud of their work.


Expected Audience

This workshop is intended for faculty interested in teaching undergraduate and graduate courses focusing on software development and engineering. This workshop will also benefit all other faculty (including high school teachers) looking for ways to supplement their course material with engaging and playful hands-on activities aimed to strengthen the teamwork, oral communication, problem solving, and design skills of students.

Expertise of the Presenters

Stan Kurkovsky is a Professor and Chair of Computer Science at Central Connecticut State University. His research interests are in the areas of mobile and pervasive computing, software engineering, and computer science education. He has written over 80 peer-reviewed conference papers and journal articles. Before entering academia, Dr. Kurkovsky worked as a professional software engineer; he has been teaching software engineering and related courses since 1999. Presenter’s experience with LEGO-based activities is documented on this website; relevant publications are listed here.

Stephanie Ludi has experience designing and conducting kinesthetic and tangible activities in Computer Science for diverse students ranging from middle school to undergraduates in the university setting. Dr. Ludi conducts research in this area, especially in terms of making such activities accessible for students with disabilities and to engage them in Computer Science. Dr. Ludi is a faculty member at the University of North Texas.

Tentative Agenda

  1. Introduction to LEGO in higher education (10 min)
    • Scientific foundation (constructivism and constructionism)
    • LEGO in Computer Science
  2. 2. Hands-on activity: compare and contrast waterfall and agile processes with LEGO (30 min)
    • Present the game: LEGO-based Tetris
    • Play two rounds of the game with different rules
    • Debrief: student engagement, fidelity of the game, effects on student learning outcomes
  3. Hands-on activity: object-oriented interfaces (45 min)
    • Present the activity: team-building an aircraft with multiple components
    • Teams build and try to integrate the models built without pre-negotiated interfaces
    • Teams build and try to integrate the models built with pre-negotiated interfaces
    • Debrief: lessons learned about the role of software interfaces and integration
  4. Break (15 min)
  5. Hands-on activity: distributed software engineering (50 min)
  6. Wrap-up (30 min)
    • Overview of other LEGO-based activities for software engineering
    • Best practices for using LEGO in the classroom
    • General discussion and feedback