{'fraction_non_alphanumeric': 0.023014959723820484, 'fraction_numerical': 0.0011507479861910242, 'mean_word_length': 6.040485829959514, '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}}
Using Public and Free Platform-as-a-Service (PaaS) based Lightweight Projects for Software Architecture Education

Background: Software architecture is a crucial while significantly challenging topic in the computer science curriculum. Although “learning by doing” is widely advocated to address this topic's abstract and fuzzy nature, educators are still facing various difficulties in practice, especially including students' vicious circle of inexperience and the mental model dilemma in experiential learning. Aims: To help break the aforementioned vicious circle and mental model dilemma, this work aims to investigate our educational strategy of using lightweight projects with public and free PaaS resources (1) to help students accumulate architectural experience from the early stage and (2) to facilitate strengthening students' fundamental architecture knowledge. Method: To collect more empirical evidence, we conducted action research on our educational strategy across three undergraduate-curriculum courses for two years. In particular, we employed the Technology Acceptance Model (TAM) to validate how well students received such an educational strategy. Results: The students involved in the relevant coursework generally gave positive feedback with respect to learning theoretical concepts and a set of architectural patterns. Meanwhile, we also observed diverse learning curves for utilizing PaaS resources. Conclusions: Although there still exist PaaS-related limits, our educational strategy can foster students' experiential learning and collaborative learning in fundamental architecture courses. We believe that there are also potentials to extend our work to broader and advanced courses of software architecture.