NotesFAQContact Us
Collection
Advanced
Search Tips
Showing all 14 results Save | Export
Peer reviewed Peer reviewed
Direct linkDirect link
Shindler, Michael; Pinpin, Natalia; Markovic, Mia; Reiber, Frederick; Kim, Jee Hoon; Carlos, Giles Pierre Nunez; Dogucu, Mine; Hong, Mark; Luu, Michael; Anderson, Brian; Cote, Aaron; Ferland, Matthew; Jain, Palak; LaBonte, Tyler; Mathur, Leena; Moreno, Ryan; Sakuma, Ryan – Computer Science Education, 2022
Background and Context: We replicated and expanded on previous work about how well students learn dynamic programming, a difficult topic for students in algorithms class. Their study interviewed a number of students at one university in a single term. We recruited a larger sample size of students, over several terms, in both large public and…
Descriptors: Misconceptions, Programming, Computer Science Education, Replication (Evaluation)
Peer reviewed Peer reviewed
Direct linkDirect link
Hamouda, Sally; Edwards, Stephen H.; Elmongui, Hicham G.; Ernst, Jeremy V.; Shaffer, Clifford A. – Computer Science Education, 2020
Background and Context: Recursion in binary trees has proven to be a hard topic. There was not much research on enhancing student understanding of this topic. Objective: We present a tutorial to enhance learning through practice of recursive operations in binary trees, as it is typically taught post-CS2. Method: We identified the misconceptions…
Descriptors: Computer Science Education, Programming, Coding, Student Attitudes
Peer reviewed Peer reviewed
Direct linkDirect link
Miller, Craig S. – Computer Science Education, 2014
When learning to program, students often mistakenly refer to an element that is structurally related to the element that they intend to reference. For example, they may indicate the attribute of an object when their intention is to reference the whole object. This paper examines these reference-point errors through the context of metonymy.…
Descriptors: Computer Science Education, Programming, Novices, Figurative Language
Peer reviewed Peer reviewed
Direct linkDirect link
McCauley, RenĂ©e; Grissom, Scott; Fitzgerald, Sue; Murphy, Laurie – Computer Science Education, 2015
Hundreds of articles have been published on the topics of teaching and learning recursion, yet fewer than 50 of them have published research results. This article surveys the computing education research literature and presents findings on challenges students encounter in learning recursion, mental models students develop as they learn recursion,…
Descriptors: Computer Science Education, Programming, Literature Reviews, Best Practices
Peer reviewed Peer reviewed
Direct linkDirect link
Boustedt, Jonas – Computer Science Education, 2012
The software industry needs well-trained software designers and one important aspect of software design is the ability to model software designs visually and understand what visual models represent. However, previous research indicates that software design is a difficult task to many students. This article reports empirical findings from a…
Descriptors: Foreign Countries, Computer Software, Computer Science Education, Programming
Peer reviewed Peer reviewed
Direct linkDirect link
Cetin, Ibrahim – Computer Science Education, 2013
The purpose of this study was twofold: to investigate students' concept images about class, object, and their relationship and to help them enhance their learning of these notions with a visualization tool. Fifty-six second-year university students participated in the study. To investigate his/her concept images, the researcher developed a survey…
Descriptors: Computer Science Education, Programming, Visualization, Animation
Peer reviewed Peer reviewed
Direct linkDirect link
Vahrenhold, Jan; Paul, Wolfgang – Computer Science Education, 2014
We report on the development, validation, and implementation of a collection of test items designed to detect misconceptions related to first-year computer science courses. To this end, we reworked the development scheme proposed by Almstrum et al. ("SIGCSE Bulletin" 38(4):132-145, 2006) to include students' artifacts and to…
Descriptors: Computer Science Education, Introductory Courses, Test Items, Evaluation Methods
Peer reviewed Peer reviewed
Direct linkDirect link
Taherkhani, Ahmad; Korhonen, Ari; Malmi, Lauri – Computer Science Education, 2012
In this study, we examined freshmen students' sorting algorithm implementations in data structures and algorithms' course in two phases: at the beginning of the course before the students received any instruction on sorting algorithms, and after taking a lecture on sorting algorithms. The analysis revealed that many students have insufficient…
Descriptors: Foreign Countries, Classification, Mathematics, Computer Science Education
Peer reviewed Peer reviewed
Direct linkDirect link
Sien, Ven Yu – Computer Science Education, 2011
Object-oriented analysis and design (OOAD) is not an easy subject to learn. There are many challenges confronting students when studying OOAD. Students have particular difficulty abstracting real-world problems within the context of OOAD. They are unable to effectively build object-oriented (OO) models from the problem domain because they…
Descriptors: Foreign Countries, Computer Science Education, Undergraduate Students, Computer Software
Peer reviewed Peer reviewed
Direct linkDirect link
Ma, L.; Ferguson, J.; Roper, M.; Wood, M. – Computer Science Education, 2011
The teaching of introductory computer programming seems far from successful, with many first-year students performing more poorly than expected. One possible reason for this is that novices hold "non-viable" mental models (internal explanations of how something works) of key programming concepts which then cause misconceptions and difficulties. An…
Descriptors: Teaching Models, Programming, Misconceptions, Models
Peer reviewed Peer reviewed
Direct linkDirect link
Fitzgerald, Sue; Lewandowski, Gary; McCauley, Renee; Murphy, Laurie; Simon, Beth; Thomas, Lynda; Zander, Carol – Computer Science Education, 2008
Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java…
Descriptors: Troubleshooting, Teaching Methods, Computer Science Education, Programming
Peer reviewed Peer reviewed
Direct linkDirect link
Seppala, Otto; Malmi, Lauri; Korhonen, Ari – Computer Science Education, 2006
Data structures and algorithms are core issues in computer programming. However, learning them is challenging for most students and many of them have various types of misconceptions on how algorithms work. In this study, we discuss the problem of identifying misconceptions on the principles of how algorithms work. Our context is algorithm…
Descriptors: Programming, Abstract Reasoning, Misconceptions, Case Studies
Peer reviewed Peer reviewed
Direct linkDirect link
Kolikant, Y. Ben-David; Mussai, M. – Computer Science Education, 2008
We studied students' conceptions of correctness and their influence on students' correctness-related practices by examining how 159 students had analyzed the correctness of error-free and erroneous algorithms and by interviewing seven students regarding their work. We found that students conceptualized program correctness as the sum of the…
Descriptors: Misconceptions, Computer Science Education, Science Instruction, Programming
Peer reviewed Peer reviewed
Direct linkDirect link
Simon, Beth; Bouvier, Dennis; Chen, Tzu-Yi; Lewandowski, Gary; McCartney, Robert; Sanders, Kate – Computer Science Education, 2008
We report on responses to a series of four questions designed to identify pre-existing abilities related to debugging and troubleshooting experiences of novice students before they begin programming instruction. The focus of these questions include general troubleshooting, bug location, exploring unfamiliar environments, and describing students'…
Descriptors: Troubleshooting, Teaching Methods, Computer Science Education, Programming