Publication Date
In 2025 | 1 |
Since 2024 | 2 |
Since 2021 (last 5 years) | 5 |
Since 2016 (last 10 years) | 7 |
Since 2006 (last 20 years) | 10 |
Descriptor
Models | 10 |
Computer Science Education | 8 |
Programming | 8 |
Computer Software | 5 |
Programming Languages | 5 |
Foreign Countries | 4 |
Teaching Methods | 4 |
Academic Achievement | 2 |
College Students | 2 |
Problem Solving | 2 |
Student Projects | 2 |
More ▼ |
Source
ACM Transactions on Computing… | 10 |
Author
Alexandron, Giora | 1 |
Andrew Luxton-Reilly | 1 |
Anthony Robins | 1 |
Armoni, Michal | 1 |
Austin M. Shin | 1 |
Ayaan M. Kazerouni | 1 |
Beeri, Catriel | 1 |
Bhagya Munasinghe | 1 |
Carro, Manuel | 1 |
Diana Kirk | 1 |
Dolog, Peter | 1 |
More ▼ |
Publication Type
Journal Articles | 10 |
Reports - Research | 8 |
Reports - Descriptive | 1 |
Reports - Evaluative | 1 |
Education Level
Higher Education | 6 |
Postsecondary Education | 6 |
High Schools | 1 |
Audience
Location
Asia | 1 |
Australia | 1 |
Denmark | 1 |
Finland (Helsinki) | 1 |
Israel | 1 |
Laws, Policies, & Programs
Assessments and Surveys
What Works Clearinghouse Rating
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
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
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
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
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
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
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
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
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
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