UML Mentor: A Tool for Interactive and Collaborative Software Design Education
This lightning talk describes a homegrown digital educational tool, Unified Modeling Language Mentor (UML Mentor), that allows students to participate in software design challenges and create UML diagrams. Introducing design patterns in an undergraduate object-oriented software design course offers a unique opportunity to embed good design techniques, which can be transferred to real-world scenarios. UML Mentor encourages students to evaluate software design challenges from diverse perspectives by experimenting and reflecting through UML diagram creation. The software design challenges consist of a description, use cases, and expected functionality. Each challenge describes a program for which the students are expected to create a UML class diagram. Once students have completed creating the UML diagram for a challenge, they can post it for others to review. We recognize that providing feedback on UML diagrams can be time-consuming for CS educators, especially because there can be multiple valid design patterns acceptable for a challenge. As a result, in UML Mentor, students can collaborate and provide formative peer feedback through comments. To encourage community building and mentoring in the classroom, the original creator of a UML diagram can mark some peer comments as “helpful” to show gratitude towards the commentator. Our tool helps students build confidence in creating UML diagrams according to diverse design patterns and facilitates peer feedback. During the talk, we will do a walk-through of an example software design challenge, showcase implemented features, and gather participant input and critique on UML Mentor to improve and inform future releases.