Software Architecture, from definition to maintenance and evolution, is a complex aspect of software development and, consequently, a challenging subject when it comes to teaching it, and learning it. Many research efforts have been devoted to designing teaching approaches, strategies and tools. Most of them, however, focus on the knowledge itself and the ways to convey it to students, rather than on the different learning styles of students themselves. Teaching methods which predominantly rely on verbal and written communication, are very well aligned with some learning styles. However, students with learning styles that benefit more from physical activity or first-hand experience, need to defer to cognitive processes that are less natural to them. In this work, we propose an innovative use of role-playing as teaching strategy for architecture models of reference (i.e. layered, pipe and filter, client-server, etc.). This role-playing of different software architectures, in which students play the part of specific components in the system, intends to complement other classical teaching materials, such as in-person or recorded lectures, lab assignments, or development projects. Addressing all learning styles within a classroom is key to ensure that we favour and foster the students' different learning processes, and give everyone an even playfield in which to best develop their capabilities as Software Architects.
翻译:从定义到维护和进化,软件架构是一个复杂的软件开发问题,因此,在教学和学习软件方面是一个具有挑战性的主题。许多研究努力都致力于设计教学方法、战略和工具。然而,大多数研究努力都侧重于知识本身和向学生传播知识的方式,而不是学生本身不同的学习风格。主要依赖口头和书面交流的教学方法与某些学习风格非常吻合。然而,具有学习风格的学生,从体育活动或第一手经验中获益较多,需要遵从他们不那么自然的认知过程。在这项工作中,我们建议创新地使用角色扮演作为建筑参考模式(即分层、管道和过滤器、客户-服务器等)的教学战略。不同软件结构的角色扮演角色,学生在其中扮演系统具体组成部分的一部分,打算补充其他经典教学材料,如个人或记录讲座、实验室任务或发展项目。在课堂中处理所有学习风格是关键所在的关键,可以确保我们扶持和促进学生发展不同领域的学习能力,甚至使每个人发挥最佳的学习能力。</s>