Pub Date : 2022-06-10DOI: 10.1080/08993408.2022.2079866
Max Fowler, David H. Smith IV, Mohammed Hassan, Seth Poulsen, Matthew West, C. Zilles
ABSTRACT Background and Context Lopez and Lister first presented evidence for a skill hierarchy of code reading, tracing, and writing for introductory programming students. Further support for this hierarchy could help computer science educators sequence course content to best build student programming skill. Objective This study aims to replicate a slightly simplified hierarchy of skills in CS1 using a larger body of students (600+ vs. 38) in a non-major introductory Python course with computer-based exams. We also explore the validity of other possible hierarchies. Method We collected student score data on 4 kinds of exam questions. Structural equation modeling was used to derive the hierarchy for each exam. Findings We find multiple best-fitting structural models. The original hierarchy does not appear among the “best” candidates, but similar models do. We also determined that our methods provide us with correlations between skills and do not answer a more fundamental question: what is the ideal teaching order for these skills? Implications This modeling work is valuable for understanding the possible correlations between fundamental code-related skills. However, analyzing student performance on these skills at a moment in time is not sufficient to determine teaching order. We present possible study designs for exploring this more actionable research question.
Lopez和Lister首先为编程入门学生提供了代码阅读、跟踪和编写技能层次的证据。对这种层次结构的进一步支持可以帮助计算机科学教育者对课程内容进行排序,以最好地培养学生的编程技能。本研究旨在复制CS1中稍微简化的技能层次,使用更多的学生(600+ vs. 38)在非主要的Python入门课程中进行计算机考试。我们还探讨了其他可能的层次结构的有效性。方法收集4种考试题目的学生成绩资料。使用结构方程建模来推导每个考试的层次结构。我们发现了多个最适合的结构模型。最初的等级制度不会出现在“最佳”候选者中,但类似的模型会出现。我们还确定,我们的方法为我们提供了技能之间的相关性,但没有回答一个更基本的问题:这些技能的理想教学顺序是什么?这个建模工作对于理解与代码相关的基本技能之间可能的相关性是有价值的。然而,在某一时刻分析学生在这些技能上的表现并不足以决定教学顺序。我们提出可能的研究设计来探索这个更具可操作性的研究问题。
{"title":"Reevaluating the relationship between explaining, tracing, and writing skills in CS1 in a replication study","authors":"Max Fowler, David H. Smith IV, Mohammed Hassan, Seth Poulsen, Matthew West, C. Zilles","doi":"10.1080/08993408.2022.2079866","DOIUrl":"https://doi.org/10.1080/08993408.2022.2079866","url":null,"abstract":"ABSTRACT Background and Context Lopez and Lister first presented evidence for a skill hierarchy of code reading, tracing, and writing for introductory programming students. Further support for this hierarchy could help computer science educators sequence course content to best build student programming skill. Objective This study aims to replicate a slightly simplified hierarchy of skills in CS1 using a larger body of students (600+ vs. 38) in a non-major introductory Python course with computer-based exams. We also explore the validity of other possible hierarchies. Method We collected student score data on 4 kinds of exam questions. Structural equation modeling was used to derive the hierarchy for each exam. Findings We find multiple best-fitting structural models. The original hierarchy does not appear among the “best” candidates, but similar models do. We also determined that our methods provide us with correlations between skills and do not answer a more fundamental question: what is the ideal teaching order for these skills? Implications This modeling work is valuable for understanding the possible correlations between fundamental code-related skills. However, analyzing student performance on these skills at a moment in time is not sufficient to determine teaching order. We present possible study designs for exploring this more actionable research question.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"32 1","pages":"355 - 383"},"PeriodicalIF":2.7,"publicationDate":"2022-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42673638","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}
ABSTRACT Background and context Transfer is a process where students apply their learning to different contexts. This process includes using their knowledge to solve problems with similar complexity, and in new contexts. In the context of programming, transfer also includes being able to understand and use different programming languages. Objective This study explores: (a) student ability to transfer from a block-based programming language into another block-based programming language; (b) student ability to transfer from a block-based programming language to a text-based programming language; (d) student ability to transfer their learning within the same programming language; and (d) the difficulties students had to transfer in these contexts. Method A group of students participating in a program called Coding For Kids explained three different programs in different programming languages during an interview protocol. The students used the programming language MakeCode, and worked on transfer activities in Scratch and Python. Findings The results suggest that while most students are able to transfer between block-based programming languages, most of them struggle to explain a program in a text-based programming language, and to solve a new coding challenge. Implications Instructional designers should consider different strategies to facilitate student transfer into professional programming languages, which is particularly difficult for non-English speakers.
{"title":"Student ability and difficulties with transfer from a block-based programming language into other programming languages: a case study in Colombia","authors":"Alejandro Espinal, Camilo Vieira, Valeria Guerrero-Bequis","doi":"10.1080/08993408.2022.2079867","DOIUrl":"https://doi.org/10.1080/08993408.2022.2079867","url":null,"abstract":"ABSTRACT Background and context Transfer is a process where students apply their learning to different contexts. This process includes using their knowledge to solve problems with similar complexity, and in new contexts. In the context of programming, transfer also includes being able to understand and use different programming languages. Objective This study explores: (a) student ability to transfer from a block-based programming language into another block-based programming language; (b) student ability to transfer from a block-based programming language to a text-based programming language; (d) student ability to transfer their learning within the same programming language; and (d) the difficulties students had to transfer in these contexts. Method A group of students participating in a program called Coding For Kids explained three different programs in different programming languages during an interview protocol. The students used the programming language MakeCode, and worked on transfer activities in Scratch and Python. Findings The results suggest that while most students are able to transfer between block-based programming languages, most of them struggle to explain a program in a text-based programming language, and to solve a new coding challenge. Implications Instructional designers should consider different strategies to facilitate student transfer into professional programming languages, which is particularly difficult for non-English speakers.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":" ","pages":""},"PeriodicalIF":2.7,"publicationDate":"2022-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44490155","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 : 2022-05-27DOI: 10.1080/08993408.2022.2079864
Sabrina Finke, Ferenc Kemény, M. Sommer, Vesna Krnjic, M. Arendasy, W. Slany, K. Landerl
ABSTRACT Background Key to optimizing Computational Thinking (CT) instruction is a precise understanding of the underlying cognitive skills. Román-González et al. (2017) reported unique contributions of spatial abilities and reasoning, whereas arithmetic was not significantly related to CT. Disentangling the influence of spatial and numerical skills on CT is important, as neither should be viewed as monolithic traits. Objective This study aimed (1) to replicate the results of a previous study by Román-González et al. (Computers in Human Behaviour 72), and (2) to extend this research by investigating other theoretically relevant constructs. Specifying the contribution of reasoning (i.e. numerical, figural), numerical skills (i.e. arithmetic, algebra), and spatial skills (i.e. visualization, mental rotation, short-term memory) helps to better understand the cognitive mechanisms underlying CT. Method We investigated a sample of 132 students from Grades 7–8 (age range 12–15 years). Participants completed the Computational Thinking test, as well as a variety of psychometric assessments of reasoning, numerical, and spatial skills. To determine which cognitive skills are relevant for CT, we calculated bivariate correlations and performed a linear regression analysis. Findings Results confirmed unique contributions of figural reasoning and visualization. Additional variance was explained by algebraic skills. Implications We conclude that CT engages cognitive mechanisms extending beyond reasoning and spatial skills.
优化计算思维(CT)教学的关键是对潜在认知技能的准确理解。Román-González等人(2017)报道了空间能力和推理的独特贡献,而算术与CT没有显著相关。分离空间和数字技能对CT的影响是很重要的,因为两者都不应被视为单一的特征。本研究的目的是:(1)复制Román-González等人之前的研究结果(Computers in Human Behaviour 72),(2)通过研究其他理论相关结构来扩展本研究。具体说明推理(即数值、图形)、数值技能(即算术、代数)和空间技能(即可视化、心理旋转、短期记忆)的贡献有助于更好地理解CT背后的认知机制。方法对132名7-8年级(12-15岁)学生进行调查。参与者完成了计算思维测试,以及推理、数字和空间技能的各种心理测量评估。为了确定哪些认知技能与CT相关,我们计算了双变量相关性并进行了线性回归分析。结果证实了图形推理和可视化的独特贡献。额外的差异可以用代数技巧来解释。我们得出结论,CT涉及超越推理和空间技能的认知机制。
{"title":"Unravelling the numerical and spatial underpinnings of computational thinking: a pre-registered replication study","authors":"Sabrina Finke, Ferenc Kemény, M. Sommer, Vesna Krnjic, M. Arendasy, W. Slany, K. Landerl","doi":"10.1080/08993408.2022.2079864","DOIUrl":"https://doi.org/10.1080/08993408.2022.2079864","url":null,"abstract":"ABSTRACT Background Key to optimizing Computational Thinking (CT) instruction is a precise understanding of the underlying cognitive skills. Román-González et al. (2017) reported unique contributions of spatial abilities and reasoning, whereas arithmetic was not significantly related to CT. Disentangling the influence of spatial and numerical skills on CT is important, as neither should be viewed as monolithic traits. Objective This study aimed (1) to replicate the results of a previous study by Román-González et al. (Computers in Human Behaviour 72), and (2) to extend this research by investigating other theoretically relevant constructs. Specifying the contribution of reasoning (i.e. numerical, figural), numerical skills (i.e. arithmetic, algebra), and spatial skills (i.e. visualization, mental rotation, short-term memory) helps to better understand the cognitive mechanisms underlying CT. Method We investigated a sample of 132 students from Grades 7–8 (age range 12–15 years). Participants completed the Computational Thinking test, as well as a variety of psychometric assessments of reasoning, numerical, and spatial skills. To determine which cognitive skills are relevant for CT, we calculated bivariate correlations and performed a linear regression analysis. Findings Results confirmed unique contributions of figural reasoning and visualization. Additional variance was explained by algebraic skills. Implications We conclude that CT engages cognitive mechanisms extending beyond reasoning and spatial skills.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"32 1","pages":"313 - 334"},"PeriodicalIF":2.7,"publicationDate":"2022-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46074262","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 : 2022-05-17DOI: 10.1080/08993408.2022.2071543
C. Hundhausen, Phill Conrad, A. S. Carter, Olusola O. Adesope
ABSTRACT Background and Context Assessing team members’ indivdiual contributions to software development projects poses a key problem for computing instructors. While instructors typically rely on subjective assessments, objective assessments could provide a more robust picture. To explore this possibility, In a 2020 paper, Buffardi presented a correlational analysis of objective metrics and subjective metrics in an advanced software engineering project course (n= 41 students and 10 teams), finding only two significant correlations. Objective To explore the robustness of Buffardi’s findings and gain further insight, we conducted a larger scale replication of the Buffardi study (n = 118 students and 25 teams) in three courses at three institutions. Method We collected the same data as in the Buffardi study and computed the same measures from those data. We replicated Buffardi’s exploratory, correlational and regression analyses of objective and subjective measures. Findings While replicating four of Buffardi’s five significant correlational findings and partially replicating the findings of Buffardi’s regression analyses, our results go beyond those of Buffardi by identifying eight additional significant correlations. Implications In contrast to Buffardi’s study, our larger scale study suggests that subjective and objective measures of individual performance in team software development projects can be fruitfully combined to provide consistent and complementary assessments of individual performance.
{"title":"Assessing individual contributions to software engineering projects: a replication study","authors":"C. Hundhausen, Phill Conrad, A. S. Carter, Olusola O. Adesope","doi":"10.1080/08993408.2022.2071543","DOIUrl":"https://doi.org/10.1080/08993408.2022.2071543","url":null,"abstract":"ABSTRACT Background and Context Assessing team members’ indivdiual contributions to software development projects poses a key problem for computing instructors. While instructors typically rely on subjective assessments, objective assessments could provide a more robust picture. To explore this possibility, In a 2020 paper, Buffardi presented a correlational analysis of objective metrics and subjective metrics in an advanced software engineering project course (n= 41 students and 10 teams), finding only two significant correlations. Objective To explore the robustness of Buffardi’s findings and gain further insight, we conducted a larger scale replication of the Buffardi study (n = 118 students and 25 teams) in three courses at three institutions. Method We collected the same data as in the Buffardi study and computed the same measures from those data. We replicated Buffardi’s exploratory, correlational and regression analyses of objective and subjective measures. Findings While replicating four of Buffardi’s five significant correlational findings and partially replicating the findings of Buffardi’s regression analyses, our results go beyond those of Buffardi by identifying eight additional significant correlations. Implications In contrast to Buffardi’s study, our larger scale study suggests that subjective and objective measures of individual performance in team software development projects can be fruitfully combined to provide consistent and complementary assessments of individual performance.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"32 1","pages":"335 - 354"},"PeriodicalIF":2.7,"publicationDate":"2022-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43446829","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 : 2022-04-19DOI: 10.1080/08993408.2022.2060633
Hayden Cheers, Yuqing Lin
ABSTRACT Background and Context Source code plagiarism is a common occurrence in undergraduate computer science education. Many source code plagiarism detection tools have been proposed to address this problem. However, such tools do not identify plagiarism, nor suggest what assignment submissions are suspicious of plagiarism. Source code plagiarism detection tools simply evaluate and report the similarity of assignment submissions. Detecting plagiarism always requires additional human intervention. Objective This work presents an approach that enables the automated identification of suspicious assignment submissions by analysing similarity scores as reported by source code plagiarism detection tools. Method Density-based clustering is applied to a set of reported similarity scores. Clusters of scores are used to incrementally build an association graph. The process stops when there is an oversized component found in the association graph, representing a larger than expected number of students plagiarising. Thus, the constructed association graph represents groups of colluding students. Findings The approach was evaluated on data sets of real and simulated cases of plagiarism. Results indicate that the presented approach can accurately identify groups of suspicious assignment submissions, with a low error rate. Implications The approach has the potential to aid instructors in the identification of source code plagiarism, thus reducing the workload of manual reviewing.
{"title":"Identifying plagiarised programming assignments based on source code similarity scores","authors":"Hayden Cheers, Yuqing Lin","doi":"10.1080/08993408.2022.2060633","DOIUrl":"https://doi.org/10.1080/08993408.2022.2060633","url":null,"abstract":"ABSTRACT Background and Context Source code plagiarism is a common occurrence in undergraduate computer science education. Many source code plagiarism detection tools have been proposed to address this problem. However, such tools do not identify plagiarism, nor suggest what assignment submissions are suspicious of plagiarism. Source code plagiarism detection tools simply evaluate and report the similarity of assignment submissions. Detecting plagiarism always requires additional human intervention. Objective This work presents an approach that enables the automated identification of suspicious assignment submissions by analysing similarity scores as reported by source code plagiarism detection tools. Method Density-based clustering is applied to a set of reported similarity scores. Clusters of scores are used to incrementally build an association graph. The process stops when there is an oversized component found in the association graph, representing a larger than expected number of students plagiarising. Thus, the constructed association graph represents groups of colluding students. Findings The approach was evaluated on data sets of real and simulated cases of plagiarism. Results indicate that the presented approach can accurately identify groups of suspicious assignment submissions, with a low error rate. Implications The approach has the potential to aid instructors in the identification of source code plagiarism, thus reducing the workload of manual reviewing.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":" ","pages":""},"PeriodicalIF":2.7,"publicationDate":"2022-04-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47034347","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 : 2022-04-03DOI: 10.1080/08993408.2022.2085908
Brian Dorn, Jan Vahrenhold
We are very excited to introduce this issue of Computer Science Education. Readers will quickly identify a common theme of computational thinking across these papers, but the papers have more in common than just that. As a group, these papers challenge readers to consider for whom is computing, how do we support a more inclusive and equitable environment for the full range of learners, and what computational tools and pedagogical scaffolds do our teachers need to help learners do so? We hope that you will enjoy this engaging issue. The first paper, by Worsley and Bar-El, explores obstacles to engagement with makerspaces and “making” for learners with disabilities. They describe the design and implementation of a university course on inclusive making, followed by application of qualitative methods to explore why students choose to enroll in the interdisciplinary course and what they learn as a result about accessibility in this context. Data presented from three course offerings suggests that the nature of the course attracts a diverse group of students, and that their own identity beliefs play an important role in self-selecting into the course. Their analysis of course projects shows the variety of ways students applied their knowledge of course content to envision a more inclusive environment for making. This work provides an insightful framework for others seeking to expose students to elements of inclusive design. Prado, Jacob, and Warschauer continue our consideration of inclusive computing education by turning our attention to a comparative study of computational thinking in two primary school classrooms: one that includes students with and without disabilities, and one that includes students who have and have not been identified as part of a gifted and talented program. Their rich qualitative analysis underscores the importance of differentiated and scaffolded instructional strategies for teaching computational thinking to diverse groups of students, and it reminds us that the strategies needed may look different for different populations. In progressing towards a future of CSforAll, this paper challenges us to think broadly about how teachers adapt to meet all students where they are. The third paper in this issue, by Rich, Franklin, Strickland, Isaacs, and Eatinger, also focuses on how primary school students develop their understanding of computational thinking. However, their work explores the trajectory of mastering the concept of variables within integrated mathematics and computing activities. Their literature-driven analysis identified eight distinct goals and four progressively sophisticated levels of student thinking with respect to variables. The authors then instantiate this progression through a concrete set of activities to conceptually demonstrate its utility in guiding instructional design and sequencing of activities. Elaborating the relationships and dependencies of knowledge, skills, and abilities within computing at age
{"title":"Editorial","authors":"Brian Dorn, Jan Vahrenhold","doi":"10.1080/08993408.2022.2085908","DOIUrl":"https://doi.org/10.1080/08993408.2022.2085908","url":null,"abstract":"We are very excited to introduce this issue of Computer Science Education. Readers will quickly identify a common theme of computational thinking across these papers, but the papers have more in common than just that. As a group, these papers challenge readers to consider for whom is computing, how do we support a more inclusive and equitable environment for the full range of learners, and what computational tools and pedagogical scaffolds do our teachers need to help learners do so? We hope that you will enjoy this engaging issue. The first paper, by Worsley and Bar-El, explores obstacles to engagement with makerspaces and “making” for learners with disabilities. They describe the design and implementation of a university course on inclusive making, followed by application of qualitative methods to explore why students choose to enroll in the interdisciplinary course and what they learn as a result about accessibility in this context. Data presented from three course offerings suggests that the nature of the course attracts a diverse group of students, and that their own identity beliefs play an important role in self-selecting into the course. Their analysis of course projects shows the variety of ways students applied their knowledge of course content to envision a more inclusive environment for making. This work provides an insightful framework for others seeking to expose students to elements of inclusive design. Prado, Jacob, and Warschauer continue our consideration of inclusive computing education by turning our attention to a comparative study of computational thinking in two primary school classrooms: one that includes students with and without disabilities, and one that includes students who have and have not been identified as part of a gifted and talented program. Their rich qualitative analysis underscores the importance of differentiated and scaffolded instructional strategies for teaching computational thinking to diverse groups of students, and it reminds us that the strategies needed may look different for different populations. In progressing towards a future of CSforAll, this paper challenges us to think broadly about how teachers adapt to meet all students where they are. The third paper in this issue, by Rich, Franklin, Strickland, Isaacs, and Eatinger, also focuses on how primary school students develop their understanding of computational thinking. However, their work explores the trajectory of mastering the concept of variables within integrated mathematics and computing activities. Their literature-driven analysis identified eight distinct goals and four progressively sophisticated levels of student thinking with respect to variables. The authors then instantiate this progression through a concrete set of activities to conceptually demonstrate its utility in guiding instructional design and sequencing of activities. Elaborating the relationships and dependencies of knowledge, skills, and abilities within computing at age","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"32 1","pages":"153 - 154"},"PeriodicalIF":2.7,"publicationDate":"2022-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48600890","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 : 2022-04-03DOI: 10.1080/08993408.2022.2039488
Joey Huang, M. Parker
ABSTRACT Background and Context Computational thinking (CT) is a critical part of computing education in middle school. The existing practices of collaboration and collaborative design activities at this education level pairs well with CT practices, but this interaction has previously been under-explored in the existing literature. Objective In this study, we investigate whether students can learn CT through collaborative design activities and what patterns emerge over time and across instructional phases. Method We coded 6.3 hours of video observations for CT practices to create visualizations of 10-second segments of middle school students programming together. We use these visualizations to unpack nuances regarding how students demonstrate CT practices. Additionally, we provide three vignettes to highlight the interactions between students within and across the three instructional phases. Findings The findings suggest that middle school students can learn CT concepts and practices through collaborative design activities. The results demonstrate the patterns of CT practices and detail the transitions between each CT practice over time within a small group. Implications This study applies novel analysis techniques on student interaction data to examine CT through collaborative design. By bridging a CT framework with collaborative design activities, this study enhances the understanding of CT in collaborating, learning, and creating computing project-based designs.
{"title":"Developing computational thinking collaboratively: the nexus of computational practices within small groups","authors":"Joey Huang, M. Parker","doi":"10.1080/08993408.2022.2039488","DOIUrl":"https://doi.org/10.1080/08993408.2022.2039488","url":null,"abstract":"ABSTRACT Background and Context Computational thinking (CT) is a critical part of computing education in middle school. The existing practices of collaboration and collaborative design activities at this education level pairs well with CT practices, but this interaction has previously been under-explored in the existing literature. Objective In this study, we investigate whether students can learn CT through collaborative design activities and what patterns emerge over time and across instructional phases. Method We coded 6.3 hours of video observations for CT practices to create visualizations of 10-second segments of middle school students programming together. We use these visualizations to unpack nuances regarding how students demonstrate CT practices. Additionally, we provide three vignettes to highlight the interactions between students within and across the three instructional phases. Findings The findings suggest that middle school students can learn CT concepts and practices through collaborative design activities. The results demonstrate the patterns of CT practices and detail the transitions between each CT practice over time within a small group. Implications This study applies novel analysis techniques on student interaction data to examine CT through collaborative design. By bridging a CT framework with collaborative design activities, this study enhances the understanding of CT in collaborating, learning, and creating computing project-based designs.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"33 1","pages":"342 - 374"},"PeriodicalIF":2.7,"publicationDate":"2022-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49008766","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 : 2022-03-09DOI: 10.1080/08993408.2022.2044672
Jessica Vandenberg, Collin Lynch, K. Boyer, E. Wiebe
ABSTRACT Background and Context Students’ self-efficacy toward computing affect their participation in related tasks and courses. Self-efficacy is likely influenced by students’ initial experiences and exposure to computer science (CS) activities. Moreover, student interest in a subject likely informs their ability to effectively regulate their learning in that domain. One way to enhance interest in CS is through using collaborative pair programming. Objective We wanted to explore upper elementary students’ self-efficacy for and conceptual understanding of CS as manifest in collaborative and regulated discourse during pair programming. Method We implemented a five-week CS intervention with 4th and 5th grade students and collected self-report data on students’ CS attitudes and conceptual understanding, as well as transcripts of dyads talking while problem solving on a pair programming task. Findings The students’ self-report data, organized by dyad, fell into three categories based on the dyad’s CS self-efficacy and conceptual understanding scores. Findings from within- and cross-case analyses revealed a range of ways the dyads’ self-efficacy and CS conceptual understanding affected their collaborative and regulated discourse. Implications Recommendations for practitioners and researchers are provided. We suggest that upper elementary students learn about productive disagreement and how to peer model. Additionally, our findings may help practitioners with varied ways to group their students.
{"title":"“I remember how to do it”: exploring upper elementary students’ collaborative regulation while pair programming using epistemic network analysis","authors":"Jessica Vandenberg, Collin Lynch, K. Boyer, E. Wiebe","doi":"10.1080/08993408.2022.2044672","DOIUrl":"https://doi.org/10.1080/08993408.2022.2044672","url":null,"abstract":"ABSTRACT Background and Context Students’ self-efficacy toward computing affect their participation in related tasks and courses. Self-efficacy is likely influenced by students’ initial experiences and exposure to computer science (CS) activities. Moreover, student interest in a subject likely informs their ability to effectively regulate their learning in that domain. One way to enhance interest in CS is through using collaborative pair programming. Objective We wanted to explore upper elementary students’ self-efficacy for and conceptual understanding of CS as manifest in collaborative and regulated discourse during pair programming. Method We implemented a five-week CS intervention with 4th and 5th grade students and collected self-report data on students’ CS attitudes and conceptual understanding, as well as transcripts of dyads talking while problem solving on a pair programming task. Findings The students’ self-report data, organized by dyad, fell into three categories based on the dyad’s CS self-efficacy and conceptual understanding scores. Findings from within- and cross-case analyses revealed a range of ways the dyads’ self-efficacy and CS conceptual understanding affected their collaborative and regulated discourse. Implications Recommendations for practitioners and researchers are provided. We suggest that upper elementary students learn about productive disagreement and how to peer model. Additionally, our findings may help practitioners with varied ways to group their students.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"33 1","pages":"429 - 457"},"PeriodicalIF":2.7,"publicationDate":"2022-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"42098633","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 : 2022-03-06DOI: 10.1080/08993408.2022.2039504
Anja Hawlitschek, Sarah Berndt, S. Schulz
ABSTRACT Background and Context Pair programming is an important approach to fostering students’ programming and collaborative learning skills. However, the empirical findings on pair programming are mixed, especially concerning effective instructional design. Objective The objective of this literature review is to provide lecturers with systematic knowledge of current research evidences on the implementation of pair programming in courses by outlining the current state of knowledge on the effects of pair programming in higher education and on effective instructional design. Method The results are based on an analysis of 61 articles conducting empirical studies on pair programming in higher education published between 2010 and 2020. Findings Results of studies on the effects of pair programming in comparison with solo programming are to a great extent positive. Regarding instructional design there remain open questions, such as on effective instructional guidance and appropriate task design. Implications We highlight the need for more research on instructional design of pair programming to provide, for example, knowledge about effective procedures for pair programming, effective guidelines, or problem-solving approaches when problems occur within a team. We give recommendations for practitioners based on our findings.
{"title":"Empirical research on pair programming in higher education: a literature review","authors":"Anja Hawlitschek, Sarah Berndt, S. Schulz","doi":"10.1080/08993408.2022.2039504","DOIUrl":"https://doi.org/10.1080/08993408.2022.2039504","url":null,"abstract":"ABSTRACT Background and Context Pair programming is an important approach to fostering students’ programming and collaborative learning skills. However, the empirical findings on pair programming are mixed, especially concerning effective instructional design. Objective The objective of this literature review is to provide lecturers with systematic knowledge of current research evidences on the implementation of pair programming in courses by outlining the current state of knowledge on the effects of pair programming in higher education and on effective instructional design. Method The results are based on an analysis of 61 articles conducting empirical studies on pair programming in higher education published between 2010 and 2020. Findings Results of studies on the effects of pair programming in comparison with solo programming are to a great extent positive. Regarding instructional design there remain open questions, such as on effective instructional guidance and appropriate task design. Implications We highlight the need for more research on instructional design of pair programming to provide, for example, knowledge about effective procedures for pair programming, effective guidelines, or problem-solving approaches when problems occur within a team. We give recommendations for practitioners based on our findings.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"33 1","pages":"400 - 428"},"PeriodicalIF":2.7,"publicationDate":"2022-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48832708","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 : 2022-03-01DOI: 10.1080/08993408.2022.2044673
Ali Akkaya, Y. Akpinar
ABSTRACT Background and Context Though still a nascent area of research, serious games have been presented as means of engaging students in computer programming and computational thinking due to their immersive and interactive nature. Existing research is limited in its ability to provide systems based on sound instructional design models, and only a few studies validate their design with statistical support. Objective This study investigated the effects of a game which is based on experiential learning theory under framework of the four-component instructional design model on undergraduate students’ learning performance in conceptual knowledge of object-oriented programming and computational thinking skills. Method A pre-test and post-test quasi-experimental design was used to study the effects of the experiential serious games on conceptual knowledge of OOP and CT skills of 61 non-engineering students with and without prior programming knowledge. Findings The statistical analyses reveal that students with and without programming experience significantly improved their understanding of fundamental concepts of OOP. There were only weak correlations among students’ creative problem solving, attitudes towards digital game-based learning of programming, and learning. Implications We provide several recommendations for researchers and practitioners for designing and developing an effective serious game to teach novice programmers computer programming.
{"title":"Experiential serious-game design for development of knowledge of object-oriented programming and computational thinking skills","authors":"Ali Akkaya, Y. Akpinar","doi":"10.1080/08993408.2022.2044673","DOIUrl":"https://doi.org/10.1080/08993408.2022.2044673","url":null,"abstract":"ABSTRACT Background and Context Though still a nascent area of research, serious games have been presented as means of engaging students in computer programming and computational thinking due to their immersive and interactive nature. Existing research is limited in its ability to provide systems based on sound instructional design models, and only a few studies validate their design with statistical support. Objective This study investigated the effects of a game which is based on experiential learning theory under framework of the four-component instructional design model on undergraduate students’ learning performance in conceptual knowledge of object-oriented programming and computational thinking skills. Method A pre-test and post-test quasi-experimental design was used to study the effects of the experiential serious games on conceptual knowledge of OOP and CT skills of 61 non-engineering students with and without prior programming knowledge. Findings The statistical analyses reveal that students with and without programming experience significantly improved their understanding of fundamental concepts of OOP. There were only weak correlations among students’ creative problem solving, attitudes towards digital game-based learning of programming, and learning. Implications We provide several recommendations for researchers and practitioners for designing and developing an effective serious game to teach novice programmers computer programming.","PeriodicalId":45844,"journal":{"name":"Computer Science Education","volume":"32 1","pages":"476 - 501"},"PeriodicalIF":2.7,"publicationDate":"2022-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48142861","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}