ClassCompass Logo

ClassCompass

Overview
Documentation
Download
Software Practices Lab

Learning how to develop quality software designs requires both the acquisition of theory and the practice of skills under the guidance of an expert. Unfortunately, it is often the case that there are simply too few software design experts available to effectively mentor a class of software engineering students. In most cases, a single instructor can only provide time-delayed feedback on a limited number of students' designs.

We are developing a tool, called ClassCompass, which is intended to help teach software design more effectively. The tool combines automated mentoring with guided peer and expert review of software designs. The tool is intended to be used interactively in-class or asynchronously out-of-class.

When used in-class, students begin by using a class diagram editor to specify a design for a given problem. While they work, the tool automatically checks the design for common problems that could threaten the quality of the design. If such an issue is found, an automated critique is displayed that includes a description of the problem, rationale for how the issue might affect the quality of the design, and a suggestion of how to correct the issue. Users can choose to respond to the critique by updating the design, or ignore it.



The student client program while editing a design



Once the initial designs are complete, ClassCompass shuffles designs between students for manual critiquing. During this stage, each user applies pre-specified design principles to a peer's design to produce critiques. These manual critiques consist of a highlighted portion of the design structure and a text annotation. The instructor can also submit critiques of any student's design.



The instructor client program while submitting a critique of a design


After the critiquing phase, the tool will try to summarize the designs into categories to facilitate the instructor in leading a discussion with examples created by students. All designs and associated critiques can also be made available to all students to provide many examples from which they can gain experience.

After class, students can log on to review the designs and critiques from an in-class session. Project groups can also use ClassCompass out-of-class. Group members can create their designs using the tool to benefit from automatic critiquing and the manual critiques submitted by other group members.




For more information, contact Wesley Coelho.