首页 > 最新文献

Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1最新文献

英文 中文
Socially Responsible Programming in Computing Education and Expectations in the Profession 计算机教育中的社会责任编程和专业期望
Natalie Kiesler, Carsten Thorbrügge
Software and IT infrastructure keeps changing the way we live and work, but not necessarily for the better for all of us. Considering the implications of software on our society, and the industry's expectations towards computing graduates, it appears natural to address social and ethical competencies within computing curricula. However, this is not necessarily the case in German computing education. Due to this desideratum, this paper addresses the role of ethical guidelines and social responsibility in programming education in contrast to industry expectations. Expected competencies in programming education and ethics modules of CS study programs were identified by a secondary analysis of available data. The present work also gathered and qualitatively analyzed job advertisements with regard to expected competencies. The results (1) illustrate the lack of correspondence with what is expected in educational settings and the profession, and (2) outline implications for a socially responsible programming education. These findings will support educators in developing competency-based pedagogical approaches to address socially responsible learning objectives in future programming courses and CS study programs.
软件和IT基础设施不断改变着我们的生活和工作方式,但并不一定会让我们所有人都变得更好。考虑到软件对我们社会的影响,以及业界对计算机毕业生的期望,在计算机课程中讨论社会和道德能力似乎是很自然的。然而,德国的计算机教育并不一定如此。由于这一愿望,本文讨论了道德准则和社会责任在编程教育中的作用,与行业期望形成对比。通过对现有数据的二次分析,确定了计算机科学研究项目中编程教育和伦理模块的预期能力。本研究还收集和定性地分析了有关预期能力的招聘广告。结果(1)说明了缺乏与教育环境和专业期望的对应关系,(2)概述了对社会负责任的编程教育的含义。这些发现将支持教育工作者开发基于能力的教学方法,以解决未来编程课程和计算机科学研究项目中对社会负责的学习目标。
{"title":"Socially Responsible Programming in Computing Education and Expectations in the Profession","authors":"Natalie Kiesler, Carsten Thorbrügge","doi":"10.1145/3587102.3588839","DOIUrl":"https://doi.org/10.1145/3587102.3588839","url":null,"abstract":"Software and IT infrastructure keeps changing the way we live and work, but not necessarily for the better for all of us. Considering the implications of software on our society, and the industry's expectations towards computing graduates, it appears natural to address social and ethical competencies within computing curricula. However, this is not necessarily the case in German computing education. Due to this desideratum, this paper addresses the role of ethical guidelines and social responsibility in programming education in contrast to industry expectations. Expected competencies in programming education and ethics modules of CS study programs were identified by a secondary analysis of available data. The present work also gathered and qualitatively analyzed job advertisements with regard to expected competencies. The results (1) illustrate the lack of correspondence with what is expected in educational settings and the profession, and (2) outline implications for a socially responsible programming education. These findings will support educators in developing competency-based pedagogical approaches to address socially responsible learning objectives in future programming courses and CS study programs.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"36 20","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120825111","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}
引用次数: 2
Fostering the Innovative Mindset: Entrepreneurship Clinic Model for Computer Science Students 培养创新思维:计算机专业学生的创业诊所模式
A. Rusu, A. Rusu
Graduates distinguish themselves by being creative, innovative, and showing leadership, but such instructional topics are usually formally emphasized in business curricula. Computer Science students could minor in entrepreneurship or other business-related fields in order to foster their innovative mindset and obtain a business acumen that complements the technical expertise they obtain in their majors, but such minors usually require at least five additional courses. We discuss the formal incorporation of entrepreneurship in the computer science curriculum as part of a clinic model that includes real-world experiences, at the expense of two 1-credit hands-on clinics that can be embedded into the number of credits required for the computer science degree. After experimenting with various models and activities over a period of several years, we present our current iteration that was successfully deployed for the past four years as a course framework that combines both entrepreneurial and technical aspects into a two-semester software engineering course sequence with assigned clinic experience during the junior year. Students learn how to find and evaluate ideas, build rapid prototypes, test hypotheses, use different types of business models and financial analysis, market their software products, and understand how to start a business. Students are able to pitch and refine their ideas with various audiences and compete in entrepreneurship competitions. From dreaming ideas to creating and managing teams, computer science students are guided through the process by faculty, entrepreneurs, and potential investors. We present the steps and activities that complement our framework, with case studies and lesson learned.
毕业生的突出特点是具有创造性、创新性和领导能力,但这些教学主题通常在商业课程中被正式强调。计算机科学专业的学生可以辅修创业或其他商业相关领域,以培养他们的创新思维,并获得商业敏锐度,以补充他们在专业中获得的技术专长,但这样的辅修通常需要至少五门额外的课程。我们讨论了将创业精神作为包括现实世界经验的诊所模式的一部分正式纳入计算机科学课程,以牺牲两个1学分的实践诊所为代价,这些诊所可以嵌入到计算机科学学位所需的学分中。在几年的时间里对各种模型和活动进行了实验之后,我们提出了我们当前的迭代,该迭代在过去四年中成功地部署为一个课程框架,将创业和技术方面结合到两个学期的软件工程课程序列中,并在大三期间分配了临床经验。学生们学习如何发现和评估想法,建立快速原型,测试假设,使用不同类型的商业模式和财务分析,营销他们的软件产品,并了解如何创业。学生们能够向不同的观众推销和完善他们的想法,并参加创业竞赛。从梦想到创建和管理团队,计算机科学专业的学生在教师、企业家和潜在投资者的指导下完成整个过程。我们提出了步骤和活动,以补充我们的框架,案例研究和经验教训。
{"title":"Fostering the Innovative Mindset: Entrepreneurship Clinic Model for Computer Science Students","authors":"A. Rusu, A. Rusu","doi":"10.1145/3587102.3588812","DOIUrl":"https://doi.org/10.1145/3587102.3588812","url":null,"abstract":"Graduates distinguish themselves by being creative, innovative, and showing leadership, but such instructional topics are usually formally emphasized in business curricula. Computer Science students could minor in entrepreneurship or other business-related fields in order to foster their innovative mindset and obtain a business acumen that complements the technical expertise they obtain in their majors, but such minors usually require at least five additional courses. We discuss the formal incorporation of entrepreneurship in the computer science curriculum as part of a clinic model that includes real-world experiences, at the expense of two 1-credit hands-on clinics that can be embedded into the number of credits required for the computer science degree. After experimenting with various models and activities over a period of several years, we present our current iteration that was successfully deployed for the past four years as a course framework that combines both entrepreneurial and technical aspects into a two-semester software engineering course sequence with assigned clinic experience during the junior year. Students learn how to find and evaluate ideas, build rapid prototypes, test hypotheses, use different types of business models and financial analysis, market their software products, and understand how to start a business. Students are able to pitch and refine their ideas with various audiences and compete in entrepreneurship competitions. From dreaming ideas to creating and managing teams, computer science students are guided through the process by faculty, entrepreneurs, and potential investors. We present the steps and activities that complement our framework, with case studies and lesson learned.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125705763","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
Studied Questions in Data Structures and Algorithms Assessments 学习了数据结构和算法评估中的问题
I. Gaber, Amir Kirsh, D. Statter
Designing a proper exam that accurately evaluates students' knowledge and skills is one of the important tasks of every teacher. The format of the exams affects the way students learn throughout the course, and a well-designed exam can enhance meaningful learning. In this paper, we address this topic in the context of Data Structures and Algorithms courses, and argue that a good exam should contain questions that students have seen during the semester, and that the grading of those questions should be strict. We describe a case study which, over three semesters, supports the claim that answering these questions require the "Understand" level of Bloom's taxonomy, and that this strategy fosters more meaningful learning and better assesses students' knowledge.
设计一个合适的考试,准确地评估学生的知识和技能是每个老师的重要任务之一。考试的形式影响学生在整个课程中学习的方式,设计良好的考试可以提高有意义的学习。在本文中,我们在数据结构和算法课程的背景下讨论这个话题,并认为一个好的考试应该包含学生在学期中看到的问题,并且这些问题的评分应该严格。我们描述了一个案例研究,在三个学期的时间里,支持了这样一种说法,即回答这些问题需要“理解”布鲁姆分类法的水平,这种策略促进了更有意义的学习,更好地评估了学生的知识。
{"title":"Studied Questions in Data Structures and Algorithms Assessments","authors":"I. Gaber, Amir Kirsh, D. Statter","doi":"10.1145/3587102.3588843","DOIUrl":"https://doi.org/10.1145/3587102.3588843","url":null,"abstract":"Designing a proper exam that accurately evaluates students' knowledge and skills is one of the important tasks of every teacher. The format of the exams affects the way students learn throughout the course, and a well-designed exam can enhance meaningful learning. In this paper, we address this topic in the context of Data Structures and Algorithms courses, and argue that a good exam should contain questions that students have seen during the semester, and that the grading of those questions should be strict. We describe a case study which, over three semesters, supports the claim that answering these questions require the \"Understand\" level of Bloom's taxonomy, and that this strategy fosters more meaningful learning and better assesses students' knowledge.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115757025","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
Evaluating the Performance of Code Generation Models for Solving Parsons Problems With Small Prompt Variations 评估代码生成模型在解决小提示变化的帕森斯问题中的性能
B. Reeves, Sami Sarsa, J. Prather, Paul Denny, Brett A. Becker, Arto Hellas, Bailey Kimmel, Garrett B. Powell, Juho Leinonen
The recent emergence of code generation tools powered by large language models has attracted wide attention. Models such as OpenAI Codex can take natural language problem descriptions as input and generate highly accurate source code solutions, with potentially significant implications for computing education. Given the many complexities that students face when learning to write code, they may quickly become reliant on such tools without properly understanding the underlying concepts. One popular approach for scaffolding the code writing process is to use Parsons problems, which present solution lines of code in a scrambled order. These remove the complexities of low-level syntax, and allow students to focus on algorithmic and design-level problem solving. It is unclear how well code generation models can be applied to solve Parsons problems, given the mechanics of these models and prior evidence that they underperform when problems include specific restrictions. In this paper, we explore the performance of the Codex model for solving Parsons problems over various prompt variations. Using a corpus of Parsons problems we sourced from the computing education literature, we find that Codex successfully reorders the problem blocks about half of the time, a much lower rate of success when compared to prior work on more free-form programming tasks. Regarding prompts, we find that small variations in prompting have a noticeable effect on model performance, although the effect is not as pronounced as between different problems.
最近出现的由大型语言模型驱动的代码生成工具引起了广泛的关注。OpenAI Codex等模型可以将自然语言问题描述作为输入,并生成高度准确的源代码解决方案,这对计算机教育具有潜在的重要意义。考虑到学生在学习编写代码时面临的许多复杂性,他们可能很快就会依赖于这些工具,而没有正确理解底层概念。构建代码编写过程的一种流行方法是使用帕森斯问题,它以混乱的顺序呈现解决方案代码行。这些消除了低级语法的复杂性,使学生能够专注于算法和设计级问题的解决。目前还不清楚代码生成模型能在多大程度上应用于解决帕森斯问题,因为这些模型的机制和先前的证据表明,当问题包含特定限制时,它们表现不佳。在本文中,我们探讨了Codex模型的性能,以解决帕森斯问题在各种提示变化。使用我们从计算机教育文献中获得的帕森斯问题语料库,我们发现Codex在大约一半的时间里成功地重新排序了问题块,与之前在更自由形式的编程任务上的工作相比,成功率要低得多。关于提示,我们发现提示的微小变化对模型性能有明显的影响,尽管影响不像不同问题之间那么明显。
{"title":"Evaluating the Performance of Code Generation Models for Solving Parsons Problems With Small Prompt Variations","authors":"B. Reeves, Sami Sarsa, J. Prather, Paul Denny, Brett A. Becker, Arto Hellas, Bailey Kimmel, Garrett B. Powell, Juho Leinonen","doi":"10.1145/3587102.3588805","DOIUrl":"https://doi.org/10.1145/3587102.3588805","url":null,"abstract":"The recent emergence of code generation tools powered by large language models has attracted wide attention. Models such as OpenAI Codex can take natural language problem descriptions as input and generate highly accurate source code solutions, with potentially significant implications for computing education. Given the many complexities that students face when learning to write code, they may quickly become reliant on such tools without properly understanding the underlying concepts. One popular approach for scaffolding the code writing process is to use Parsons problems, which present solution lines of code in a scrambled order. These remove the complexities of low-level syntax, and allow students to focus on algorithmic and design-level problem solving. It is unclear how well code generation models can be applied to solve Parsons problems, given the mechanics of these models and prior evidence that they underperform when problems include specific restrictions. In this paper, we explore the performance of the Codex model for solving Parsons problems over various prompt variations. Using a corpus of Parsons problems we sourced from the computing education literature, we find that Codex successfully reorders the problem blocks about half of the time, a much lower rate of success when compared to prior work on more free-form programming tasks. Regarding prompts, we find that small variations in prompting have a noticeable effect on model performance, although the effect is not as pronounced as between different problems.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"3 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134196456","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}
引用次数: 11
Castle and Stairs to Learn Iteration: Co-designing a UMC Learning Module with Teachers 学习迭代的城堡和阶梯:与教师共同设计UMC学习模块
Sara Capecchi, Michael Lodi, Violetta Lonati, M. Sbaraglia
This experience report presents a participatory process that involved primary school teachers and computer science education researchers. The objective of the process was to co-design a learning module to teach iteration to second graders using a visual programming environment and based on the Use-Modify-Create methodology. The co-designed learning module was piloted with three second-grade classes. We experienced that sharing and reconciling the different perspectives of researchers and teachers was doubly effective. On the one hand, it improved the quality of the resulting learning module; on the other hand, it constituted a very significant professional development opportunity for both teachers and researchers. We describe the co-designed learning module, discuss the most significant hinges in the process that led to such a product, and reflect on the lessons learned.
本经验报告介绍了一个涉及小学教师和计算机科学教育研究人员的参与式过程。该过程的目标是共同设计一个学习模块,以使用-修改-创建方法为基础,使用可视化编程环境向二年级学生教授迭代。共同设计的学习模块在三个二年级班级进行了试点。我们体会到,分享和协调研究人员和教师的不同观点是双重有效的。一方面,它提高了生成的学习模块的质量;另一方面,它对教师和研究人员都构成了一个非常重要的专业发展机会。我们描述了共同设计的学习模块,讨论了导致这种产品的过程中最重要的关键,并反思了从中吸取的教训。
{"title":"Castle and Stairs to Learn Iteration: Co-designing a UMC Learning Module with Teachers","authors":"Sara Capecchi, Michael Lodi, Violetta Lonati, M. Sbaraglia","doi":"10.1145/3587102.3588793","DOIUrl":"https://doi.org/10.1145/3587102.3588793","url":null,"abstract":"This experience report presents a participatory process that involved primary school teachers and computer science education researchers. The objective of the process was to co-design a learning module to teach iteration to second graders using a visual programming environment and based on the Use-Modify-Create methodology. The co-designed learning module was piloted with three second-grade classes. We experienced that sharing and reconciling the different perspectives of researchers and teachers was doubly effective. On the one hand, it improved the quality of the resulting learning module; on the other hand, it constituted a very significant professional development opportunity for both teachers and researchers. We describe the co-designed learning module, discuss the most significant hinges in the process that led to such a product, and reflect on the lessons learned.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130872003","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
An Equity-minded Multi-dimensional Framework for Exploring the Dynamics of Sense of Belonging in an Introductory CS Course 在计算机科学入门课程中探索归属感动态的公平思想的多维框架
Narges Norouzi, H. Habibi, Carmen Robinson, A. Sher
In this paper, we study three focus areas: investigating the identity-related sense of belonging in a gateway computer science course, examining the dynamics of the sense of belonging between the beginning and the end of the course, and offering actions to improve the sense of belonging that addresses the needs of students from intersecting identity groups. We use multivariate logistic regression models to identify how students' identity, prior mathematics and programming knowledge, and social expectations of success shape their sense of belonging entering the course and after completing it. Our multi-dimensional approach allows for consideration of the intersectionality of students' identities as well as other multiple factors at the same time. Our analyses suggest that social perceptions persistently affect students' sense of belonging. Therefore, we argue that more direct interventions targeting social perception are needed to achieve equity.
在本文中,我们研究了三个重点领域:调查门户计算机科学课程中与身份相关的归属感,研究课程开始和结束之间归属感的动态,并提供行动来提高归属感,以满足来自交叉身份群体的学生的需求。我们使用多元逻辑回归模型来确定学生的身份、先前的数学和编程知识以及社会对成功的期望如何塑造他们进入课程和完成课程后的归属感。我们的多维度方法允许同时考虑学生身份的交叉性以及其他多重因素。我们的分析表明,社会观念持续地影响学生的归属感。因此,我们认为需要更直接的针对社会感知的干预措施来实现公平。
{"title":"An Equity-minded Multi-dimensional Framework for Exploring the Dynamics of Sense of Belonging in an Introductory CS Course","authors":"Narges Norouzi, H. Habibi, Carmen Robinson, A. Sher","doi":"10.1145/3587102.3588780","DOIUrl":"https://doi.org/10.1145/3587102.3588780","url":null,"abstract":"In this paper, we study three focus areas: investigating the identity-related sense of belonging in a gateway computer science course, examining the dynamics of the sense of belonging between the beginning and the end of the course, and offering actions to improve the sense of belonging that addresses the needs of students from intersecting identity groups. We use multivariate logistic regression models to identify how students' identity, prior mathematics and programming knowledge, and social expectations of success shape their sense of belonging entering the course and after completing it. Our multi-dimensional approach allows for consideration of the intersectionality of students' identities as well as other multiple factors at the same time. Our analyses suggest that social perceptions persistently affect students' sense of belonging. Therefore, we argue that more direct interventions targeting social perception are needed to achieve equity.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133234815","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
Exploring CS1 Student's Notions of Code Quality 探索CS1学生对代码质量的概念
C. Izu, C. Mirolo
Coding tasks combined with other activities such as Explain in Plain English or Parson Puzzles help CS1 students to develop core programming skills. Students usually receive feedback of code correctness but limited or no feedback on their code quality. Teaching students to evaluate and improve the quality of their code once it is functionally correct should be included in the curricula towards the end of CS1 or during CS2. However, little is known about the student's perceptions of code quality at the end of a CS1 course. This study aims to capture their developing notions of code quality, in order to tailor class activities to support code quality improvements. We directed students to think about the overall quality of small programs by asking them to rank a small set of solutions for a simple problem solving task. Their rankings and explanations have been analysed to identify the criteria underlying their quality assessments. The top quality criteria were Performance (64%), Structure (51%), Conciseness (42%) and Comprehensibility (42%). Although fast execution is a key criteria for ranking, their explanations on why a given option was fast were often flawed, indicating students need more support both to evaluate performance and to include readability or comprehensibility criteria in their assessment.
编码任务与其他活动相结合,如用简单的英语解释或帕森谜题,帮助CS1学生发展核心编程技能。学生通常会收到关于代码正确性的反馈,但很少或没有关于代码质量的反馈。在CS1课程结束或CS2课程中,应该教学生在功能正确的情况下评估和改进代码的质量。然而,在CS1课程结束时,学生对代码质量的看法却知之甚少。这项研究的目的是捕捉他们对代码质量的开发概念,以便定制课堂活动来支持代码质量的改进。我们让学生们为一个简单的问题解决任务对一组解决方案进行排名,从而引导他们思考小程序的整体质量。对它们的排名和解释进行了分析,以确定其质量评估的基本标准。最高质量标准是性能(64%),结构(51%),简洁(42%)和可理解性(42%)。虽然快速执行是排名的关键标准,但他们对为什么给定选项快速的解释往往是有缺陷的,这表明学生在评估性能以及在评估中包括可读性或可理解性标准时需要更多的支持。
{"title":"Exploring CS1 Student's Notions of Code Quality","authors":"C. Izu, C. Mirolo","doi":"10.1145/3587102.3588808","DOIUrl":"https://doi.org/10.1145/3587102.3588808","url":null,"abstract":"Coding tasks combined with other activities such as Explain in Plain English or Parson Puzzles help CS1 students to develop core programming skills. Students usually receive feedback of code correctness but limited or no feedback on their code quality. Teaching students to evaluate and improve the quality of their code once it is functionally correct should be included in the curricula towards the end of CS1 or during CS2. However, little is known about the student's perceptions of code quality at the end of a CS1 course. This study aims to capture their developing notions of code quality, in order to tailor class activities to support code quality improvements. We directed students to think about the overall quality of small programs by asking them to rank a small set of solutions for a simple problem solving task. Their rankings and explanations have been analysed to identify the criteria underlying their quality assessments. The top quality criteria were Performance (64%), Structure (51%), Conciseness (42%) and Comprehensibility (42%). Although fast execution is a key criteria for ranking, their explanations on why a given option was fast were often flawed, indicating students need more support both to evaluate performance and to include readability or comprehensibility criteria in their assessment.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115768898","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
The Impact of a Remote Live-Coding Pedagogy on Student Programming Processes, Grades, and Lecture Questions Asked 远程实时编程教学法对学生编程过程、成绩和课堂提问的影响
Anshul Shah, Vardhan Agarwal, Michael Granado, J. Driscoll, Emma Hogan, Leo Porter, W. Griswold, Adalbert Gerald Soosai Raj
Live coding---a pedagogical technique in which an instructor plans, writes, and executes code in front of a class---is generally considered a best practice when teaching programming. However, only a few studies have evaluated the effect of live coding on student learning in a controlled experiment and most of the literature relating to live coding identifies students' perceived benefits of live-coding examples. In order to empirically evaluate the impact of live coding, we designed a controlled experiment in a CS1 course taught in Python at a large public university. In the two remote lecture sections for the course, one was taught using live-coding examples and the other was taught using static-code examples. Throughout the term, we collected code snapshots from students' programming assignments, students' grades, and the questions that they asked during the remote lectures. We then applied a set of process-oriented programming metrics to students' programming data to compare students' adherence to effective programming processes in the two learning groups and categorized each question asked in lectures following an open-coding approach. Our results revealed a general lack of difference between the two groups across programming processes, grades, and lecture questions asked. However, our experiment uncovered minimal effects in favor of the live-coding group indicating improved programming processes but lower performance on assignments and grades. Our results suggest an overall insignificant impact of the style of presenting code examples, though we reflect on the threats to validity in our study that should be addressed in future work.
现场编程——一种教学技术,讲师在全班面前计划、编写和执行代码——通常被认为是教授编程的最佳实践。然而,只有少数研究在对照实验中评估了实时编码对学生学习的影响,大多数与实时编码相关的文献都确定了学生对实时编码示例的感知益处。为了经验性地评估实时编码的影响,我们在一所大型公立大学用Python教授的CS1课程中设计了一个对照实验。在本课程的两个远程讲座部分中,一个是使用实时编码示例,另一个是使用静态代码示例。整个学期,我们从学生的编程作业、学生的成绩和他们在远程讲座中提出的问题中收集代码快照。然后,我们将一组面向过程的编程指标应用于学生的编程数据,以比较学生在两个学习小组中对有效编程过程的遵守情况,并根据开放编码方法对讲座中提出的每个问题进行分类。我们的研究结果显示,两组学生在编程过程、成绩和课堂提问方面基本没有差异。然而,我们的实验揭示了支持实时编码组的最小影响,表明改进了编程过程,但降低了作业和成绩的表现。我们的结果表明,呈现代码示例的风格总体上影响不大,尽管我们在研究中反映了有效性的威胁,这些威胁应该在未来的工作中得到解决。
{"title":"The Impact of a Remote Live-Coding Pedagogy on Student Programming Processes, Grades, and Lecture Questions Asked","authors":"Anshul Shah, Vardhan Agarwal, Michael Granado, J. Driscoll, Emma Hogan, Leo Porter, W. Griswold, Adalbert Gerald Soosai Raj","doi":"10.1145/3587102.3588846","DOIUrl":"https://doi.org/10.1145/3587102.3588846","url":null,"abstract":"Live coding---a pedagogical technique in which an instructor plans, writes, and executes code in front of a class---is generally considered a best practice when teaching programming. However, only a few studies have evaluated the effect of live coding on student learning in a controlled experiment and most of the literature relating to live coding identifies students' perceived benefits of live-coding examples. In order to empirically evaluate the impact of live coding, we designed a controlled experiment in a CS1 course taught in Python at a large public university. In the two remote lecture sections for the course, one was taught using live-coding examples and the other was taught using static-code examples. Throughout the term, we collected code snapshots from students' programming assignments, students' grades, and the questions that they asked during the remote lectures. We then applied a set of process-oriented programming metrics to students' programming data to compare students' adherence to effective programming processes in the two learning groups and categorized each question asked in lectures following an open-coding approach. Our results revealed a general lack of difference between the two groups across programming processes, grades, and lecture questions asked. However, our experiment uncovered minimal effects in favor of the live-coding group indicating improved programming processes but lower performance on assignments and grades. Our results suggest an overall insignificant impact of the style of presenting code examples, though we reflect on the threats to validity in our study that should be addressed in future work.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126188613","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}
引用次数: 2
Binary Reverse Engineering for All 二元逆向工程
John Aycock
We report our experience with a novel course on binary reverse engineering, a university computer science course that was offered at the second-year level to both computer science majors as well as non-majors, with minimal prerequisites. While reverse engineering has known, important uses in computer security, this was pointedly not framed as a security course, because reverse engineering is a skill that has uses outside computer science and can be taught to a more diverse audience. The original course design intended students to perform hands-on exercises during an in-person class; we describe the systems we developed to support that, along with other online systems we used, which allowed a relatively easy pivot to online learning and back as necessitated by the pandemic. Importantly, we detail our application of "ungrading" within the course, an assessment philosophy that has gained some traction primarily in non-STEM disciplines but has seen little to no discussion in the context of computer science education. The combination of pedagogical methods we present has potential uses in other courses beyond reverse engineering.
我们报告我们在二进制逆向工程的新课程上的经验,这是一门大学计算机科学课程,在二年级的水平上提供给计算机科学专业的学生和非专业的学生,最低的先决条件。虽然逆向工程在计算机安全中有重要的用途,但这门课程显然不是安全课程,因为逆向工程是一门在计算机科学之外有用途的技能,可以教授给更多样化的受众。最初的课程设计是让学生在面对面的课堂上进行动手练习;我们介绍了为此开发的系统,以及我们使用的其他在线系统,这些系统可以相对容易地转向在线学习,并在疫情需要时返回。重要的是,我们详细介绍了我们在课程中“不评分”的应用,这种评估理念主要在非stem学科中获得了一些关注,但在计算机科学教育的背景下几乎没有讨论。我们提出的教学方法的组合在逆向工程以外的其他课程中具有潜在的用途。
{"title":"Binary Reverse Engineering for All","authors":"John Aycock","doi":"10.1145/3587102.3588790","DOIUrl":"https://doi.org/10.1145/3587102.3588790","url":null,"abstract":"We report our experience with a novel course on binary reverse engineering, a university computer science course that was offered at the second-year level to both computer science majors as well as non-majors, with minimal prerequisites. While reverse engineering has known, important uses in computer security, this was pointedly not framed as a security course, because reverse engineering is a skill that has uses outside computer science and can be taught to a more diverse audience. The original course design intended students to perform hands-on exercises during an in-person class; we describe the systems we developed to support that, along with other online systems we used, which allowed a relatively easy pivot to online learning and back as necessitated by the pandemic. Importantly, we detail our application of \"ungrading\" within the course, an assessment philosophy that has gained some traction primarily in non-STEM disciplines but has seen little to no discussion in the context of computer science education. The combination of pedagogical methods we present has potential uses in other courses beyond reverse engineering.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128356825","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
More Carrot or Less Stick: Organically Improving Student Time Management With Practice Tasks and Gamified Assignments 更多胡萝卜还是更少大棒:通过练习任务和游戏化作业有机地改善学生的时间管理
Mac Malone, F. Monrose
Students often struggle with time management. They delay work on assignments for too long and/or allocate too little time for the tasks given to them. This negatively impacts their performance, increases stress, and even leads some to switch majors. As such, there is a wealth of previous research on improving student time management through direct intervention. In particular, there is a heavy focus on having students start assignments earlier and spend more time-on-task -- as these metrics have been shown to positively correlate with student performance. In this paper, however, we theorize that poor student time management (at least in CS) is often due to confounding factors -- such as academic stress -- and not a missing skill set. We demonstrate that changes in assignment design and style can cause students to organically manage their time better. Specifically, we compare two alternative designs -- a low risk preparatory assignment and a highly engaging gamified assignment -- against a conventional programming assignment. While the conventional assignment follows common trends, students do better on the alternative designs and exhibit novel behavior on the usual metrics of earliness of work and time-on-task. Of note, on the preparatory assignment, time-on-task is negatively (albeit weakly) correlated with performance -- the opposite of what is standard in the literature. Finally, we provide takeaways and recommendations for other instructors to use in their own approaches and research.
学生们经常在时间管理上遇到困难。他们把任务拖得太久,或者分配给他们的任务时间太少。这会对他们的表现产生负面影响,增加压力,甚至导致一些人换专业。因此,通过直接干预来改善学生的时间管理已经有了大量的研究。特别是,学校非常注重让学生更早开始作业,花更多的时间在任务上——因为这些指标已被证明与学生的表现呈正相关。然而,在这篇论文中,我们的理论认为,学生时间管理不善(至少在计算机科学中)通常是由于混杂因素——比如学业压力——而不是缺乏技能。我们证明了作业设计和风格的改变可以使学生更好地有机地管理他们的时间。具体来说,我们比较了两种可选择的设计——低风险的准备任务和高度参与的游戏化任务——与传统的编程任务。虽然传统的作业遵循了共同的趋势,但学生们在替代设计上做得更好,并且在工作的早到性和完成任务的时间等常规指标上表现出了新的行为。值得注意的是,在准备作业中,完成任务的时间与表现呈负相关(尽管很弱),这与文献中的标准相反。最后,我们为其他教师在他们自己的方法和研究中提供了要点和建议。
{"title":"More Carrot or Less Stick: Organically Improving Student Time Management With Practice Tasks and Gamified Assignments","authors":"Mac Malone, F. Monrose","doi":"10.1145/3587102.3588825","DOIUrl":"https://doi.org/10.1145/3587102.3588825","url":null,"abstract":"Students often struggle with time management. They delay work on assignments for too long and/or allocate too little time for the tasks given to them. This negatively impacts their performance, increases stress, and even leads some to switch majors. As such, there is a wealth of previous research on improving student time management through direct intervention. In particular, there is a heavy focus on having students start assignments earlier and spend more time-on-task -- as these metrics have been shown to positively correlate with student performance. In this paper, however, we theorize that poor student time management (at least in CS) is often due to confounding factors -- such as academic stress -- and not a missing skill set. We demonstrate that changes in assignment design and style can cause students to organically manage their time better. Specifically, we compare two alternative designs -- a low risk preparatory assignment and a highly engaging gamified assignment -- against a conventional programming assignment. While the conventional assignment follows common trends, students do better on the alternative designs and exhibit novel behavior on the usual metrics of earliness of work and time-on-task. Of note, on the preparatory assignment, time-on-task is negatively (albeit weakly) correlated with performance -- the opposite of what is standard in the literature. Finally, we provide takeaways and recommendations for other instructors to use in their own approaches and research.","PeriodicalId":410890,"journal":{"name":"Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128213412","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
期刊
Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 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