ACM Transactions on

Computing Education (TOCE)

Latest Articles

Integrating Ethics within Machine-learning Courses

This article establishes and addresses opportunities for ethics integration into Machine-learning (ML) courses. Following a survey of the history of... (more)

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... (more)

Social Genesis in Computing Education

It is common to think of learning as the acquisition of knowledge by an individual learner. Starting a century ago, Lev Vygotsky developed a different perspective on learning, initiating a tradition of educational research whose momentum and influence continue to grow. One of Vygotsky's key principles is the general genetic law of cultural... (more)

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... (more)

Pedagogy that Supports Computer Science for All

The Computer Science (CS) for All movement has taken hold of the United States and CS education is rapidly expanding across nations throughout the... (more)

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 article, we outline design... (more)

A New Look at Novice Programmer Errors

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 of... (more)

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... (more)

Programming Embodied Interactions with a Remotely Controlled Educational Robot

Contemporary research has explored educational robotics, but it has not examined the development of computational thinking in the context of... (more)

Design and Evaluation of an “Athletic” Approach to Software Engineering Education

Modern web application development provides an attractive application area for introductory software... (more)


July Submission Deadline Extended

Due to travel, the editor-in-chief will not be able to review July submissions until July 8. You have one extra week to submit in time for the July reviewing deadline.  

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

Launching an Agenda for Research on Learning Machine Learning

Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks

Novice programmers often encounter difficulties performing debugging tasks effectively. Even if modern development environments (IDEs) provide high-level support for navigating through code elements and for identifying the right conditions leading to the bug, debugging still requires considerable human effort. Programmers usually have to make hypotheses that are based on both program state evolution and their past debugging experiences. To mitigate this effort and allow novice programmers to gain debugging experience quickly, we propose an approach based on the reuse of existing bugs of open source systems to provide informed guidance from the failure site to the fault position. The goal is to help novices in reasoning on the most promising paths to follow and conditions to define. We implemented this approach as a tool that exploits the knowledge about fault and bug position in the system, as long as any bug of the system is known. The effectiveness of the proposed approach is validated through a quasi-experiment that qualitatively and quantitatively evaluates how the debugging performances of the students change when they are trained using the tool.

Understanding the Knowledge Gaps of Software Engineers: An Empirical Analysis Based on SWEBOK

Context: Knowledge level, quality and productivity of software engineering (SE) workforce are the subject of regular discussions among practitioners, educators, and researchers. There have been many efforts to measure and address the knowledge gap between SE education and industrial needs. Objective: Although the existing efforts for aligning SE education and industrial needs have provided valuable insights, there is a need for analyzing the SE topics in a more ?fine-grained? manner. Method: We achieve the above goal by assessing the knowledge gaps of software engineers by designing and executing an opinion survey on levels of knowledge learned in universities versus knowledge levels needed in industry. We designed the survey by using the SE knowledge areas (KAs) from the latest version of the Software Engineering Body of Knowledge (SWEBOK v3), which classifies the SE knowledge into 12 KAs, which are themselves broken down into 67 sub-areas (sub-KAs), in total. Our analysis is based on data (opinion) gathered from 129 practitioners. Results: Based on our findings, we recommend that educators should include more theoretical and practical materials on software maintenance, software configuration management, and testing in their SE curriculum. Based on the literature as well as the current trends in industry, we provide actionable suggestions to improve SE curriculum to decrease knowledge gap in these three KAs.

All ACM Journals | See Full Journal Index

Search TOCE
enter search term and/or author name