{"title":"Awesome Bug Manifesto: Teaching an Engaging and Inspiring Course on Software Testing (Position Paper)","authors":"N. Silvis-Cividjian","doi":"10.1109/SEENG53126.2021.00010","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00010","url":null,"abstract":"Although testing software is paramount to safeguard our digitizing society, students are reluctant to consider a career in the field. A reason could be that dedicated courses on software testing are rare. However, even when such a course exists, students perceive testing as a boring, unrewarding and even dogmatic chore. For more than 10 years, we have been teaching a software testing course at the Vrije Universiteit in Amsterdam. Driven by our belief that an abundant exposure to software bugs makes good testers, we experimented with many ideas to engage students and make them love the topic. The most unorthodox, yet effective interventions we are proud of, were: (1) to scare students by analyzing past, software-related accidents, such as Therac-25 or Boeing 737-MAX; (2) to thrill them using bug-hunting gamification, enabled by the in-house developed VU-BugZoo; (3) to trust them an end-to-end testing of safety-critical software- intensive systems, such as model trains, automatic insulin pumps and even radiotherapy facilities, and (4) to inspire their career, by opening a dialog with test professionals from industry. The result is a mature course, read yearly by 50 computer science graduates, where almost 80% of the participants find the topic interesting and challenging, and 40% consider a future carrier in testing. These positive results make us confident that we found a formula that works. In this position paper, we would like to share our innovative ideas and lessons learned. Also in the future, we will stay committed to educate enthusiastic and responsible software testers.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124531811","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Simon Dierl, Falk Howar, M. Mues, Stefan Naujokat, Till Schallau
{"title":"Do Away with the Frankensteinian Programs! A Proposal for a Genuine SE Education","authors":"Simon Dierl, Falk Howar, M. Mues, Stefan Naujokat, Till Schallau","doi":"10.1109/SEENG53126.2021.00012","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00012","url":null,"abstract":"It is widely accepted by now that the discipline of Software Engineering is distinct from both Computer Science and Electrical Engineering, and that it requires bespoke higher education programs. In this paper, we argue that previous attempts at designing such programs have often failed to fully account for three essential characteristics of the discipline. We propose a design philosophy for undergraduate Software Engineering programs addressing these particularities and outline a corresponding program. Incorporating this philosophy would make Generation Alpha the first generation to receive a genuine Software Engineering education.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121761588","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching Design by Contract using Snap!","authors":"M. Huisman, Raúl E. Monti","doi":"10.1109/SEENG53126.2021.00007","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00007","url":null,"abstract":"With the progress in deductive program verification research, new tools and techniques have become available to support design-by-contract reasoning about non-trivial programs written in widely-used programming languages. However, deductive program verification remains an activity for experts, with ample experience in programming, specification and verification. We would like to change this situation, by developing program verification techniques that are available to a larger audience. In this paper, we present how we developed prototypal program verification support for Snap!. Snap! is a visual programming language, aiming in particular at high school students. We added specification language constructs in a similar visual style, designed to make the intended semantics clear from the look and feel of the specification constructs. We provide support both for static and dynamic verification of Snap! programs. Special attention is given to the error messaging, to make this as intuitive as possible.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126275319","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Bhaveet Nagaria, Benjamin C. Evans, Ashley Mann, Mahir Arzoky
{"title":"Using an Instant Visual and Text Based Feedback Tool to Teach Path Finding Algorithms: A Concept","authors":"Bhaveet Nagaria, Benjamin C. Evans, Ashley Mann, Mahir Arzoky","doi":"10.1109/SEENG53126.2021.00009","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00009","url":null,"abstract":"Methods of teaching path finding algorithms, based purely on programming, provide an additional challenge to students. Indeed many courses use graphs and other visualisations to aid students in grasping concepts quickly. Globally we are rapidly altering our teaching tools to suit the current blended or remote learning style due to the global COVID-19 pandemic. We propose a method that provides instant feedback showing how their programmed path finding algorithm works based upon games. The tool will provide feedback to the student about their code quality. Along with an element of gamification we aim to improve both initial understanding and further exploration into the algorithms taught. This tool aims to provide useful feedback to students in the absence of immediate laboratory support and gives students the flexibility to conduct laboratory worksheets outside of scheduled laboratory slots. Position: Software tools and teaching assistants heavily assist undergraduate students in learning how to program. In developing enhanced software tools, we can provide immediate feedback to learners. Thus, allowing them to gain an initial understanding of the algorithm before facilitated sessions. This further enriches their experience and learning during contact hours with teaching assistants.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117149766","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Agile Iteration Reviews in a Project Course: A key to Improved Feedback and Assessment Practice","authors":"Torgeir Dingsøyr","doi":"10.1109/SEENG53126.2021.00011","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00011","url":null,"abstract":"Agile development is increasingly taught at universities worldwide. Project courses are redesigned in order to better fit these methods, both with respect to content taught and how courses are organised. This position paper builds on experience with reviews as a feedback practice in a bachelor level project course. Reviews are a key element in agile development, but there has been little discussion in the software engineering education literature on the role of such reviews in improving feedback and assessment. Through examples of course improvement work in a course with about 140 students in 24 teams, we show how review practices are tailored to better comply with principles of good feedback practice which intend to empower students and help self-regulate learning. We argue that reviews can provide formative assessment and improve the learning outcome. Finally, we conclude with five lessons learned from three years of continuous improvement.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127539170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adapting a Software Acquisition Curriculum to Instruct Supply Chain Risk Management in a Project-Based Software Development Course","authors":"B. Tenbergen, N. Mead","doi":"10.1109/SEENG53126.2021.00014","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00014","url":null,"abstract":"Project-Based Instruction has become a de-facto standard in many software engineering curricula. It engages the learner in critical thinking, fosters introspection, improves retention, and enables generalization of concepts to new engineering situations. However, as projects often focus on software construction, students tend to adopt third-party technologies without critical reflection. Such insufficient supply chain risk management (SCRM) throughout the project then threatens learning success, as students struggle to recover from inadequacies and vulnerabilities in the adopted technology. We therefore propose a capstone-style course structure to deliver an industry-realistic, project-based, and teamwork-centric software development approach. Using an existing SCRM curriculum, we add acquisition planning, bidding, and monitoring activities to an existing course design and assess learning outcomes.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122132414","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards the Use of Slice-based Cohesion Metrics with Learning Analytics to Assess Programming Skills","authors":"Max Kesselbacher, A. Bollin","doi":"10.1109/SEENG53126.2021.00008","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00008","url":null,"abstract":"In programming education, it makes a difference whether you are dealing with beginners or advanced students. As our future students will become even more tech-savvy, it is necessary to assess programming skills appropriately and quickly to protect them from boredom and optimally support the learning process. In this work, we advocate for the use of slice-based cohesion metrics to assess the process of program construction in a learning analytics setting. We argue that semantically related parts during program construction are an essential part of programming skills. Therefore, we propose using cohesion metrics on the level of variables to identify programmers’ trains of thought based on the cohesion of semantically related parts during program construction.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132963683","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Experiences and insights from using Github Classroom to support Project-Based Courses","authors":"M. Nelson, Lesandro Ponciano","doi":"10.1109/SEENG53126.2021.00013","DOIUrl":"https://doi.org/10.1109/SEENG53126.2021.00013","url":null,"abstract":"This work presents an approach for using GitHub classroom as a shared, structured, and persistent repository to support project-based courses at the Software Engineering Undergraduate program at PUC Minas, in Brazil. We discuss the needs of the different stakeholders that guided the development of the approach. Results on the perceptions of professors and students show that the approach brings benefits. Besides the lessons learned, we present insights on improving the education of the next generation of software engineers by employing metrics to monitor skill development, verifying student work portfolios, and employing tooling support in project-based courses.","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2021-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134359958","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"[Title page iii]","authors":"","doi":"10.1109/itme.2018.00002","DOIUrl":"https://doi.org/10.1109/itme.2018.00002","url":null,"abstract":"","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2018-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134541634","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"[Copyright notice]","authors":"","doi":"10.1109/seeng53126.2021.00003","DOIUrl":"https://doi.org/10.1109/seeng53126.2021.00003","url":null,"abstract":"","PeriodicalId":120062,"journal":{"name":"2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117139500","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}