{'fraction_non_alphanumeric': 0.02445163610212154, 'fraction_numerical': 0.013664149586479683, 'mean_word_length': 5.322727272727272, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, '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}}
Teaching modeling: a software perspective

In today’s technological environment, models play a major role in understanding the needs of businesses in a wide cross section of domains. These domains include safety-critical systems on one end to the social applications on the other end. The software applications that are created for these domains use different types of software process models which include some combination of the following phases. The phases are requirements elicitation and analysis; system and detailed design; development; and maintenance and evolution. To facilitate the activities in these different phases of the software process, several modeling languages have been developed during the past decade, including URN (User Requirements Notation – for requirements), BPMN (Business Process Model and Notation – for business process modeling) and the UML (Unified Modeling Language – for software development), among others. Although the use of models and modeling languages is gaining some traction in industry, their use is still limited. Arguably, a contributory factor limiting the use of modeling is the lack of appropriate educational resources and pedagogical techniques that introduce models in the classroom. Many computer science and software engineering curricula include some content on modeling software systems, which provide the basic building blocks for model-driven software development (MDSD), yet there is still a lack of penetration to bring modeling to the forefront of software development. Several modeling languages and tools have been created to support modeling in the past decades, however the research literature contains few reports on the impact these languages and tools have had on pedagogy to support software development. To remedy this situation, the Educator’s Symposium at the annual MODELS (Model Driven Engineering Languages and Systems) conference brings educators, researchers and practitioners together to highlight approaches that are working in the classroom and discuss the current state of tooling to support MDSD. In this special issue of the Journal of Computer Science Education, we present one invited paper and four papers related to teaching modeling from a software perspective, and a tribute to the late Dr. Robert B. France on his contributions to model-driven engineering and software engineering in education. The first paper is an invited paper by Martin Gogolla and Perdita Stevens that provides a provocative analogy of teaching modeling in computer science as an ecosystem. This paper is an extension of the keynote talk given by Dr. Gogolla at the 2017 edition of the Educator’s Symposium at MODELS. COMPUTER SCIENCE EDUCATION 2018, VOL. 28, NO. 1, 1–4 https://doi.org/10.1080/08993408.2018.1486535