NotesFAQContact Us
Collection
Advanced
Search Tips
Showing all 10 results Save | Export
Peer reviewed Peer reviewed
Direct linkDirect link
Bhagya Munasinghe; Tim Bell; Anthony Robins – ACM Transactions on Computing Education, 2023
In learning to program and understanding how a programming language controls a computer, learners develop both insights and misconceptions whilst their mental models are gradually refined. It is important that the learner is able to distinguish the different elements and roles of a computer (compiler, interpreter, memory, etc.), which novice…
Descriptors: Computation, Thinking Skills, Programming, Programming Languages
Peer reviewed Peer reviewed
Direct linkDirect link
Austin M. Shin; Ayaan M. Kazerouni – ACM Transactions on Computing Education, 2024
Background and Context: Students' programming projects are often assessed on the basis of their tests as well as their implementations, most commonly using test adequacy criteria like branch coverage, or, in some cases, mutation analysis. As a result, students are implicitly encouraged to use these tools during their development process (i.e., so…
Descriptors: Feedback (Response), Programming, Student Projects, Computer Software
Peer reviewed Peer reviewed
Direct linkDirect link
Diana Kirk; Andrew Luxton-Reilly; Ewan Tempero – ACM Transactions on Computing Education, 2025
Objectives: Code style is an important aspect of text-based programming because programs written with good style are considered easier to understand and change and so improve the maintainability of the delivered software product. However teaching code style is complicated by the existence of many style guides and standards that contain…
Descriptors: Computer Science Education, Programming, Computer Software, Teaching Methods
Peer reviewed Peer reviewed
Direct linkDirect link
Duran, Rodrigo; Sorva, Juha; Seppälä, Otto – ACM Transactions on Computing Education, 2021
We propose a framework for identifying, organizing, and communicating learning objectives that involve program semantics. In this framework, detailed learning objectives are written down as rules of program behavior (RPBs). RPBs are teacher-facing statements that describe what needs to be learned about the behavior of a specific sort of programs.…
Descriptors: Behavioral Objectives, Computer Science Education, Programming, Evaluation Criteria
Peer reviewed Peer reviewed
Direct linkDirect link
Thomas, Paul J.; Patel, Devang; Magana, Alejandra J. – ACM Transactions on Computing Education, 2021
Software modeling is an integral practice for software engineers, especially as the complexity of software solutions increases. Unified Modeling Language (UML) is the industry standard for software modeling. however, it is often used incorrectly and misunderstood by novice software designers. This study is centered around understanding patterns of…
Descriptors: Computer Science Education, Models, Computer Software, Programming Languages
Peer reviewed Peer reviewed
Direct linkDirect link
Alexandron, Giora; Armoni, Michal; Gordon, Michal; Harel, David – ACM Transactions on Computing Education, 2014
In this article, we discuss the possible connection between the programming language and the paradigm behind it, and programmers' tendency to adopt an external or internal perspective of the system they develop. Based on a qualitative analysis, we found that when working with the visual, interobject language of live sequence charts (LSC),…
Descriptors: Programming Languages, Attitudes, Usability, Problem Solving
Peer reviewed Peer reviewed
Direct linkDirect link
Lagus, Jarkko; Longi, Krista; Klami, Arto; Hellas, Arto – ACM Transactions on Computing Education, 2018
The computing education research literature contains a wide variety of methods that can be used to identify students who are either at risk of failing their studies or who could benefit from additional challenges. Many of these are based on machine-learning models that learn to make predictions based on previously observed data. However, in…
Descriptors: Computer Science Education, Transfer of Training, Programming, Educational Objectives
Peer reviewed Peer reviewed
Direct linkDirect link
Dolog, Peter; Thomsen, Lone Leth; Thomsen, Bent – ACM Transactions on Computing Education, 2016
Problem-Based Learning (PBL) has often been seen as an all-or-nothing approach, difficult to apply in traditional curricula based on traditional lectured courses with exercise and lab sessions. Aalborg University has since its creation in 1974 practiced PBL in all subjects, including computer science and software engineering, following a model…
Descriptors: Problem Based Learning, Teaching Methods, Computer Software, Computer Science Education
Peer reviewed Peer reviewed
Direct linkDirect link
Liberman, Neomi; Beeri, Catriel; Kolikant, Yifat Ben-David – ACM Transactions on Computing Education, 2011
This article reports on difficulties related to the concepts of inheritance and polymorphism, expressed by a group of 22 in-service CS teachers with an experience with the procedural paradigm, as they coped with a course on OOP. Our findings are based on the analysis of tests, questionnaires that the teachers completed in the course, as well as on…
Descriptors: Programming, Teaching Methods, Computer Science Education, Questionnaires
Peer reviewed Peer reviewed
Direct linkDirect link
Carro, Manuel; Herranz, Angel; Marino, Julio – ACM Transactions on Computing Education, 2013
We present an undergraduate course on concurrent programming where formal models are used in different stages of the learning process. The main practical difference with other approaches lies in the fact that the ability to develop correct concurrent software relies on a systematic transformation of formal models of inter-process interaction (so…
Descriptors: Computer Science Education, Programming, Models, Teaching Methods