NotesFAQContact Us
Collection
Advanced
Search Tips
Audience
Laws, Policies, & Programs
Assessments and Surveys
What Works Clearinghouse Rating
Showing all 14 results Save | Export
Peer reviewed Peer reviewed
Direct linkDirect link
Heinsen Egan, Matthew; McDonald, Chris – Computer Science Education, 2021
Background and Context: Students learning the C programming language struggle to debug, and to understand the runtime behaviour of, their programs. Objective: We examine a tool that combines several novice-focused error detection, program visualization, and debugging techniques, to investigate which features students use in real study sessions,…
Descriptors: Computer Science Education, Programming Languages, Programming, Novices
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Paassen, Benjamin; McBroom, Jessica; Jeffries, Bryn; Koprinska, Irena; Yacef, Kalina – Journal of Educational Data Mining, 2021
Educational data mining involves the application of data mining techniques to student activity. However, in the context of computer programming, many data mining techniques can not be applied because they require vector-shaped input, whereas computer programs have the form of syntax trees. In this paper, we present ast2vec, a neural network that…
Descriptors: Data Analysis, Programming Languages, Networks, Novices
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Felienne Hermans – Informatics in Education, 2024
This autoethnographic paper is part of a special issue trying to answer the question "How to design or choose languages for programming novices?" I will describe how my programming language Hedy was created, how the initial design goals were formed, how my perspectives on learning and teaching changed along the way, and how Hedy changed…
Descriptors: Decision Making, Programming Languages, Novices, Computer Science Education
Peer reviewed Peer reviewed
Direct linkDirect link
McCall, Davin; Kölling, Michael – ACM Transactions on Computing Education, 2019
The types of programming errors that novice programmers make and struggle to resolve have long been of interest to researchers. Various past studies have analyzed the frequency of compiler diagnostic messages. This information, however, does not have a direct correlation to the types of errors students make, due to the inaccuracy and imprecision…
Descriptors: Computer Software, Programming, Error Patterns, Novices
Peer reviewed Peer reviewed
Direct linkDirect link
Marowka, Ami – Education and Information Technologies, 2018
Python is gaining popularity in academia as the preferred language to teach novices serial programming. The syntax of Python is clean, easy, and simple to understand. At the same time, it is a high-level programming language that supports multi programming paradigms such as imperative, functional, and object-oriented. Therefore, by default, it is…
Descriptors: Computer Science Education, Programming Languages, Computer Software, Engineering Education
Peer reviewed Peer reviewed
PDF on ERIC Download full text
Mao, Ye; Shi, Yang; Marwan, Samiha; Price, Thomas W.; Barnes, Tiffany; Chi, Min – International Educational Data Mining Society, 2021
As students learn how to program, both their programming code and their understanding of it evolves over time. In this work, we present a general data-driven approach, named "Temporal-ASTNN" for modeling student learning progression in open-ended programming domains. Temporal-ASTNN combines a novel neural network model based on abstract…
Descriptors: Programming, Computer Science Education, Learning Processes, Learning Analytics
Peer reviewed Peer reviewed
Direct linkDirect link
Brown, Neil C. C.; Altadmri, Amjad – ACM Transactions on Computing Education, 2017
Teaching is the process of conveying knowledge and skills to learners. It involves preventing misunderstandings or correcting misconceptions that learners have acquired. Thus, effective teaching relies on solid knowledge of the discipline, but also a good grasp of where learners are likely to trip up or misunderstand. In programming, there is much…
Descriptors: Novices, Programming Languages, Programming, Error Patterns
Peer reviewed Peer reviewed
Direct linkDirect link
Kolling, Michael; McKay, Fraser – ACM Transactions on Computing Education, 2016
The past few years has seen a proliferation of novice programming tools. The availability of a large number of systems has made it difficult for many users to choose among them. Even for education researchers, comparing the relative quality of these tools, or judging their respective suitability for a given context, is hard in many instances. For…
Descriptors: Heuristics, Programming, Programming Languages, Computer Software
Peer reviewed Peer reviewed
Direct linkDirect link
Thompson, Errol; Kinshuk – Computer Science Education, 2011
Object-oriented programming is seen as a difficult skill to master. There is considerable debate about the most appropriate way to introduce novice programmers to object-oriented concepts. Is it possible to uncover what the critical aspects or features are that enhance the learning of object-oriented programming? Practitioners have differing…
Descriptors: Expertise, Novices, Phenomenology, Learning Processes
Peer reviewed Peer reviewed
Direct linkDirect link
Ahmadzadeh, Marzieh; Mahmoudabadi, Elham; Khodadadi, Farzad – Journal of Information Technology Education, 2011
Anecdotal evidence shows that in computer programming courses plagiarism is a widespread problem. With the growing number of students in such courses, manual plagiarism detection is impractical. This requires instructors to use one of the many available plagiarism detection tools. Prior to choosing one of such tools, a metric that assures the…
Descriptors: Foreign Countries, Plagiarism, Programming Languages, Computer Software
Peer reviewed Peer reviewed
Direct linkDirect link
Rashkovits, Rami; Lavy, Ilana – Journal of Information Technology Education: Innovations in Practice, 2012
This study examines how Information Systems Engineering School students on the verge of their graduation understand the mechanism of exception handling. The main contributions of this paper are as follows: we construct a questionnaire aimed at examining students' level of understanding concerning exceptions; we classify and analyse the students'…
Descriptors: Programming, Programming Languages, Computer Science Education, College Curriculum
Peer reviewed Peer reviewed
Direct linkDirect link
Rashkovits, Rami; Lavy, Ilana – Journal of Information Technology Education, 2011
This study discusses and presents various strategies employed by novice programmers concerning exception handling. The main contributions of this paper are as follows: we provide an analysis tool to measure the level of assimilation of exception handling mechanism; we present and analyse strategies to handle exceptions; we present and analyse…
Descriptors: Foreign Countries, Programming Languages, Computer Software, Computer Software Evaluation
Peer reviewed Peer reviewed
Direct linkDirect link
Hung, Y.-C. – IEEE Transactions on Education, 2012
This paper investigates the impact of combining self explaining (SE) with computer architecture diagrams to help novice students learn assembly language programming. Pre- and post-test scores for the experimental and control groups were compared and subjected to covariance (ANCOVA) statistical analysis. Results indicate that the SE-plus-diagram…
Descriptors: Foreign Countries, Control Groups, Experimental Groups, Web Sites
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