Updated: 1 hour 10 min ago
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.
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.
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.
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 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.
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).