ACM Transactions on Computing Education

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

Using UML Modeling to Facilitate Three-Tier Architecture Projects in Software Engineering Courses

Sun, 10/26/2014 - 20:00
Sandeep Mitra

This article presents the use of a model-centric approach to facilitate software development projects conforming to the three-tier architecture in undergraduate software engineering courses. Many instructors intend that such projects create software applications for use by real-world customers. While it is important that the first version of these applications satisfy the customer by providing the functionality the customer expects and perform reliably and efficiently, it is equally important to be able to accommodate the customer's change requests over the period of the product's lifetime. The challenges in achieving these goals include the lack of real-world software development experience among the student developers and the fact that postdeployment change requests will almost certainly have to be handled by students who are not among the original developers.

Integrating Testing into Software Engineering Courses Supported by a Collaborative Learning Environment

Sun, 10/26/2014 - 20:00
Peter J. Clarke, Debra Davis, Tariq M. King, Jairo Pava, Edward L. Jones

As software becomes more ubiquitous and complex, the cost of software bugs continues to grow at a staggering rate. To remedy this situation, there needs to be major improvement in the knowledge and application of software validation techniques. Although there are several software validation techniques, software testing continues to be one of the most widely used in industry. The high demand for software engineers in the next decade has resulted in more software engineering (SE) courses being offered in academic institutions. However, due to the number of topics to be covered in SE courses, little or no attention is given to software testing, resulting in students entering industry with little or no testing experience.

Scenario-Based Programming, Usability-Oriented Perception

Sun, 10/26/2014 - 20:00
Giora Alexandron, Michal Armoni, Michal Gordon, David Harel

In this article, we discuss the possible connection between the programming language and the paradigm behind it, and programmers’ tendency to adopt an external or internal perspective of the system they develop. Based on a qualitative analysis, we found that when working with the visual, interobject language of live sequence charts (LSC), programmers tend to adopt an external and usability-oriented view of the system, whereas when working with an intraobject language, they tend to adopt an internal and implementation-oriented viewpoint. This is explained by first discussing the possible effect of the programming paradigm on programmers’ perception and then offering a more comprehensive explanation.

Utilizing Structural Equation Modeling and Social Cognitive Career Theory to Identify Factors in Choice of IT as a Major

Tue, 09/16/2014 - 20:00
Andy Luse, Julie A. Rursch, Doug Jacobson

In the United States, the number of students entering into and completing degrees in science, technology, engineering, and mathematics (STEM) areas has declined significantly over the past decade. Although modest increases have been shown in enrollments in computer-related majors in the past 4 years, the prediction is that even in 3 to 4 years when these students graduate, there will be shortages of computer-related professionals for industry. The challenge on which this article focuses is attracting students to select an information technology (IT) field such as computer science, computer engineering, software engineering, or information systems as a major when many high schools do not offer a single computer course, and high school counselors, families, and friends do not provide students with accurate information about the field.

Asking Research Questions: Theoretical Presuppositions

Wed, 09/10/2014 - 20:00
Josh Tenenberg

Asking significant research questions is a crucial aspect of building a research foundation in computer science (CS) education. In this article, I argue that the questions that we ask are shaped by internalized theoretical presuppositions about how the social and behavioral worlds operate. And although such presuppositions are essential in making the world sensible, at the same time they preclude carrying out many research studies that may further our collective research enterprise. I build this argument by first considering a few proposed research questions typical of much of the existing research in CS education, making visible the cognitivist assumptions that these questions presuppose.

An Achievement Degree Analysis Approach to Identifying Learning Problems in Object-Oriented Programming

Wed, 09/10/2014 - 20:00
Arwa A. Allinjawi, Hana A. Al-Nuaim, Paul Krause

Students often face difficulties while learning object-oriented programming (OOP) concepts. Many papers have presented various assessment methods for diagnosing learning problems to improve the teaching of programming in computer science (CS) higher education. The research presented in this article illustrates that although max-min composition is a method to analyze and determine student learning problems, when performed on an OOP exam, it shows some limitations. The max-min composition may be suitable for multiple choice questions (MCQs), but it is not adequate for questions with a more complex structure, as in the OOP assessment. Therefore, the purpose of this research is to present the incorporation of a concept-effect propagation approach and the Handy Instrument for Course Level Assessment (HI-Class) approach to promote a modified valid analysis approach, the Achievement Degree Analysis (ADA).