-A A +A

ACM Transactions on Computing Education

Subscribe to ACM Transactions on Computing Education feed
Updated: 53 min 3 sec ago

Unlocking the Potential of Learning Analytics in Computing Education

Sun, 08/27/2017 - 20:00
Shuchi Grover, Ari Korhonen

Blending Measures of Programming and Social Behavior into Predictive Models of Student Achievement in Early Computing Courses

Sun, 08/27/2017 - 20:00
Adam S. Carter, Christopher D. Hundhausen, Olusola Adesope

Analyzing the process data of students as they complete programming assignments has the potential to provide computing educators with insights into both their students and the processes by which they learn to program. In prior research, we explored the relationship between (a) students’ programming behaviors and course outcomes, and (b) students’ participation within an online social learning environment and course outcomes. In both studies, we developed statistical measures derived from our data that significantly correlate with students’ course grades. Encouraged both by social theories of learning and a desire to improve the accuracy of our statistical models, we explore here the impact of incorporating our predictive measure derived from social behavior into three separate predictive measures derived from programming behaviors.

A Contingency Table Derived Method for Analyzing Course Data

Sun, 08/27/2017 - 20:00
Alireza Ahadi, Arto Hellas, Raymond Lister

We describe a method for analyzing student data from online programming exercises. Our approach uses contingency tables that combine whether or not a student answered an online exercise correctly with the number of attempts that the student made on that exercise. We use this method to explore the relationship between student performance on online exercises done during semester with subsequent performance on questions in a paper-based exam at the end of semester. We found that it is useful to include data about the number of attempts a student makes on an online exercise.

A Framework for Using Hypothesis-Driven Approaches to Support Data-Driven Learning Analytics in Measuring Computational Thinking in Block-Based Programming Environments

Sun, 08/27/2017 - 20:00
Shuchi Grover, Satabdi Basu, Marie Bienkowski, Michael Eagle, Nicholas Diana, John Stamper

Systematic endeavors to take computer science (CS) and computational thinking (CT) to scale in middle and high school classrooms are underway with curricula that emphasize the enactment of authentic CT skills, especially in the context of programming in block-based programming environments. There is, therefore, a growing need to measure students’ learning of CT in the context of programming and also support all learners through this process of learning computational problem solving. The goal of this research is to explore hypothesis-driven approaches that can be combined with data-driven ones to better interpret student actions and processes in log data captured from block-based programming environments with the goal of measuring and assessing students’ CT skills.

Youth Computational Participation in the Wild: Understanding Experience and Equity in Participating and Programming in the Online Scratch Community

Sun, 08/27/2017 - 20:00
Deborah A. Fields, Yasmin B. Kafai, Michael T. Giang

Most research in primary and secondary computing education has focused on understanding learners within formal classroom communities, leaving aside the growing number of promising informal online programming communities where young users contribute, comment, and collaborate on programs to facilitate learning. In this article, we examined trends in computational participation in Scratch, an online community with over 1 million registered youth designers. Drawing on a random sample of 5,004 youth programmers and their activities over 3 months in early 2012, we examined programming concepts used in projects in relation to level of participation, gender, and length of membership of Scratch programmers. Latent class analysis results identified the same four groups of programmers in each month based on the usage of different programming concepts and showed how membership in these groups shifted in different ways across time.

A Meta-Analysis of Pair-Programming in Computer Programming Courses: Implications for Educational Practice

Wed, 08/23/2017 - 20:00
Karthikeyan Umapathy, Albert D. Ritzhaupt

Several experiments on the effects of pair programming versus solo programming in the context of education have been reported in the research literature. We present a meta-analysis of these studies that accounted for 18 manuscripts with 28 independent effect sizes in the domains of programming assignments, exams, passing rates, and affective measures. In total, our sample accounts for N = 3,308 students either using pair programming as a treatment variable or using traditional solo programming in the context of a computing course. Our findings suggest positive results in favor of pair programming in three of four domains with exception to affective measures.

Writing In-Code Comments to Self-Explain in Computational Science and Engineering Education

Wed, 08/23/2017 - 20:00
Camilo Vieira, Alejandra J. Magana, Michael L. Falk, R. Edwin Garcia

This article presents two case studies aimed at exploring the use of self-explanations in the context of computational science and engineering (CSE) education. The self-explanations were elicited as students’ in-code comments of a set of worked-examples, and the cases involved two different approaches to CSE education: glass box and black box. The glass-box approach corresponds to a programming course for materials science and engineering students that focuses on introducing programming concepts while solving disciplinary problems. The black-box approach involves the introduction of Python-based computational tools within a thermodynamics course to represent disciplinary phenomena. Two semesters of data collection for each case study allowed us to identify the effect of using in-code comments as a self-explanation strategy on students’ engagement with the worked-examples and students’ perceptions of these activities within each context.

Teaching Computational Thinking Using Agile Software Engineering Methods: A Framework for Middle Schools

Wed, 08/23/2017 - 20:00
Ilenia Fronza, Nabil El Ioini, Luis Corral

Computational Thinking (CT) has been recognized as one of the fundamental skills that all graduates should acquire. For this reason, motivational concerns need to be addressed at an early age of a child, and reaching students who do not consider themselves candidates for science, technology, engineering, and mathematics disciplines is important as well if the broadest audience possible is to be engaged. This article describes a framework for teaching and assessing CT in the context of K-12 education. The framework is based on Agile software engineering methods, which rely on a set of principles and practices that can be mapped to the activities of CT.

Getting IT Together: A Longitudinal Look at Linking Girls' Interest in IT Careers to Lessons Taught in Middle School Camps

Wed, 08/23/2017 - 20:00
Christina N. Outlay, Alana J. Platt, Kacie Conroy

The dearth of women choosing information technology (IT) careers has been identified as a national problem in the United States. Efforts have been made to combat this by educating girls at a young age about technology. Recent research demonstrates that exposure to technology is insufficient to change young girls’ attitudes towards IT careers and that interventions must explicitly tie technology activities to careers. Faculty and staff of a Midwestern university modified an IT summer camp for middle school girls to include career specific programming. The camp deployed the Girls Educating Themselves about Information Technology (GET IT) program to garner interest among middle school girls in IT careers.