ACM Transactions on

Computing Education (TOCE)

Latest Articles

The Effects of Adding Non-Compulsory Exercises to an Online Learning Tool on Student Performance and Code Copying

This study analyzes the impact of adding a review exercises module to an online tool used in a... (more)

Digital and Physical Fabrication as Multimodal Learning: Understanding Youth Computational Thinking When Making Integrated Systems Through Bidirectionally Responsive Design

This article proposes and explores the kinds of computational thinking, creative practices, design activities, and inclusive learning opportunities... (more)

A Robust Machine Learning Technique to Predict Low-performing Students

As enrollments and class sizes in postsecondary institutions have increased, instructors have sought automated and lightweight means to identify... (more)

Does Computer Game Design and Programming Benefit Children? A Meta-Synthesis of Research

It is widely believed that there are educational benefits to making computer games, but there is no systematic review of research on this topic. This... (more)

Identifying Pathways to Computer Science: The Long-Term Impact of Short-Term Game Programming Outreach Interventions

Short-term outreach interventions are conducted to raise young students’ awareness of the computer science (CS) field. Typically, these interventions are targeted at K–12 students, attempting to encourage them to study CS in higher education. This study is based on a series of extra-curricular outreach events that introduced... (more)

A Framework for Teaching Security Design Analysis Using Case Studies and the Hybrid Flipped Classroom

With ever-greater reliance of the developed world on information and communication technologies,... (more)

Learning IS Child’s Play: Game-Based Learning in Computer Science Education

Game-based learning has received significant attention in educational pedagogy as an effective way of increasing student motivation and engagement. The majority of the work in this area has been focused on digital games or games involving technology. We focus on the use of traditional game design in improving student engagement and perception of... (more)

Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming

Programming skills are an increasingly desirable asset across disciplines; however, learning to... (more)

Equitable Learning Environments in K-12 Computing: Teachers’ Views on Barriers to Diversity

The current efforts to expand computer science (CS) education in K-12 schools, such as the “CS for All” initiative, highlight the need... (more)

Chutes and Ladders: Institutional Setbacks on the Computer Science Community College Transfer Pathway

Community colleges play a large role in educating students who are historically underrepresented in computer science (CS), including women, Latino men, and Black men, as well as post-traditional (older or working) students. In spite of this, there is a dearth of research on the institutional factors that influence whether or not community college... (more)

Incorporating Computing Professionals’ Know-how: Differences between Assessment by Students, Academics, and Professional Experts

It is important for both computer science academics and students to clearly comprehend the differences between academic and professional perspectives... (more)

Source-code Similarity Detection and Detection Tools Used in Academia: A Systematic Review

Teachers deal with plagiarism on a regular basis, so they try to prevent and detect plagiarism, a task that is complicated by the large size of some... (more)



ACM TOCE Charter Updated

ACM TOCE's charter has been updated for the first time since its inception! It significantly expands TOCE's scope while reaffirming its commitment to publishing rigorous, peer-reviewed articles that make significant contributions to computing education theory, research, and practice. READ CHARTER

ACM Reappoints Editor-in-Chief

The ACM Publications Board has appointed Dr. Chris Hundhausen, current ACM TOCE editor-in-chief, to a second three-year term, which runs from August 31, 2018 through August 30, 2021. Chris is excited to continue his collaboration with the computing education community on the important work of maintaining, growing, and improving our premier archival publication for computing education research.

Submit Special Edition Proposals

ACM TOCE seeks proposals from researchers and educators interested in guest-editing special issues on topics of interest and relevance to the computing education research community. If you have an idea for a special issue, please email the editor-in-chief.

Special Edition Issues Coming Soon

ACM TOCE will soon publish accepted manuscripts from our three special issues: "Global Software Engineering," "Capstones and Projects," and "Machine Learning Education."

ACM TOCE Review Process is Now Double-Blind 

Authors who submit papers to ACM TOCE should see the paragraphs on double-blind review in the newly-updated author guidelines for details on how to anonymize their papers for submission. Papers that are not properly anonymized will be returned to authors, thus delaying the review process. 

Authors: Submit by 8:00 am on First Day of Month for Fastest Review 

ACM TOCE's monthly peer review process begins on the first day of each month. On this day, we begin reviewing all papers received by our "soft" deadline:  8:00 a.m. U.S. Pacific Time on the first day of the month. If you want your paper to be reviewed as quickly as possible, submit it just before our monthly "soft" deadline.

About TOCE

The ACM Transactions on Computing Education (TOCE) publishes high quality, peer-reviewed research articles on the teaching and learning of computing from childhood through adulthood. By establishing clear connections between theoretical, pedagogical and technological advances and student learning and teaching, TOCE articles take a scholarly approach to computing education research, and are of potential interest to a broad audience, including instructors, researchers, instructional designers, and administrators.  READ MORE

Forthcoming Articles

A New Look at Novice Programmer Errors

The types of programming error 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 error students make, due to the inaccuracy and imprecision of diagnostic messages. Furthermore, few attempts have been made to determine the severity of different kinds of error in terms other than frequency of occurrence. Previously, we developed a method for meaningful categorization of errors, and produced a frequency distribution of these error categories; in this paper, we extend the previous method to also make a determination of error difficulty, in order to give a better measurement of the overall severity of different kinds of error. An error category hierarchy was developed and validated, and errors in snapshots of students source code were categorized accordingly. The result is a frequency table of logical error categories rather than diagnostic messages. Resolution time for each of the analyzed errors was calculated, and the average resolution time for each category of error was determined; this defines an error difficulty score. The combination of frequency and difficulty allow us to identify the types of error that are most problematic for novice programmers. The results show that ranking errors by severity  a product of frequency and difficulty  yields a significantly different ordering than ranking them by frequency alone, indicating that error frequency by itself may not be a suitable indicator for which errors are actually the most problematic for students.

Programming embodied interactions with a remotely controlled educational robot

Contemporary research has introduced robots in the classroom, but there is a limited number of studies about the effects of alternative embodied interactions with them on learning and attitudes. Apart from the goal of the robot and how the robot will interact with its environment another important aspect that should be taken into consideration is whether and how the user will physically interact with the robot. In this work, we explored the synergy between embodied learning and educational robotics through a series of programming activities in an attempt to expand students? learning in computational thinking. Thirty-six middle school students were asked to develop interfaces for controlling a robot using diverse interaction modalities, such as touch, speech, hand and full-body gestures. We measured students? perception of computing and assessed the development of their computational thinking skills by analyzing the sophistication of the projects they created during a problem-solving task. We also examined their computational practices to gain a more comprehensive view of their understandings. We found that students who programmed combinations of low embodiment interfaces or interfaces with no embodiment produced more sophisticated projects and adopted more sophisticated computational practices compared to those who programmed full-body interfaces. These findings suggest that there might be a trade-off between the appeal and the cognitive benefit of rich embodied interaction. In further work, educational robotics research and competitions might be complemented with a hybrid approach that blends the traditional autonomous robot movement with student enactment.

What Is Hard About Teaching Machine Learning to Non-Majors? Insights From Classifying Instructors' Learning Goals

Given its societal impacts and applications to numerous fields, machine learning (ML) is an important topic to understand for many students outside of computer science and statistics. However, machine learning education research is nascent, and research on this subject for non-majors thus far has only focused on curricula and courseware. We interviewed ten instructors of ML courses for non-majors, inquiring as to what their students find both easy and difficult about machine learning. While ML has a reputation for having algorithms that are difficult to understand, in practice our participating instructors reported that it was not the algorithms that were difficult to teach, but the higher-level design decisions. We found that the learning goals that participants described as hard to teach were consistent with higher levels of the Structure of Observed Learning Outcomes (SOLO) taxonomy, such as making design decisions and comparing/contrasting models. We also found that the learning goals that were described as easy to teach, such as following the steps of particular algorithms, were consistent with the lower levels of the SOLO taxonomy. Realizing that higher-SOLO learning goals are more difficult to teach is useful for informing course design, public outreach, and the design of educational tools for teaching ML.

State Case Study of Computing Education Governance

High school computing education reform efforts have been ongoing across the United States, particularly in the past decade. Although national computer science (CS) for All initiatives are promising, states retain control over education policies. Recent computing education reform efforts in Maryland focused on providing every public high school student with access to high quality high school computing courses. Such access provides exposure to computing careers and better prepares a diverse pool of students for computing majors in college. This comprehensive embedded multi-level case study examines the computing education reform efforts from 2010 through 2016. The expansion of computing education indicates that while there was positive growth, the growth is not the same for all public high school students. Despite successes, barriers at the state, Local Education Agencies (LEA), school, and classroom levels persist and are discussed. The findings in this study are applicable to other states with similar policy structures.

Pedagogy that Supports Computer Science for All

The CS for All movement has taken hold of the US and CS education is rapidly expanding across nations throughout the world. Yet as curricula and professional development opportunities are developed, key questions remain about what ?works? for engaging youth in CS education when they do not necessarily look like the majority of computer scientists nor feel like they belong in the field. In response, this study answers the questions: What teaching practices do students?who are underrepresented in CS?believe are most effective for engaging their interest in CS learning? What pedagogical actions do CS teachers identify as most effective for engaging students? And what does this effective teaching look like in introductory CS classes enrolling majority students underrepresented in the field? Through a qualitative study following three different urban high school Exploring Computer Science classrooms over an entire school year (n = 70 students, 3 teachers; >105 hours of observation data; >50 interviews with students and teachers), key pedagogical practices that had greatest impact on youth?s interest and engagement learning CS included: 1) demystifying CS by showing its connections to everyday life; 2) addressing social issues impacting both CS and students? communities; and 3) valuing students? voices and perspectives in the CS classroom. This paper shares testimonies from students and teachers, as well as examples of these teaching practices in the classroom.

Using informed design in informal Computer Science programs to increase youths' interest, self-efficacy, and perceptions of parental support

Our work is situated in research on Computer Science (CS) learning in informal learning environments and literature on the factors that influence girls to enter CS. In this paper, we outline design choices around the creation of a summer programming camp for middle school youth. In addition, we describe a near-peer mentoring model we used that was influenced by Bandura?s self-efficacy theory. The purpose of this paper, apart from promoting transparency of program design, was to evaluate the effectiveness of our camp design in terms of increasing youths? interest, self-efficacy beliefs, and perceptions of parental support. We found significant gains for all three of these concepts. Additionally, we make connections between our design choices (e.g. videos, peer support, mentor support) and the affective gains by thematically analyzing interview data concerning the outcomes found in our camps.

Machine Learning Education for Artists, Musicians, and Other Creative Practitioners

This article aims to lay a foundation for the research and practice of ML education for creative practitioners. We begin by motivating the usefulness of ML for creative practice, and briefly describing the long history of ML's use in art, music, dance, and related fields. We propose a set of learning objectives for creative practitioners learning about ML, and we describe where these objectives likely differ from non-creative contexts. We describe a curriculum---including lecture topics and assignments, as well as underpinning abstractions and illustrative examples---developed to support these learning objectives in an introductory supervised learning class aimed at musicians, artists, and other creative practitioners. We also describe a set of scaffolding technologies to support constructivist experimentation and creative project development. These resources are aimed at students who may not be programmers, who may lack strong mathematics backgrounds, and who have an interest in creative work with technology (e.g., in music, art, game design). We describe our use of this curriculum and toolset an undergraduate course, a masters-level course, and an online MOOC. We use data collected from these classes to explore the following questions: (1) How successful were this curriculum and toolset in enabling students to meet the proposed learning objectives? (2) How did the proposed abstractions, examples, and tools function in student experimentation and reasoning? (3) What motivated students in these courses to study machine learning? And what types of creative work were enabled by successful attainment of the learning objectives? (4) What were significant challenges and misconceptions for these students? To answer these questions, we employ methods including quantitative analysis of software log data and assignment submissions, qualitative coding of student written work and forum posts, and examination of students' final creative projects. This work informs further practical work and research around ML education for creative practitioners. It also has broader implications for ML education for other populations, including contributing to development of pedagogical content knowledge for ML, illustrating how ML may be integrated earlier into CS curricula, and providing approaches and tools that can be adopted in education of the broader public.

Social genesis in computing education

In this paper, we inquire into how a teacher and students in a classroom write code together. In doing so, we treat the classroom situation not as an interaction of individual cognitive agents, but a phenomenon that is irreducibly social. We take as a theoretical basis of analysis Vygotskys genetic law of cultural development, which states that all higher-level individual mental functioning is historically preceded by and reproduces social relations between people. Using this principle, we reveal the social relations that develop in the classroom that regulate the way in which ideas are shared and code is produced for a particular coding problem. This offers a rule-regulated and dialogical model for writing code that is significantly different from the schema-based models posited in cognitive accounts of learning to program.

Learning to Get Literal: Investigating Reference-Point Difficulties in Novice Programming

We investigate conditions in which novices make reference errors when programming. We asked students from introductory programming courses to perform a simple code-writing task that required constructing references to computer objects and their attributes. By experimentally manipulating the nature of the attributes in the tasks, from identifying attributes (e.g. name or label) to descriptive attributes (e.g. calories, texture), the study revealed the relative frequencies with which students mistakenly omit an identifying attribute name while attempting to reference the attribute value. We explain how this behavior is consistent with the use of metonymy, a form of figurative expression in human communication. Our analysis also reveals how the presentation of examples can affect the construction of the reference in the student's solution. We discuss plausible accounts of the reference-point errors and how they may inform a working cognitive model.

Brains and Blocks: Introducing Novice Programmers to Brain-Computer Interface Application Development

Brain-Computer Interface (BCI) hardware is becoming more affordable and accessible. However, there is limited work investigating ways to design software that broadens participation with BCI technology. In this article, we present a block-based programming environment designed to assist novice programmers with creating BCI applications. We also discuss learning barriers encountered by novice programmers developing neurofeedback applications. Our findings suggest that visual programming assists novice programmers with building basic BCI applications; however, students may experience understanding and learning barriers initially.

All ACM Journals | See Full Journal Index

Search TOCE
enter search term and/or author name