软件产业与工程Pub Date : 2023-04-18DOI: 10.1109/ICSE-SEET58685.2023.00018
Isabella Graßl, G. Fraser
{"title":"The ABC of Pair Programming: Gender-dependent Attitude, Behavior and Code of Young Learners","authors":"Isabella Graßl, G. Fraser","doi":"10.1109/ICSE-SEET58685.2023.00018","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00018","url":null,"abstract":"Young learners are increasingly introduced to programming, and one of the main challenges for educators is to achieve learning success while also creating enthusiasm. As it is particularly difficult to achieve this enthusiasm initially in young females, prior work has identified gender-specific differences in the programming behavior of young learners. Since pair programming, which turns programming into a more sociable activity, has been proposed as an approach to support programming education, in this paper we aim to investigate whether similar gender-specific characteristics can also be observed during pair programming. Therefore, we designed a gender-neutral introductory SCRATCH programming course tailored for integrating pair programming principles, and conducted it with a total of 139 students aged between 8 and 14 years. To identify gender-dependent differences and similarities, we measure the attitude towards programming and the course setting, observe the behavior of the students while programming, and analyze the code of the programs for different gender-combinations. Overall, our study demonstrates that pair programming is well suited for young learners and results in a positive attitude. While the resulting programs are similar in quality and complexity independent of gender, differences are evident when it comes to the compliance to pair programming roles, the exploration of code, and the creative customization of programs. These findings contribute to an in-depth understanding of social and technical gender specifics of pair programming, and provide educators with resources and guidance for implementing gender-sensitive pair programming in the classroom.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"74 1","pages":"115-127"},"PeriodicalIF":0.0,"publicationDate":"2023-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79999311","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}
软件产业与工程Pub Date : 2023-03-07DOI: 10.1109/ICSE-SEET58685.2023.00009
Wajdi Aljedaani, Mohamed Wiem Mkaouer, Anthony Peruma, S. Ludi
{"title":"Do the Test Smells Assertion Roulette and Eager Test Impact Students’ Troubleshooting and Debugging Capabilities?","authors":"Wajdi Aljedaani, Mohamed Wiem Mkaouer, Anthony Peruma, S. Ludi","doi":"10.1109/ICSE-SEET58685.2023.00009","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00009","url":null,"abstract":"To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test cases are subject to bad programming practices, known as test smells, that hurt maintenance activities. An essential part of most maintenance activities is program comprehension which involves developers reading the code to understand its behavior to fix issues or update features. In this study, we conduct a controlled experiment with 96 undergraduate computer science students to investigate the impact of two common types of test smells, namely Assertion Roulette and Eager Test, on a student’s ability to debug and troubleshoot test case failures. Our findings show that students take longer to correct errors in production code when smells are present in their associated test cases, especially Assertion Roulette. We envision our findings supporting academia in better equipping students with the knowledge and resources in writing and maintaining high-quality test cases. Our experimental materials are available online11https://wajdialjedaani.github.io/testsmellstd/","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"4 1","pages":"29-39"},"PeriodicalIF":0.0,"publicationDate":"2023-03-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90559216","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}
软件产业与工程Pub Date : 2023-02-11DOI: 10.1109/ICSE-SEET58685.2023.00023
E. Alomar, Salma Alomar, Mohamed Wiem Mkaouer
{"title":"On the use of static analysis to engage students with software quality improvement: An experience with PMD","authors":"E. Alomar, Salma Alomar, Mohamed Wiem Mkaouer","doi":"10.1109/ICSE-SEET58685.2023.00023","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00023","url":null,"abstract":"Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and potentially avoid these code anti-patterns. However, little is known about their effectiveness in raising students’ awareness, given that these linters tend to generate a large number of false positives. To increase the awareness of potential coding issues that violate coding standards, in this paper, we aim to reflect on our experience with teaching the use of static analysis for the purpose of evaluating its effectiveness in helping students with respect to improving software quality. This paper discusses the results of an experiment in the classroom, over a period of 3 academic semesters, involving 65 submissions that carried out code review activity of 690 rules using PMD. The results of the quantitative and qualitative analysis show that the presence of a set of PMD quality issues influences the acceptance or rejection of the issues, design, and best practices-related categories that take longer time to be resolved, and students acknowledge the potential of using static analysis tools during code review. Through this experiment, code review can turn into a vital part of the educational computing plan. We envision our findings enabling educators to support students with code review strategies in order to raise students’ awareness about static analysis tools and scaffold their coding skills.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"67 1","pages":"179-191"},"PeriodicalIF":0.0,"publicationDate":"2023-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86851913","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}
软件产业与工程Pub Date : 2023-02-11DOI: 10.1109/ICSE-SEET58685.2023.00022
Samuel Ferino, M. Fernandes, Elder Cirilo, Lucas Agnez, B. Batista, U. Kulesza, E. Aranha, Christoph Treude
{"title":"Overcoming Challenges in DevOps Education through Teaching Method","authors":"Samuel Ferino, M. Fernandes, Elder Cirilo, Lucas Agnez, B. Batista, U. Kulesza, E. Aranha, Christoph Treude","doi":"10.1109/ICSE-SEET58685.2023.00022","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00022","url":null,"abstract":"DevOps is a set of practices that deals with coordination between development and operation teams and ensures rapid and reliable new software releases that are essential in industry. DevOps education assumes the vital task of preparing new professionals in these practices using appropriate teaching methods. However, there are insufficient studies investigating teaching methods in DevOps. We performed an analysis based on interviews to identify teaching methods and their relationship with DevOps educational challenges. Our findings show that project-based learning and collaborative learning are emerging as the most relevant teaching methods.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"36 1","pages":"166-178"},"PeriodicalIF":0.0,"publicationDate":"2023-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87215742","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}
软件产业与工程Pub Date : 2023-02-11DOI: 10.1109/ICSE-SEET58685.2023.00025
Chetan Arora, Laura Tubino, A. Cain, K. Lee, V. Malhotra
{"title":"Persona-based Assessment of Software Engineering Student Research Projects: An Experience Report","authors":"Chetan Arora, Laura Tubino, A. Cain, K. Lee, V. Malhotra","doi":"10.1109/ICSE-SEET58685.2023.00025","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00025","url":null,"abstract":"Students enrolled in software engineering degrees are generally required to undertake a research project in their final year through which they demonstrate the ability to conduct research, communicate outcomes, and build in-depth expertise in an area. Assessment in these projects typically involves evaluating the product of their research via a thesis or a similar artifact. However, this misses a range of other factors that go into producing successful software engineers and researchers. Incorporating aspects such as process, attitudes, project complexity, and supervision support into the assessment can provide a more holistic evaluation of the performance likely to better align with the intended learning outcomes. In this paper, we present on our experience of adopting an innovative assessment approach to enhance learning outcomes and research performance in our software engineering research projects. Our approach adopted a task-oriented approach to portfolio assessment that incorporates student personas, frequent formative feedback, delayed summative grading, and standards-aligned outcomes-based assessment. We report upon our continuous improvement journey in adapting tasks and criteria to address the challenges of assessing student research projects. Our lessons learnt demonstrate the value of personas to guide the development of holistic rubrics, giving meaning to grades and focusing staff and student attention on attitudes and skills rather than a product only.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"318 1","pages":"198-209"},"PeriodicalIF":0.0,"publicationDate":"2023-02-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77546627","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}
软件产业与工程Pub Date : 2023-02-10DOI: 10.1109/ICSE-SEET58685.2023.00029
Nowshin Nawar Arony, Kezia Devathasan, Ze Shi Li, D. Damian
{"title":"Leveraging Diversity in Software Engineering Education through Community Engaged Learning and a Supportive Network","authors":"Nowshin Nawar Arony, Kezia Devathasan, Ze Shi Li, D. Damian","doi":"10.1109/ICSE-SEET58685.2023.00029","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00029","url":null,"abstract":"While a lack of diversity is a longstanding problem in computer science and engineering, universities and organizations continue to look for solutions to this issue. Among the first of its kind, we launched INSPIRE: STEM for Social Impact, a program at the University of Victoria, Canada, aimed to motivate and empower students from underrepresented groups in computer science and engineering to develop digital solutions for society impactful projects by engaging in experiential learning projects with identified community-partners. The twenty-four students in the program came from diverse backgrounds in terms of academic areas of study, genders, ethnicities, and levels of technical and educational experience. Working with six community partners, these students spent four months learning and developing solutions for a societal and/or environmental problem with potential for local and global impacts. Our experiences indicate that working in a diverse team with real clients on solving pressing issues produces a sense of competence, relatedness, and autonomy which are the basis of self-determination theory. Due to the unique structure of this program, the three principles of self-determination theory emerged through different experiences, ultimately motivating the students to build a network of likeminded people. The importance of such a network is profound in empowering students to succeed and, in retrospect, remain in software engineering fields. We address the diversity problem by providing diverse, underrepresented students with a safe and like-minded environment where they can learn and realize their full potential. Hence, in this paper, we describe the program design, experiences, and lessons learned from this approach. We also provide recommendations for universities and organizations that may want to adapt our approach.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"11 1","pages":"247-258"},"PeriodicalIF":0.0,"publicationDate":"2023-02-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89561505","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}
软件产业与工程Pub Date : 2023-02-10DOI: 10.1109/ICSE-SEET58685.2023.00027
Ze Shi Li, Nowshin Nawar Arony, Kezia Devathasan, D. Damian
{"title":"“Software is the easy part of Software Engineering” - Lessons and Experiences from A Large-Scale, Multi-Team Capstone Course","authors":"Ze Shi Li, Nowshin Nawar Arony, Kezia Devathasan, D. Damian","doi":"10.1109/ICSE-SEET58685.2023.00027","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00027","url":null,"abstract":"Capstone courses in undergraduate software engineering are a critical final milestone for students. These courses allow students to create a software solution and demonstrate the knowledge they accumulated in their degrees. However, a typical capstone project team is small containing no more than 5 students and function independently from other teams. To better reflect real-world software development and meet industry demands, we introduce in this paper our novel capstone course. Each student was assigned to a large-scale, multi-team (i.e., company) of up to 20 students to collaboratively build software. Students placed in a company gained first-hand experiences with respect to multi-team coordination, integration, communication, agile, and teamwork to build a microservices based project. Furthermore, each company was required to implement plug-and-play so that their services would be compatible with another company, thereby sharing common APIs. Through developing the product in autonomous sub-teams, the students enhanced not only their technical abilities but also their soft skills such as communication and coordination. More importantly, experiencing the challenges that arose from the multi-team project trained students to realize the pitfalls and advantages of organizational culture. Among many lessons learned from this course experience, students learned the critical importance of building team trust. We provide detailed information about our course structure, lessons learned, and propose recommendations for other universities and programs. Our work concerns educators interested in launching similar capstone projects so that students in other institutions can reap the benefits of large-scale, multi-team development.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"1 1","pages":"223-234"},"PeriodicalIF":0.0,"publicationDate":"2023-02-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"86612241","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}
软件产业与工程Pub Date : 2023-02-02DOI: 10.1109/ICSE-SEET58685.2023.00015
F. Lanubile, Silverio Mart'inez-Fern'andez, L. Quaranta
{"title":"Teaching MLOps in Higher Education through Project-Based Learning","authors":"F. Lanubile, Silverio Mart'inez-Fern'andez, L. Quaranta","doi":"10.1109/ICSE-SEET58685.2023.00015","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00015","url":null,"abstract":"Building and maintaining production-grade ML-enabled components is a complex endeavor that goes beyond the current approach of academic education, focused on the optimization of ML model performance in the lab. In this paper, we present a project-based learning approach to teaching MLOps, focused on the demonstration and experience with emerging practices and tools to automatize the construction of ML-enabled components. We examine the design of a course based on this approach, including laboratory sessions that cover the end-to-end ML component life cycle, from model building to production deployment. Moreover, we report on preliminary results from the first edition of the course. During the present year, an updated version of the same course is being delivered in two independent universities; the related learning outcomes will be evaluated to analyze the effectiveness of project-based learning for this specific subject.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"73 1","pages":"95-100"},"PeriodicalIF":0.0,"publicationDate":"2023-02-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75531207","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}
软件产业与工程Pub Date : 2023-01-26DOI: 10.1109/ICSE-SEET58685.2023.00031
Maria Tigina, Anastasiia Birillo, Yaroslav Golubev, H. Keuning, Nikolay Vyahhi, T. Bryksin
{"title":"Analyzing the Quality of Submissions in Online Programming Courses","authors":"Maria Tigina, Anastasiia Birillo, Yaroslav Golubev, H. Keuning, Nikolay Vyahhi, T. Bryksin","doi":"10.1109/ICSE-SEET58685.2023.00031","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00031","url":null,"abstract":"Programming education should aim to provide students with a broad range of skills that they will later use while developing software. An important aspect in this is their ability to write code that is not only correct but also of high quality. Unfortunately, this is difficult to control in the setting of a massive open online course. In this paper, we carry out an analysis of the code quality of submissions from JetBrains Academy — a platform for studying programming in an industry-like project-based setting with an embedded code quality assessment tool called Hyperstyle. We analyzed more than a million Java submissions and more than 1.3 million Python submissions, studied the most prevalent types of code quality issues and the dynamics of how students fix them. We provide several case studies of different issues, as well as an analysis of why certain issues remain unfixed even after several attempts. Also, we studied abnormally long sequences of submissions, in which students attempted to fix code quality issues after passing the task. Our results point the way towards the improvement of online courses, such as making sure that the task itself does not incentivize students to write code poorly.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"1 1","pages":"271-282"},"PeriodicalIF":0.0,"publicationDate":"2023-01-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80822203","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}
软件产业与工程Pub Date : 2023-01-17DOI: 10.1109/ICSE-SEET58685.2023.00014
Saara Tenhunen, T. Männistö, Petri Ihantola, Jami Kousa, Matti Luukkainen
{"title":"Software startup within a university – producing industry-ready graduates","authors":"Saara Tenhunen, T. Männistö, Petri Ihantola, Jami Kousa, Matti Luukkainen","doi":"10.1109/ICSE-SEET58685.2023.00014","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00014","url":null,"abstract":"Previous research has demonstrated that preparing students for life in software engineering is not a trivial task. Authentic learning experiences are challenging to provide, and there are gaps between what students have done at the university and what they are expected to master when getting into the industry after graduation. To address this challenge, we present a novel way of teaching industry-relevant skills in a university-led internal software startup called Software Development Academy (SDA). In addition to describing the SDA concept in detail, we have investigated what educational aspects characterise SDA and how it compares to capstone projects. The questions are answered based on 15 semi-structured interviews with alumni of SDA. Working with production-quality software and having a wide range of responsibilities were perceived as the most integral aspects of SDA and provided students with a comprehensive skill set for the future.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"1 1","pages":"82-94"},"PeriodicalIF":0.0,"publicationDate":"2023-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74664096","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}