{'fraction_non_alphanumeric': 0.015855039637599093, 'fraction_numerical': 0.0, 'mean_word_length': 5.748091603053435, '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}}
A Constructivist Approach to Teaching Software Processes

Recreating the context in which software processes are developed is difficult in the undergraduate classroom environment. As a result, traditional lecture-based teaching approaches do not necessarily translate into long-term understanding of software processes. To give students a deeper appreciation for the strengths and weaknesses of software process models, we designed the software process simulation game using constructivism as the underlying foundation. In this paper, we discuss the challenges associated with teaching software processes models, provide an overview of the game, detail its mechanics, and discuss the lessons learned from playing the game. Since the game does not involve actual programming or design activities, it can be used effectively for teaching both novice and experienced software engineers.