ACM Transactions on Computing Education

Subscribe to ACM Transactions on Computing Education feed
Updated: 1 hour 21 min ago

Teaching Mathematical Reasoning Principles for Software Correctness and Its Assessment

Tue, 08/18/2015 - 20:00
Svetlana V. Drachova, Jason O. Hallstrom, Joseph E. Hollingsworth, Joan Krone, Rich Pak, Murali Sitaraman

Undergraduate computer science students need to learn analytical reasoning skills to develop high-quality software and to understand why the software they develop works as specified. To accomplish this central educational objective, this article describes a systematic process of introducing reasoning skills into the curriculum and assessing how well students have learned those skills. To facilitate assessment, a comprehensive inventory of principles for reasoning about correctness that captures the finer details of basic skills that students need to learn has been defined and used. The principles can be taught at various levels of depth across the curriculum in a variety of courses.

Object-Oriented Design and Programming: An Investigation of Novices’ Conceptions on Objects and Classes

Mon, 07/27/2015 - 20:00
Stelios Xinogalos

The Object-Oriented Programming (OOP) technique is nowadays the most popular programming technique among tertiary education institutions. However, learning OOP is a cognitively demanding task for undergraduate students. Several difficulties and misconceptions have been recorded in the literature for both OOP concepts and languages, mainly Java. This article focuses on reviewing and advancing research on the most fundamental OOP concepts, namely, the concepts of “object” and “class” and their role during program execution. The results of a long-term investigation on the subject are presented, focusing on a study exploring undergraduate students’ conceptions on “objects” and “classes.” The study advances related research on categories of conceptions on “objects” and “classes” by providing quantitative results, in addition to qualitative results, regarding the frequency of the recorded conceptions.

Examining Interest and Grades in Computer Science 1: A Study of Pedagogy and Achievement Goals

Mon, 07/27/2015 - 20:00
Daniel Zingaro

Computer Science 1 (CS1), the first course taken by college-level computer science (CS) majors, has traditionally suffered from high failure rates. Efforts to understand this phenomenon have considered a wide range of predictors of CS success, such as prior programming experience, math ability, learning style, and gender, with findings that are suggestive but inconclusive. The current quasiexperimental study extends this research by exploring how the pedagogical approach of the course (traditional lecture vs. Peer Instruction (PI) and clickers) in combination with student achievement goals (mastery goals vs. performance goals) relates to exam grades, interest in the subject matter, and course enjoyment.