Object-oriented analysis and design (OOAD) courses are expected to enable students to establish a requirements model of an application, successively transform those requirements into a computer-based model of the application, and finally, translate the model into code. However, students attending OOAD courses typically encounter difficulties in the transition. Considering the advantages of Model Driven Architecture (MDA) in model transformation, this study proposes that integrating conventional OOAD instruction with MDA framework might contribute to improved understanding of the transition. An empirical experimental design using two treatments (MDA-based and conventional instructions) was conducted to examine the relevance of MDA-based instruction for effective understanding of phase transition. Understanding was measured by mental efficiency from the perspective of cognitive load theory. The results indicated that compared with conventional instruction, MDA-based instruction is more efficient for improving the understanding attained, which was demonstrated by higher mental efficiency during the learning and testing phases. This study might assist educators in realizing the difficulties of learning phase transitions and motivate researchers to develop more effective learning instructions for transitioning between OOAD phases.
Learning Computer Science: Dimensions of Variation Within What Chinese Students Learn
Assessing Problem Based Learning in a Software Engineering Curriculum using Bloom's Taxonomy and the IEEE Software Engineering Body of Knowledge
Despite the critical societal importance of computer security, security is not well integrated into the undergraduate computing curriculum. Security classes and tracks treat security issues as separable topics as opposed to fundamental issues that pervade all aspects of software development. Recently, there has been an increasing focus on security as a cross-cutting concern across the computer science curriculum. The Security Injections@Towson project provides resources and effective strategies to incorporate secure coding in the early programming classes. We describe the development, assessment, and dissemination of over 40 lab-based security injection modules designed to be injected into courses with minimal impact on the curriculum. We include assessment results from 1,135 students across five diverse institutions demonstrating that the security injections help students retain, comprehend, and apply secure coding concepts in the introductory programming courses.
Educational technology offers several potential benefits for programming education. Still, to facilitate the technology properly, integration into a course must be carefully designed. In this article, we present a redesign of an object-oriented university level programming course. In the redesign, a collaborative education tool was utilized to enhance active learning, to facilitate communication between students and teachers, and to remodel the evaluation procedure by utilizing automatically assessed tasks. The redesign was based on the best practices found on the earlier research of ours and the research community, with focus on facilitating active learning methods and student collaboration. The redesign was evaluated by comparing two instances of the redesigned course against two instances using the old methodology. The drop-out rate decreased statistically significantly in the redesigned course instances. Moreover, there was a trend towards higher grade average in the redesigned instances. Based on the results, we can conclude that the utilization of educational technology was highly efficient to student performance. Still, making major changes to course methodology does not come without certain difficulties. Hence, we also present our experiences and suggestions for the course redesign to help other educators and researchers perform similar design changes.
The computer Input/Output (I/O) subsystem and its functioning are very abstract concepts and are difficult for undergraduate freshmen to understand. However, it is important that freshmen assimilate these low-level concepts if later on they are going to be taught about the operating systems (OS) working over that architecture layer, or working directly with them in embedded systems, real-time systems or in the area of human-computer interaction (HCI). This paper describes the use of a game console (the Nintendo® DS, NDS) in a project-based learning (PBL or PjBL) environment in which the design of a game is the basis of the project in order to encourage the students to get more involved with the computer I/O subsystem abstraction. A four year experience is reported in which a design cycle (investigate, design, create, evaluate) has been followed. The general procedure for the four years and the specific characteristics and achieved results for every year are reported. The aim of the study was twofold: on the one hand, to assess the learning effectiveness of the active PjBL methodology and some factors related with this methodology, and, on the other hand, to analyze the motivation towards the subject fostered by the game console. The first aim is analyzed using the scores achieved by students and second is analyzed via satisfaction questionnaires.