-A A +A

ACM Transactions on Computing Education

Subscribe to ACM Transactions on Computing Education feed
Updated: 51 min 55 sec ago

What Is Hard about Teaching Machine Learning to Non-Majors? Insights from Classifying Instructors’ Learning Goals

Fri, 07/19/2019 - 20:00
Elisabeth Sulmont, Elizabeth Patitsas, Jeremy R. Cooperstock

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 10 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.

State Case Study of Computing Education Governance

Mon, 07/15/2019 - 20:00
Megean Garvin, Michael Neary, Marie Desjardins

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 the state of Maryland (U.S.A.) 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 and the workforce. This comprehensive embedded multi-level case study examines the state’s computing education reform efforts from 2010 through 2016.

Pedagogy that Supports Computer Science for

Mon, 07/15/2019 - 20:00
Jean J. Ryoo

The Computer Science (CS) for All movement has taken hold of the United States 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, especially those who are historically underrepresented in the field (including young women, students of color, low-income students). In response, this study answers the questions: What teaching practices do students—who are historically 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 do these engaging teaching practices look like in the classroom? Through a qualitative study following three different urban high school Exploring Computer Science classrooms over an entire school year (n = 70 students, 3 teachers; >105h of observation data; >50 interviews with students and teachers), ...

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

Mon, 07/15/2019 - 20:00
Chris S. Crawford, Juan E. Gilbert

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.

Programming Embodied Interactions with a Remotely Controlled Educational Robot

Mon, 07/15/2019 - 20:00
Alexandros Merkouris, Konstantinos Chorianopoulos

Contemporary research has explored educational robotics, but it has not examined the development of computational thinking in the context of programming embodied interactions. 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. We recruited 36 middle school students to participate in a six-session robotics curriculum in an attempt to expand their learning in computational thinking. Participants were asked to develop interfaces for the remote control of a robot using diverse interaction styles from low-level to high-level embodiment, such as touch, speech, and hand and full-body gestures.

A New Look at Novice Programmer Errors

Wed, 07/10/2019 - 20:00
Davin McCall, Michael Kölling

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 diagnostic messages. Furthermore, few attempts have been made to determine the severity of different kinds of errors 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 article, 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 errors.

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

Tue, 05/28/2019 - 20:00
Craig S. Miller, Amber Settle

We investigate conditions in which novices make some reference errors when programming. We asked students from introductory programming courses to perform a simple code-writing task that required constructing references to objects and their attributes. By experimentally manipulating the nature of the attributes in the tasks, from identifying attributes (e.g., title or label) to descriptive attributes (e.g., calories or texture), the study revealed the relative frequencies with which students mistakenly omit the name of an identifying attribute while attempting to reference its value. We explain how these reference-point shifts are consistent with the use of metonymy, a form of figurative expression in human communication.

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

Mon, 05/20/2019 - 20:00
Ana Sánchez, César Domínguez, Jose Miguel Blanco, Arturo Jaime

It is important for both computer science academics and students to clearly comprehend the differences between academic and professional perspectives in terms of assessing a deliverable. It is especially interesting to determine whether the aspects deemed important to evaluate by a computer science expert are the same as those established by academics and students. Such potential discrepancies are indicative of the unexpected challenges students may encounter once they graduate and begin working. In this article, we propose a learning activity in which computer science students made a video about their future profession after hearing an expert in the field who discussed about the characteristics and difficulties of his or her work.

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

Mon, 05/20/2019 - 20:00
Matija Novak, Mike Joy, Dragutin Kermek

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 classes. Students who cheat often try to hide their plagiarism (obfuscate), and many different similarity detection engines (often called plagiarism detection tools) have been built to help teachers. This article focuses only on plagiarism detection and presents a detailed systematic review of the field of source-code plagiarism detection in academia. This review gives an overview of definitions of plagiarism, plagiarism detection tools, comparison metrics, obfuscation methods, datasets used for comparison, and algorithm types. Perspectives on the meaning of source-code plagiarism detection in academia are presented, together with categorisations of the available detection tools and analyses of their effectiveness.

Computer Science Pedagogical Content Knowledge: Characterizing Teacher Performance

Mon, 05/20/2019 - 20:00
Aman Yadav, Marc Berges

Computer science education efforts are expanding across the globe to equip students with the necessary computing skills for today’s digital world. However, preparing students to become literate in computing activities requires the training of tens of thousands of teachers in computer science. The discrepancy between student needs and teacher preparation in computer science has raised questions of quality teachers, particularly for teachers who do not possess adequate content or pedagogical knowledge to teach computer science efficiently. To address this issue, we designed an instrument to measure knowledge needed to teach computer science (i.e., computer science pedagogical content knowledge). Results exhibited that our instrument measured aspects of teachers’ computer science pedagogical content knowledge; however, teachers’ prior background in teaching did not influence their performance.