首页 > 最新文献

软件产业与工程最新文献

英文 中文
Cognitive Reflection in Software Verification and Testing 软件验证与测试中的认知反射
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00006
K. Buffardi
Verifying whether code meets its specifications requires critical thinking and analysis. However, cognitive biases may influence how well software engineers verify and test code. In this paper, I explore cognitive reflection and its association with accurately verifying code via both manual inspection and unit testing. In a two-phase exploratory study of Software Engineering undergraduate students (n=140), I examined their performance on Cognitive Reflection Tests (CRT), manual verification of function implementations, and the accuracy of unit test suites. The first phase found no relationship between CRT and unit test accuracy. However, the higher a student’s CRT score, the more likely they were to reject a defective implementation when inspecting it manually (p<0.0001, 95% CI 1.56-4.50). The second phase replicated the outcomes on an alternate version of the CRT and on a different unit test assignment, revealing a positive correlation between CRT and recognizing defects manually ($rho$=0.478, p<0.01). I conclude that cognitive reflection is associated with software engineering students’ aptitude at identifying defects, but is not associated with their affirmation of algorithms without defects, nor with the accuracy of their unit tests.
验证代码是否符合规范需要批判性思维和分析。然而,认知偏差可能会影响软件工程师验证和测试代码的能力。在本文中,我探索了认知反射及其与通过手工检查和单元测试准确验证代码的关联。在一项针对软件工程本科学生(n=140)的两阶段探索性研究中,我检查了他们在认知反射测试(CRT)、功能实现的手动验证以及单元测试套件的准确性方面的表现。第一阶段发现CRT和单元测试精度之间没有关系。然而,学生的CRT分数越高,在手工检查时,他们越有可能拒绝有缺陷的实现(p<0.0001, 95% CI 1.56-4.50)。第二阶段在CRT的替代版本和不同的单元测试分配上复制了结果,揭示了CRT和手动识别缺陷之间的正相关关系($rho$=0.478, p<0.01)。我的结论是,认知反射与软件工程学生识别缺陷的能力有关,但与他们对没有缺陷的算法的肯定无关,也与他们的单元测试的准确性无关。
{"title":"Cognitive Reflection in Software Verification and Testing","authors":"K. Buffardi","doi":"10.1109/ICSE-SEET58685.2023.00006","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00006","url":null,"abstract":"Verifying whether code meets its specifications requires critical thinking and analysis. However, cognitive biases may influence how well software engineers verify and test code. In this paper, I explore cognitive reflection and its association with accurately verifying code via both manual inspection and unit testing. In a two-phase exploratory study of Software Engineering undergraduate students (n=140), I examined their performance on Cognitive Reflection Tests (CRT), manual verification of function implementations, and the accuracy of unit test suites. The first phase found no relationship between CRT and unit test accuracy. However, the higher a student’s CRT score, the more likely they were to reject a defective implementation when inspecting it manually (p<0.0001, 95% CI 1.56-4.50). The second phase replicated the outcomes on an alternate version of the CRT and on a different unit test assignment, revealing a positive correlation between CRT and recognizing defects manually ($rho$=0.478, p<0.01). I conclude that cognitive reflection is associated with software engineering students’ aptitude at identifying defects, but is not associated with their affirmation of algorithms without defects, nor with the accuracy of their unit tests.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"2 1","pages":"1-10"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88751555","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}
引用次数: 0
BARA: A Dynamic State-based Serious Game for Teaching Requirements Elicitation BARA:基于动态状态的教学需求激发严肃游戏
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00020
Yu Liu, Tong Li, Zheqing Huang, Zhen Yang
Teaching requirements elicitation to students who do not have practical experience is challenging, as they usually cannot understand the difficulty. Several recent studies have reported their experience of teaching requirements elicitation with a serious game. However, in these games, the fictitious characters have not been carefully designed to reflect real scenarios. For example, they always respond the same no matter how many times a learner interacts with them. Moreover, most existing serious games contain only one specific scenario and cannot be easily extended to cover various cases. In this paper, we design and implement a dynamic state-based serious game (BARA) for teaching requirements elicitation, which can realistically simulate real-world scenarios and automatically record learners’ actions for assessment. Specifically, we model fictitious characters’ behaviors using finite-state machines in order to precisely characterize the dynamic states of stakeholders. We also developed an easy-to-use editor for non-programmers to design fictitious characters and thus construct various simulated scenarios. Finally, BARA records learners’ actions during the game, based on which we can gain an in-depth understanding of learners’ performance and our teaching effectiveness. We evaluated BARA with 60 participants using a simulated scenario. The result shows that most participants are immersed in BARA and can reasonably complete the requirements elicitation task within the simulated scenario.
对没有实践经验的学生进行教学要求的启发是具有挑战性的,因为他们通常无法理解其中的困难。最近的几项研究报告了他们用严肃游戏进行教学需求启发的经验。然而,在这些游戏中,虚构的角色并没有经过精心设计来反映真实的场景。例如,无论学习者与它们互动多少次,它们的反应总是一样的。此外,大多数现有的严肃游戏只包含一个特定的场景,无法轻易扩展到各种情况。本文设计并实现了一个基于动态状态的教学需求激发游戏(BARA),该游戏能够真实地模拟现实场景,并自动记录学习者的行为以供评估。具体来说,我们使用有限状态机对虚拟角色的行为进行建模,以精确表征利益相关者的动态状态。我们还开发了一个易于使用的编辑器,供非程序员设计虚拟角色,从而构建各种模拟场景。最后,BARA记录了学习者在游戏过程中的动作,根据这些动作,我们可以深入了解学习者的表现和我们的教学效果。我们使用模拟场景对60名参与者进行BARA评估。结果表明,大多数参与者都沉浸在BARA中,能够合理地完成模拟场景中的需求引出任务。
{"title":"BARA: A Dynamic State-based Serious Game for Teaching Requirements Elicitation","authors":"Yu Liu, Tong Li, Zheqing Huang, Zhen Yang","doi":"10.1109/ICSE-SEET58685.2023.00020","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00020","url":null,"abstract":"Teaching requirements elicitation to students who do not have practical experience is challenging, as they usually cannot understand the difficulty. Several recent studies have reported their experience of teaching requirements elicitation with a serious game. However, in these games, the fictitious characters have not been carefully designed to reflect real scenarios. For example, they always respond the same no matter how many times a learner interacts with them. Moreover, most existing serious games contain only one specific scenario and cannot be easily extended to cover various cases. In this paper, we design and implement a dynamic state-based serious game (BARA) for teaching requirements elicitation, which can realistically simulate real-world scenarios and automatically record learners’ actions for assessment. Specifically, we model fictitious characters’ behaviors using finite-state machines in order to precisely characterize the dynamic states of stakeholders. We also developed an easy-to-use editor for non-programmers to design fictitious characters and thus construct various simulated scenarios. Finally, BARA records learners’ actions during the game, based on which we can gain an in-depth understanding of learners’ performance and our teaching effectiveness. We evaluated BARA with 60 participants using a simulated scenario. The result shows that most participants are immersed in BARA and can reasonably complete the requirements elicitation task within the simulated scenario.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"20 6 Pt 1 1","pages":"141-152"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90393315","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}
引用次数: 0
Improving Assessment of Programming Pattern Knowledge through Code Editing and Revision 通过代码编辑和修订改进对编程模式知识的评估
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00012
Sara Nurollahian, Anna N. Rafferty, E. Wiese
How well do code-writing tasks measure students’ knowledge of programming patterns and anti-patterns? How can we assess this knowledge more accurately? To explore these questions, we surveyed 328 intermediate CS students and measured their performance on different types of tasks, including writing code, editing someone else’s code, and, if applicable, revising their own alternatively-structured code. Our tasks targeted returning a Boolean expression and using unique code within an if and else.We found that code writing sometimes under-estimated student knowledge. For tasks targeting returning a Boolean expression, over 55% of students who initially wrote with non-expert structure successfully revised to expert structure when prompted - even though the prompt did not include guidance on how to improve their code. Further, over 25% of students who initially wrote non-expert code could properly edit someone else’s non-expert code to expert structure. These results show that non-expert code is not a reliable indicator of deep misconceptions about the structure of expert code. Finally, although code writing is correlated with code editing, the relationship is weak: a model with code writing as the sole predictor of code editing explains less than 15% of the variance. Model accuracy improves when we include additional predictors that reflect other facets of knowledge, namely the identification of expert code and selection of expert code as more readable than non-expert code. Together, these results indicate that a combination of code writing, revising, editing, and identification tasks can provide a more accurate assessment of student knowledge of programming patterns than code writing alone.
代码编写任务在多大程度上衡量了学生对编程模式和反模式的知识?我们如何才能更准确地评估这些知识?为了探索这些问题,我们调查了328名中级CS学生,并测量了他们在不同类型任务上的表现,包括编写代码,编辑别人的代码,以及(如果适用的话)修改自己的替代结构代码。我们的任务的目标是返回一个布尔表达式,并在if和else中使用唯一的代码。我们发现编写代码有时低估了学生的知识。对于以返回布尔表达式为目标的任务,超过55%最初使用非专家结构编写的学生在提示下成功地修改为专家结构——即使提示不包括如何改进代码的指导。此外,超过25%最初编写非专业代码的学生可以正确地将其他人的非专业代码编辑成专家结构。这些结果表明,非专家代码并不是对专家代码结构存在深刻误解的可靠指标。最后,尽管代码编写与代码编辑相关,但这种关系很弱:将代码编写作为代码编辑的唯一预测因子的模型解释了不到15%的方差。当我们包含反映知识的其他方面的额外预测因子时,即专家代码的识别和专家代码的选择比非专家代码更具可读性,模型的准确性就会提高。总之,这些结果表明,代码编写、修改、编辑和识别任务的组合可以比单独编写代码更准确地评估学生的编程模式知识。
{"title":"Improving Assessment of Programming Pattern Knowledge through Code Editing and Revision","authors":"Sara Nurollahian, Anna N. Rafferty, E. Wiese","doi":"10.1109/ICSE-SEET58685.2023.00012","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00012","url":null,"abstract":"How well do code-writing tasks measure students’ knowledge of programming patterns and anti-patterns? How can we assess this knowledge more accurately? To explore these questions, we surveyed 328 intermediate CS students and measured their performance on different types of tasks, including writing code, editing someone else’s code, and, if applicable, revising their own alternatively-structured code. Our tasks targeted returning a Boolean expression and using unique code within an if and else.We found that code writing sometimes under-estimated student knowledge. For tasks targeting returning a Boolean expression, over 55% of students who initially wrote with non-expert structure successfully revised to expert structure when prompted - even though the prompt did not include guidance on how to improve their code. Further, over 25% of students who initially wrote non-expert code could properly edit someone else’s non-expert code to expert structure. These results show that non-expert code is not a reliable indicator of deep misconceptions about the structure of expert code. Finally, although code writing is correlated with code editing, the relationship is weak: a model with code writing as the sole predictor of code editing explains less than 15% of the variance. Model accuracy improves when we include additional predictors that reflect other facets of knowledge, namely the identification of expert code and selection of expert code as more readable than non-expert code. Together, these results indicate that a combination of code writing, revising, editing, and identification tasks can provide a more accurate assessment of student knowledge of programming patterns than code writing alone.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"34 1","pages":"58-69"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78028576","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}
引用次数: 1
A Theorem Proving Approach to Programming Language Semantics 程序设计语言语义的定理证明方法
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00021
Subhajit Roy
The semantics of programming languages is one of the core topics in computer science. This topic is formalism-heavy and requires the student to attempt numerous proofs for a deep understanding. We argue that modern theorem provers are excellent aids to teaching and understanding programming language semantics. As pen-and-paper proofs get automated via the theorem prover, it allows an experiment-driven strategy at exploring this topic. This article provides an encoding of the semantics of the WHILE language in the most popular styles—operational, denotational, and axiomatic—within the F* proof assistant. We show that once the program and its semantics are encoded, modern proof assistants can prove exciting language features with minimal human assistance. We believe that teaching programming languages via proof assistants will not only provide a more concrete understanding of this topic but also prepare future programming language researchers to use theorem provers as fundamental tools in their research and not as an afterthought.
程序设计语言的语义是计算机科学的核心问题之一。这个主题是形式主义的,需要学生尝试大量的证明来深入理解。我们认为,现代定理证明是教学和理解编程语言语义的优秀辅助工具。随着纸笔证明通过定理证明器实现自动化,它允许在探索这个主题时采用实验驱动的策略。本文提供了在F* proof助手中以最流行的样式(操作式、表意式和公理式)对WHILE语言的语义进行编码。我们表明,一旦程序及其语义被编码,现代证明助手可以用最少的人工帮助证明令人兴奋的语言特征。我们相信,通过证明助手教授编程语言不仅可以提供对该主题更具体的理解,还可以为未来的编程语言研究人员做好准备,将定理证明作为他们研究的基本工具,而不是事后的想法。
{"title":"A Theorem Proving Approach to Programming Language Semantics","authors":"Subhajit Roy","doi":"10.1109/ICSE-SEET58685.2023.00021","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00021","url":null,"abstract":"The semantics of programming languages is one of the core topics in computer science. This topic is formalism-heavy and requires the student to attempt numerous proofs for a deep understanding. We argue that modern theorem provers are excellent aids to teaching and understanding programming language semantics. As pen-and-paper proofs get automated via the theorem prover, it allows an experiment-driven strategy at exploring this topic. This article provides an encoding of the semantics of the WHILE language in the most popular styles—operational, denotational, and axiomatic—within the F* proof assistant. We show that once the program and its semantics are encoded, modern proof assistants can prove exciting language features with minimal human assistance. We believe that teaching programming languages via proof assistants will not only provide a more concrete understanding of this topic but also prepare future programming language researchers to use theorem provers as fundamental tools in their research and not as an afterthought.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"21 1","pages":"153-165"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80056736","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}
引用次数: 0
Are you cloud-certified? Preparing Computing Undergraduates for Cloud Certification with Experiential Learning 你有云认证吗?通过体验式学习为计算机本科生准备云认证
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00011
Eng Lieh Ouh, B. Gan
Cloud Computing skills have been increasing in demand. Many software engineers are learning these skills and taking cloud certification examinations to be job competitive. Preparing undergraduates to be cloud-certified remains challenging as cloud computing is a relatively new topic in the computing curriculum, and many of these certifications require working experience. In this paper, we report our experiences designing a course with experiential learning to prepare our computing undergraduates to take the cloud certification. We adopt a university project-based experiential learning framework to engage industry partners who provide project requirements for students to develop cloud solutions and an experiential risk learning model to design the course contents. We prepare these students to take on the Amazon Web Services Solution Architect - Associate (AWS-SAA) while doing the course. We do this over 3 semester terms and report our findings before and after our design with experiential learning. We are motivated by the students’ average 93% passing rates over the terms. Even when the certification is taken out of the graded components, we still see an encouraging 89% participation rate. The quantitative feedback shows increased ratings across the survey questions compared to before experiential learning. We acknowledge concerns about the students’ heavy workload and increased administrative efforts for the faculty members. We summarise our approach with actionable weekly topics, activities and takeaways. We hope this experience report can help other educators design cloud computing content and certifications for computing students in software engineering.
云计算技能的需求一直在增长。许多软件工程师正在学习这些技能,并参加云认证考试,以提高工作竞争力。由于云计算在计算机课程中是一个相对较新的主题,而且许多这些认证都需要工作经验,因此为本科生准备云认证仍然具有挑战性。在本文中,我们报告了我们设计一门体验式学习课程的经验,以准备我们的计算机本科生参加云认证。我们采用基于大学项目的体验式学习框架,与行业合作伙伴合作,为学生提供项目需求以开发云解决方案,并采用体验式风险学习模型来设计课程内容。我们为这些学生准备了亚马逊网络服务解决方案架构师助理(AWS-SAA),同时做课程。我们用三个学期的时间来完成这个过程,并通过体验式学习来报告我们在设计前后的发现。我们的动力来自于学生在整个学期中平均93%的通过率。即使将认证从评分部分中剔除,我们仍然看到令人鼓舞的89%的参与率。定量反馈显示,与体验式学习之前相比,调查问题的评分有所提高。我们对学生繁重的课业和教师管理工作的增加表示关注。我们用每周可操作的主题、活动和要点来总结我们的方法。我们希望这份体验报告可以帮助其他教育工作者为软件工程专业的计算机学生设计云计算内容和认证。
{"title":"Are you cloud-certified? Preparing Computing Undergraduates for Cloud Certification with Experiential Learning","authors":"Eng Lieh Ouh, B. Gan","doi":"10.1109/ICSE-SEET58685.2023.00011","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00011","url":null,"abstract":"Cloud Computing skills have been increasing in demand. Many software engineers are learning these skills and taking cloud certification examinations to be job competitive. Preparing undergraduates to be cloud-certified remains challenging as cloud computing is a relatively new topic in the computing curriculum, and many of these certifications require working experience. In this paper, we report our experiences designing a course with experiential learning to prepare our computing undergraduates to take the cloud certification. We adopt a university project-based experiential learning framework to engage industry partners who provide project requirements for students to develop cloud solutions and an experiential risk learning model to design the course contents. We prepare these students to take on the Amazon Web Services Solution Architect - Associate (AWS-SAA) while doing the course. We do this over 3 semester terms and report our findings before and after our design with experiential learning. We are motivated by the students’ average 93% passing rates over the terms. Even when the certification is taken out of the graded components, we still see an encouraging 89% participation rate. The quantitative feedback shows increased ratings across the survey questions compared to before experiential learning. We acknowledge concerns about the students’ heavy workload and increased administrative efforts for the faculty members. We summarise our approach with actionable weekly topics, activities and takeaways. We hope this experience report can help other educators design cloud computing content and certifications for computing students in software engineering.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"1 1","pages":"46-57"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89712484","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}
引用次数: 0
Factors Affecting Compilable State at Each Keystroke in CS1 影响CS1中每次击键时可编译状态的因素
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00036
Steven Scott, Arto Hellas, Juho Leinonen, John Edwards
In this paper, we analyze keystroke log data from two introductory programming courses from two distinct contexts to investigate the proportion of events that compile, how this relates to contextual factors, the progression of programs, and academic outcomes. We find that, as students write their programs, frequency of compile and run events increases as does the proportion of events that compile. We also find a spike in the number of compile and run events as a program nears completion, that the proportion of events that compile varies by assignment, length of program, and programming context, that real-time IDE error diagnostics lead to higher proportion of events that are in compilable state, and that a student’s awareness of their compilable state is correlated with exam score while the amount of time they spend in an uncompilable state is not. Among the practical implications of our work are the fact that researchers cannot rely on frequency of compilation remaining constant through an assignment and a call to researchers and practitioners to design pedagogies that enhance student awareness of their compilable state.
在本文中,我们从两种不同的环境中分析了两门编程入门课程的击键日志数据,以调查编译事件的比例,以及这与环境因素、程序进度和学术成果的关系。我们发现,当学生编写程序时,编译和运行事件的频率随着编译事件的比例的增加而增加。我们还发现,当程序接近完成时,编译和运行事件的数量会出现峰值,编译事件的比例会因分配、程序长度和编程上下文而变化,实时IDE错误诊断导致处于可编译状态的事件比例更高,学生对其可编译状态的认知与考试分数相关,而他们在不可编译状态中花费的时间则与此无关。我们工作的实际意义之一是,研究人员不能依赖于通过分配和呼吁研究人员和实践者设计提高学生对其可编译状态的意识的教学方法来保持编译频率不变。
{"title":"Factors Affecting Compilable State at Each Keystroke in CS1","authors":"Steven Scott, Arto Hellas, Juho Leinonen, John Edwards","doi":"10.1109/ICSE-SEET58685.2023.00036","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00036","url":null,"abstract":"In this paper, we analyze keystroke log data from two introductory programming courses from two distinct contexts to investigate the proportion of events that compile, how this relates to contextual factors, the progression of programs, and academic outcomes. We find that, as students write their programs, frequency of compile and run events increases as does the proportion of events that compile. We also find a spike in the number of compile and run events as a program nears completion, that the proportion of events that compile varies by assignment, length of program, and programming context, that real-time IDE error diagnostics lead to higher proportion of events that are in compilable state, and that a student’s awareness of their compilable state is correlated with exam score while the amount of time they spend in an uncompilable state is not. Among the practical implications of our work are the fact that researchers cannot rely on frequency of compilation remaining constant through an assignment and a call to researchers and practitioners to design pedagogies that enhance student awareness of their compilable state.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"55 1","pages":"314-323"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89897618","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}
引用次数: 0
ICSE-SEET 2023 Committees icseet 2023委员会
Pub Date : 2023-05-01 DOI: 10.1109/icse-seet58685.2023.00005
{"title":"ICSE-SEET 2023 Committees","authors":"","doi":"10.1109/icse-seet58685.2023.00005","DOIUrl":"https://doi.org/10.1109/icse-seet58685.2023.00005","url":null,"abstract":"","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"51 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79947682","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}
引用次数: 0
Attribution-based Personas in Virtual Software Engineering Education 虚拟软件工程教育中基于归因的人物角色
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00028
Klaudia Madhi, Lara Marie Reimer, Stephan M. Jonas
The COVID-19 pandemic and the consequent introduction of virtual collaboration have introduced educators to unexpected situations and challenges. One of these challenges is social distance, which minimizes knowledge of another person’s character, and leaves room for misconceptions. Perceptions of a person’s personality are also referred to as dispositional attributions and, when misplaced, impact the educator-student dynamics. This paper studies dispositional attributions exhibited by software engineering educators in higher education and aims to raise awareness of potential misconceptions affecting the educator-student relationship caused by the virtual setting. We performed an exploratory case study in a practical university course with twelve distributed software engineering teams, each led by one or two educators. The course was conducted entirely virtually during the COVID-19 pandemic. The research process included discovering, categorizing, and modeling attribution-based personas, followed by qualitative and quantitative research methods of semi-structured interviews and survey questionnaires. These personas represent the subjects of potential misconceptions and encapsulate typical behaviors and attributions. Our research created seven personas: the Unprofessional, Ego is the Enemy, The Detached, the Loner, the Underperformer, Hiding but not Seeking, and Distraction Monster. These personas differ primarily in terms of character traits and motivation attributed to them. The results provide evidence that the virtual setting of the course can lead to several dispositional attributions. Educators in virtual software engineering settings should be aware of these attributions and their potential impact on the educator-student relationship.
2019冠状病毒病大流行以及随之而来的虚拟协作使教育工作者面临意想不到的情况和挑战。其中一个挑战是社会距离,这使人们对另一个人的性格的了解降到最低,并给误解留下了空间。对一个人的个性的看法也被称为性格归因,当错误的时候,会影响教育者-学生的动态。本文研究了高等教育中软件工程教育者所表现出的性格归因,旨在提高人们对虚拟环境可能造成的影响师生关系的误解的认识。我们在一个实际的大学课程中与12个分布式软件工程团队一起进行了一个探索性的案例研究,每个团队由一到两个教育者领导。该课程在COVID-19大流行期间完全以虚拟方式进行。研究过程包括基于归因的人物角色的发现、分类和建模,随后采用半结构化访谈和调查问卷的定性和定量研究方法。这些角色代表了潜在误解的主体,并概括了典型的行为和归因。我们的研究创造了7个角色:不专业者、自我是敌人、超然者、孤独者、表现不佳者、隐藏而不寻求者和分心怪物。这些人物角色的主要区别在于他们的性格特征和动机。结果表明,课程的虚拟设置可以导致多种性格归因。在虚拟软件工程环境中的教育者应该意识到这些归因及其对教育者与学生关系的潜在影响。
{"title":"Attribution-based Personas in Virtual Software Engineering Education","authors":"Klaudia Madhi, Lara Marie Reimer, Stephan M. Jonas","doi":"10.1109/ICSE-SEET58685.2023.00028","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00028","url":null,"abstract":"The COVID-19 pandemic and the consequent introduction of virtual collaboration have introduced educators to unexpected situations and challenges. One of these challenges is social distance, which minimizes knowledge of another person’s character, and leaves room for misconceptions. Perceptions of a person’s personality are also referred to as dispositional attributions and, when misplaced, impact the educator-student dynamics. This paper studies dispositional attributions exhibited by software engineering educators in higher education and aims to raise awareness of potential misconceptions affecting the educator-student relationship caused by the virtual setting. We performed an exploratory case study in a practical university course with twelve distributed software engineering teams, each led by one or two educators. The course was conducted entirely virtually during the COVID-19 pandemic. The research process included discovering, categorizing, and modeling attribution-based personas, followed by qualitative and quantitative research methods of semi-structured interviews and survey questionnaires. These personas represent the subjects of potential misconceptions and encapsulate typical behaviors and attributions. Our research created seven personas: the Unprofessional, Ego is the Enemy, The Detached, the Loner, the Underperformer, Hiding but not Seeking, and Distraction Monster. These personas differ primarily in terms of character traits and motivation attributed to them. The results provide evidence that the virtual setting of the course can lead to several dispositional attributions. Educators in virtual software engineering settings should be aware of these attributions and their potential impact on the educator-student relationship.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"58 1","pages":"235-246"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83957743","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}
引用次数: 0
A Metric for Measuring Software Engineering Post-Graduate Outcomes 一个度量软件工程研究生成果的度量标准
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00032
T. Breaux, Jennifer Moritz
Professional software engineering (SE) degree programs provide students with the education and skills needed to enter a new SE career, or take on increasing responsibility within their current career. An important metric for evaluating such programs is the impact that completing the program has on postgraduate, career outcomes. Apart from hiring rates and median salaries, this is challenging to measure, because alumni survey response rates are frequently low, and without alumni feedback, insight into individual career advancement after graduation is difficult to observe. In this paper, we propose a new metric, called Career Velocity, that measures the impact of a degree program on alumni promotion into senior positions. The metric requires tracing alumni directory information, consisting of a person’s full name, degree name, and graduation year, to public data that includes employment histories, before computing the number of months prior to promotion into a senior SE position. The metric was developed and evaluated on a mix of six degree programs, including undergraduate and graduate computer science, software engineering and data science programs. The metric was further evaluated by assessing the impact of a graduate’s number of months of industry experience prior to graduation. The results suggest that, independent of prior industry experience, specialized education that targets advancement in a specific career class, e.g., software engineering, leads to faster career progression than general education.
专业软件工程(SE)学位课程为学生提供进入新的软件工程职业所需的教育和技能,或者在他们当前的职业中承担越来越多的责任。评估此类课程的一个重要指标是完成课程对研究生职业成果的影响。除了招聘率和工资中位数之外,这一点很难衡量,因为校友调查的回复率通常很低,而且没有校友的反馈,很难观察到个人毕业后的职业发展情况。在本文中,我们提出了一个新的指标,称为职业速度,衡量学位课程对校友晋升到高级职位的影响。该指标要求追踪校友名录信息,包括一个人的全名、学位名称和毕业年份,以及包括就业历史在内的公共数据,然后计算晋升到高级SE职位之前的月数。该指标是在六个学位课程的基础上开发和评估的,包括本科和研究生计算机科学、软件工程和数据科学课程。通过评估毕业生在毕业前的行业经验月数的影响,进一步评估了这一指标。结果表明,独立于先前的行业经验,以特定职业课程为目标的专业教育,例如软件工程,比普通教育导致更快的职业发展。
{"title":"A Metric for Measuring Software Engineering Post-Graduate Outcomes","authors":"T. Breaux, Jennifer Moritz","doi":"10.1109/ICSE-SEET58685.2023.00032","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00032","url":null,"abstract":"Professional software engineering (SE) degree programs provide students with the education and skills needed to enter a new SE career, or take on increasing responsibility within their current career. An important metric for evaluating such programs is the impact that completing the program has on postgraduate, career outcomes. Apart from hiring rates and median salaries, this is challenging to measure, because alumni survey response rates are frequently low, and without alumni feedback, insight into individual career advancement after graduation is difficult to observe. In this paper, we propose a new metric, called Career Velocity, that measures the impact of a degree program on alumni promotion into senior positions. The metric requires tracing alumni directory information, consisting of a person’s full name, degree name, and graduation year, to public data that includes employment histories, before computing the number of months prior to promotion into a senior SE position. The metric was developed and evaluated on a mix of six degree programs, including undergraduate and graduate computer science, software engineering and data science programs. The metric was further evaluated by assessing the impact of a graduate’s number of months of industry experience prior to graduation. The results suggest that, independent of prior industry experience, specialized education that targets advancement in a specific career class, e.g., software engineering, leads to faster career progression than general education.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"78 1","pages":"283-295"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83196599","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}
引用次数: 0
Designing for Real People: Teaching Agility through User-Centric Service Design 为真实的人设计:通过以用户为中心的服务设计教授敏捷性
Pub Date : 2023-05-01 DOI: 10.1109/ICSE-SEET58685.2023.00007
Robert Chatley, Tony Field, Mark J. Wheelhouse, Carolyn Runcie, C. Grinyer, N. Leon
We present the design and evolution of a project-based course – Designing for Real People – that aims to teach agile software development through an unwavering focus on the user, rather than emphasising the processes and tools often associated with a method like Scrum. This module is the result of a fruitful collaboration between a Computer Science Department, bringing knowledge and skills in the software engineering aspects, and the Service Design group of a neighbouring Art College, with expertise in user research and user experience design.We present the details of the current structure, content and assessment strategies developed for the module, as well as the principles behind its design. The core theme of the course is gathering and responding to feedback, and so here we present how this has been applied to the design of the module itself, with lessons learned, and improvements made over time. By reflecting on our own work, we aim to provide recommendations that may aid others considering how to teach these topics.
我们介绍了一门基于项目的课程的设计和演变——面向真人的设计——旨在通过坚定不移地关注用户来教授敏捷软件开发,而不是强调通常与Scrum等方法相关的过程和工具。这个模块是计算机科学系与邻近艺术学院的服务设计组之间富有成效的合作的结果,前者带来了软件工程方面的知识和技能,后者则拥有用户研究和用户体验设计方面的专业知识。我们详细介绍了该模块目前的结构、内容和评估策略,以及其设计背后的原则。课程的核心主题是收集和响应反馈,因此在这里我们展示了如何将其应用于模块本身的设计,以及经验教训和改进。通过反思我们自己的工作,我们的目标是提供建议,以帮助其他人考虑如何教授这些主题。
{"title":"Designing for Real People: Teaching Agility through User-Centric Service Design","authors":"Robert Chatley, Tony Field, Mark J. Wheelhouse, Carolyn Runcie, C. Grinyer, N. Leon","doi":"10.1109/ICSE-SEET58685.2023.00007","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00007","url":null,"abstract":"We present the design and evolution of a project-based course – Designing for Real People – that aims to teach agile software development through an unwavering focus on the user, rather than emphasising the processes and tools often associated with a method like Scrum. This module is the result of a fruitful collaboration between a Computer Science Department, bringing knowledge and skills in the software engineering aspects, and the Service Design group of a neighbouring Art College, with expertise in user research and user experience design.We present the details of the current structure, content and assessment strategies developed for the module, as well as the principles behind its design. The core theme of the course is gathering and responding to feedback, and so here we present how this has been applied to the design of the module itself, with lessons learned, and improvements made over time. By reflecting on our own work, we aim to provide recommendations that may aid others considering how to teach these topics.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"2 1","pages":"11-22"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78514180","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}
引用次数: 1
期刊
软件产业与工程
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1