Abstract

Distributed software system design is by nature an ill-defined or wicked problem. In order to learn to design them, the student must be presented with complex, open-ended problems for which there may be more than one correct solution. The decision-making strategies students acquired in previous courses are not effective when applied to large, complex problems of distributed systems. Students (novice designers) tend to think linearly and focus only on the problem at hand. They also tend to use trial-and-error strategies and they lack confidence in their design decisions. The purpose of the distributed systems' course is to create a learning approach that helps students to adopt and to apply expert design decision-making strategies. We use a case-based learning approach with classroom assessment techniques and rubrics to identify the critical weaknesses in the approaches that novices typically use when attempting to solve difficult design-oriented problems. The novice-oriented knowledge-based learning and application environment is supported by scaffoldings to incorporate expert strategies. In this paper, we describe the experience and the learning environment that provides the opportunities for professional development. We present and analyze our data comparing the students' outcomes over four terms, the time it takes to develop our students' expertise and how time spent with an expert (instructor) is crucial to an overall development.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.