{'fraction_non_alphanumeric': 0.009813542688910697, 'fraction_numerical': 0.0014720314033366045, 'mean_word_length': 5.663398692810458, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Exploring Experiential Learning Model and Risk Management Process for an Undergraduate Software Architecture Course

This paper shares our insights on exploring the experiential learning model and risk management process to design an undergraduate software architecture course. The key challenge for undergraduate students to appreciate software architecture design is usually their limited experience in the software industry. In software architecture, the high-level design principles are heuristics lacking the absoluteness of first principles which for inexperienced undergraduate students, this is a frustrating divergence from what they used to value. From an educator’s perspective, teaching software architecture requires contending with the problem of how to express this level of abstraction practically and also make the learning realistic. In this paper, we propose a model adapting the concepts of experiential learning and risk management to design the course on software architecture. The lesson plan promotes active learning with activities to observe how different parts of an information systems architecture work, experience the impact of real software quality issues or risks arise, reflect on the root causes of these risks, conceptualize and subsequently implement the countermeasure to mitigate the risk. We divide the course into first session conducted based on the traditional lecture format and second session based on our proposed experiential risk learning model. We evaluate the feedback ratings of 128 undergraduate students of an information system program for the two sessions and perform sentiment analysis on their comments. We also generalize the applicability of our experiential risk learning model to courses in other domains of software engineering. The key contribution of this paper is the experiential risk learning model. We hope that this model alleviates the challenge to design a software architecture course for undergraduates and can be used as another teaching method for active learning.