The Academy of Software Engineering and Training (ASEE&T) is a special program section consisting of invited guest presentations by luminaries in the software engineering field, demonstrating how to best teach various aspects of software engineering. These sessions may include work activities. The intended audience is software engineering faculty, although the technical content would also be of interest to software engineering practitioners.
In 2020, ASEE&T will include a half-day workshop by Professor Rick Kazman.
ASEE&T Program — November 10, 2020
Teaching Architecture Design Using the “Smart Decisions” Game
Rick Kazman
Architecture design is notoriously difficult to teach and to learn. Most competent architects in industry have deep knowledge won from long years of experience. But if we want architecture design to be methodical and repeatable, we need better methods for teaching it. Simply waiting for an aspiring architect to accumulate 10 or 20 years of experience is not acceptable if we believe that software engineering is a true engineering discipline that can be taught and learned in a reasonable time-frame.
In this workshop I will describe our experiences working with industry in the development of a game that aids in teaching architecture design, specifically design employing the Attribute-Driven Design (ADD) method. The game was not conceived of as a substitute for “traditional” instruction about design, but rather a complement to such instruction.
I will begin by discussing our goals for the game. Next I will describe our approach to creating the game, the fundamentals of ADD, and the “design concepts catalog” that provides the knowledge base for the game. And I will also discuss how we modularized the game mechanics—the rules and steps to follow—and separated this from the game content—the design concepts catalog, thus easing the creation of other similar games or updated versions of the Smart Decisions game.
In this workshop we will run a real game session where the attendees get to play the game in small groups. Following the game we will have a debrief wherein we discuss and compare our experiences. Finally, I will briefly report on our experiences with deploying the game, in several variants, in both academia and industry, and the assessments and feedback that we have received from our participants.
Incorporating CC2020 and SWECOM Competencies into Software Engineering Curricula
John Impagliazzo, Pierre Bourque, Nancy R. Mead
The rapid change in the computing field has motivated professional organizations to develop a new overview curricular document titled “Computing Curricula 2020” (CC2020). This project captures the status of computing education and practice. It also suggests new directions and paradigms for the future of computing education as it might evolve in the 2020s and beyond. The project and its subsequent report address the virtues of competency-based learning in contrast to knowledge-based learning, which ACM and IEEE have mostly promoted in their past curricular recommendations.
For the area of software engineering, a prior workshop held at CSEE&T 2017 became a catalyst for activities that began in the early part of 2018. A group of engaged participants have produced a set of draft software engineering competencies based on the SE2014 report. These draft competencies became a part of the CC2020 project and they should stimulate further refinement that could form a basis for a future software engineering curricular report as a successor to SE2014.
We, the authors of this tutorial, will present an overview of the CC2020 project, the elements of the software engineering competency model (SWECOM), and a summary of the software engineering draft competencies. We will also address industry expectations of software engineering graduates. Tutorial participants will engage in discussions on ways to refine existing CC2020 software engineering competencies using the CC2020 approach and SWECOM. They will also explore ways to prepare the software engineering community for new educational curricular guidelines for the future. We anticipate full audience involvement and participation in formulating this vision and look forward to discussing new ideas for the robust evolution of software engineering education.