-A A +A

ACM Transactions on Computing Education

Subscribe to ACM Transactions on Computing Education feed
Updated: 44 min 2 sec ago

“How Else Should It Work?” A Grounded Theory of Pre-College Students’ Understanding of Computing Devices

Mon, 11/19/2018 - 19:00
Michael T. Rücker, Niels Pinkwart

In order to understand and evaluate computing technology in their environment, students first need to be able to identify it. This task becomes increasingly difficult, however, as computing systems become more and more ubiquitous and invisible. Based on the analysis of semi-structured focus interviews with 28 German pre-college students, we present a grounded theory of their conceptions and reasoning related to the identification of computing within technical devices. At its core is the finding that many students seemed to differentiate technical artifacts with respect to three conceived levels of capability. Many household appliances, for instance, were very well seen as electronic and programmed, but still as too limited in their capability to warrant the presence of a “real” computer or to be related to informatics.

An Empirical Investigation on the Benefits of Gamification in Programming Courses

Mon, 11/19/2018 - 19:00
B. Marín, J. Frez, J. Cruz-Lemus, M. Genero

Context: Programming courses are compulsory for most engineering degrees, but students’ performance on these courses is often not as good as expected. Programming is difficult for students to learn, given that it includes a lot of new, complex, and abstract topics. All of this has led experts to the conclusion that new teaching techniques are required if students are to be motivated and engaged in learning on programming courses. Gamification has come to be an effective technique in education in general, and is especially useful in programming courses. This motivated us to develop an open source gamified platform, called UDPiler, for use in a programming course.

RecurTutor: An Interactive Tutorial for Learning Recursion

Sun, 11/18/2018 - 19:00
Sally Hamouda, Stephen H. Edwards, Hicham G. Elmongui, Jeremy V. Ernst, Clifford A. Shaffer

Recursion is one of the most important and hardest topics in lower division computer science courses. As it is an advanced programming skill, the best way to learn it is through targeted practice exercises. But the best practice problems are time consuming to manually grade by an instructor. As a consequence, students historically have completed only a small number of recursion programming exercises as part of their coursework. We present a new way for teaching such programming skills. Students view examples and visualizations, then practice a wide variety of automatically assessed, small-scale programming exercises that address the sub-skills required to learn recursion.

Multiple-Choice Questions in Programming Courses: Can We Use Them and Are Students Motivated by Them?

Sun, 11/18/2018 - 19:00
Pedro Henriques Abreu, Daniel Castro Silva, Anabela Gomes

Low performance of nontechnical engineering students in programming courses is a problem that remains unsolved. Over the years, many authors have tried to identify the multiple causes for that failure, but there is unanimity on the fact that motivation is a key factor for the acquisition of knowledge by students. To better understand motivation, a new evaluation strategy has been adopted in a second programming course of a nontechnical degree, consisting of 91 students. The goals of the study were to identify if those students felt more motivated to answer multiple-choice questions in comparison to development questions, and what type of question better allows for testing student knowledge acquisition.

Comparing Computing Professionals’ Perceptions of Importance of Skills and Knowledge on the Job and Coverage in Undergraduate Experiences

Mon, 11/12/2018 - 19:00
Marisa Exter, Secil Caskurlu, Todd Fernandez

This article discusses the findings of a survey of nearly 300 computing professionals who are involved in the design and/or development of software across a variety of industries. We report on the surveyed professionals’ perceptions of the importance of a range of topics and skills, and the degree to which 55 recent graduates felt that each topic or skill was emphasized in their undergraduate experience. Our findings highlight the value of breadth and flexibility in technical skills, and the universal importance of critical thinking, problem solving, on-the-job learning, and the ability to work well in cross-disciplinary teams. These findings align roughly with recommendations by the ACM/IEEE task force on computing curricula.

Second Special Issue on Learning Analytics in Computing Education

Tue, 10/30/2018 - 20:00
Ari Korhonen, Shuchi Grover

Transfer-Learning Methods in Programming Course Outcome Prediction

Tue, 10/30/2018 - 20:00
Jarkko Lagus, Krista Longi, Arto Klami, Arto Hellas

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 educational contexts, differences between courses set huge challenges for the generalizability of these methods. For example, traditional machine-learning methods assume identical distribution in all data—in our terms, traditional machine-learning methods assume that all teaching contexts are alike. In practice, data collected from different courses can be very different as a variety of factors may change, including grading, materials, teaching approach, and the students.

The Academic, Social, and Professional Integration Profiles of Information Technology Students

Tue, 10/30/2018 - 20:00
Külli Kori, Margus Pedaste, Olev Must

Low retention rates in higher education Information Technology (IT) studies have led to an unmet demand for IT specialists. Therefore, universities need to apply interventions to increase retention rates and provide the labor market with more IT graduates. However, students with different characteristics may need different types of interventions. The current study applies a person-oriented approach and identifies the profiles of first-year IT students in order to design group-specific support. Tinto's [13, 14] integration model was used as a framework to analyze questionnaire data from 509 first-year IT students in Estonia. The students’ response profiles were distinguished through latent profile analysis, and the students were divided into four profiles based on their responses to questions about academic integration, professional integration, and graduation-related self-efficacy.

A Fringe Topic in a Fragile Network: How Digital Literacy and Computer Science Instruction Is Supported (or Not) by Teacher Ties

Thu, 10/11/2018 - 20:00
Rebecca Mazur, Rebecca H. Woodland

In this NSF CSforALL funded research study, the authors sought to understand the extent to which an urban district's teacher instructional support network enabled or constrained capacity to implement and diffuse Digital Literacy and Computer Science (DLCS) instructional practices throughout the K-12 curriculum. Social network analysis was used to investigate informal teacher advice-seeking and advice-giving patterns of DLCS support. Network measures of cohesion and centrality were computed. Findings revealed that DLCS-focused teacher support networks tend to exhibit very low density, have relatively few ties, include a high number of isolates (teachers with no connections), and centralize around a particular actor. In addition, a low level of overlap was found between DLCS networks and primary instructional networks.

A Systematic Literature Review of Automated Feedback Generation for Programming Exercises

Thu, 09/27/2018 - 20:00
Hieke Keuning, Johan Jeuring, Bastiaan Heeren

Formative feedback, aimed at helping students to improve their work, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a systematic literature review to find out what kind of feedback is provided, which techniques are used to generate the feedback, how adaptable the feedback is, and how these tools are evaluated. We have designed a labelling to classify the tools, and use Narciss’ feedback content categories to classify feedback messages. We report on the results of coding a total of 101 tools. We have found that feedback mostly focuses on identifying mistakes and less on fixing problems and taking a next step.

Students’ Experience of Participation in a Discipline—A Longitudinal Study of Computer Science and IT Engineering Students

Thu, 09/27/2018 - 20:00
Anne-Kathrin Peters

This article concludes a longitudinal study with the broader aim to explore learner development as a long-term, social process. One goal has been to inform the endeavours of improving student engagement, retention, as well as under-representation of certain demographics in computing. Students of two computer science--related study programmes (CS/IT) reflected on their engagement in their field of study at different times during the first three study years. Drawing on social identity theory, the focus has been to analyse and describe different ways in which the students experience participation in CS/IT, i.e., doing, thinking, and feeling, in relation to CS/IT, negotiated among different people.

An Improved Grade Point Average, With Applications to CS Undergraduate Education Analytics

Wed, 09/12/2018 - 20:00
Jonathan H. Tomkin, Matthew West, Geoffrey L. Herman

We present a methodological improvement for calculating Grade Point Averages (GPAs). Heterogeneity in grading between courses systematically biases observed GPAs for individual students: the GPA observed depends on course selection. We show how a logistic model can account for course selection by simulating how every student in a sample would perform if they took all available courses, giving a new “modeled GPA.” We then use 10 years of grade data from a large university to demonstrate that this modeled GPA is a more accurate predictor of student performance in individual courses than the observed GPA. Using Computer Science (CS) as an example learning analytics application, it is found that required CS courses give significantly lower grades than average courses.

How do Gender, Learning Goals, and Forum Participation Predict Persistence in a Computer Science MOOC?

Wed, 09/12/2018 - 20:00
R. Wes Crues, Genevieve M. Henricks, Michelle Perry, Suma Bhat, Carolyn J. Anderson, Najmuddin Shaik, Lawrence Angrave

Massive Open Online Courses (MOOCs)—in part, because of their free, flexible, and relatively anonymous nature—may provide a means for helping overcome the large gender gap in Computer Science (CS). This study examines why women and men chose to enroll in a CS MOOC and how this is related to successful behavior in the course by (a) using k-means clustering to explore the reasons why women and men enrolled in this MOOC and then (b) analyzing if these reasons are related to forum participation and, ultimately, persistence in the course.

Peer Review in CS2: Conceptual Learning and High-Level Thinking

Wed, 09/05/2018 - 20:00
Scott Alexander Turner, Manuel A. Pérez-Quiñones, Stephen H. Edwards

In computer science, students could benefit from exposure to critical programming concepts from multiple perspectives. Peer review is one method to allow students to experience authentic uses of the concepts in an activity that is not itself programming. In this work, we examine how to implement the peer review process in early, object-oriented computer science courses as a way to increase the students’ knowledge of programming concepts, specifically Abstraction, Decomposition, and Encapsulation, and to develop their higher-level thinking skills. We are exploring the peer review process, the effects of the type of review on the reviewers, and the results this has on the students’ learning.

The Core Cyber-Defense Knowledge, Skills, and Abilities That Cybersecurity Students Should Learn in School: Results from Interviews with Cybersecurity Professionals

Wed, 08/08/2018 - 20:00
Keith S. Jones, Akbar Siami Namin, Miriam E. Armstrong

Our cybersecurity workforce needs surpass our ability to meet them. These needs could be mitigated by developing relevant curricula that prioritize the knowledge, skills, and abilities (KSAs) most important to cybersecurity jobs. To identify the KSAs needed for performing cybersecurity jobs, we administered survey interviews to 44 cyber professionals at the premier hacker conferences Black Hat 2016 and DEF CON 24. Questions concerned 32 KSAs related to cyber defense. Participants rated how important each KSA was to their job and indicated where they had learned that KSA. Fifteen of these KSAs were rated as being of higher-than-neutral importance. Participants also answered open-ended questions meant to uncover additional KSAs that are important to cyber-defense work.

A Controlled Experiment on Python vs C for an Introductory Programming Course: Students’ Outcomes

Wed, 08/08/2018 - 20:00
Jacques Wainer, Eduardo C. Xavier

We performed a controlled experiment comparing a C and a Python Introductory Programming course. Three faculty members at University of Campinas, Brazil, taught the same CS1 course for the same majors in two different semesters, one version in Python and one in C, with a total of 391 students involved in the experiment. We measured the dropout rate, the failure rate, the grades on the two exams, the proportion of completed lab assignments, and the number of submissions per completed assignment. There was no difference in the dropout rate. The failure rate for Python was 16.9% against 23.1% for C. The effect size (Cohen’s D) on the comparison of Python against C on the midterm exam was 0.27, and 0.38 for the final exam.

Classroom-Based Research Projects for Computing Teachers: Facilitating Professional Learning

Wed, 08/08/2018 - 20:00
Sue Sentance, Jane Sinclair, Carl Simmons, Andrew Csizmadia

The introduction of Computing to the national curriculum in England has led to a situation where in-service teachers need to develop subject knowledge and pedagogical expertise in computer science, which presents a significant challenge. Professional learning opportunities can support this; these may be most effective when situated in the teachers’ own working practices. This article describes a project to support Computing teachers in developing pedagogical skills by carrying out classroom-based research in their schools. A group of 22 primary (Grades K--5) and secondary (Grades 6--10) teachers from schools across England planned, designed, and implemented research projects either individually or in small groups, supported by a team of university colleagues.

Errors and Complications in SQL Query Formulation

Wed, 08/08/2018 - 20:00
Toni Taipalus, Mikko Siponen, Tero Vartiainen

SQL is taught in almost all university level database courses, yet SQL has received relatively little attention in educational research. In this study, we present a database management system independent categorization of SQL query errors that students make in an introductory database course. We base the categorization on previous literature, present a class of logical errors that has not been studied in detail, and review and complement these findings by analyzing over 33,000 SQL queries submitted by students. Our analysis verifies error findings presented in previous literature and reveals new types of errors, namely logical errors recurring in similar manners among different students.