Max Fowler, David H. Smith IV, Mohammed Hassan, Seth Poulsen, Matthew West, C. Zilles
{"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}
{"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}
Sabrina Finke, Ferenc Kemény, M. Sommer, Vesna Krnjic, M. Arendasy, W. Slany, K. Landerl
{"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}
C. Hundhausen, Phill Conrad, A. S. Carter, Olusola O. Adesope
{"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}
{"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}
{"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}
{"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}
Jessica Vandenberg, Collin Lynch, K. Boyer, E. Wiebe
{"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}
{"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}
{"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}