Design, development, and validation of a learning object for CS1

A learning object is a structured, standalone media resource that encapsulates high quality information to facilitate learning and pedagogy. In this paper, we describe our approach to design, develop, and validate learning objects for CS1. In particular, we focus on one learning object that teaches students about classes and objects. SCORM (Shareable Content Object Reference Model) standards and ACM/IEEE-CS Computing Curriculum 2001 form the basis of our design. Each learning object is self-contained and by design, the length of the content section is kept short to retain student interest. The learning object has a glossary providing definitions to key terms and a help menu. Each learning object covers a core Computer Science topic addressed by four components: (1) A brief tutorial or explanation including definitions, rules, and principles, (2) A set of real-world examples illustrates key concepts and includes worked examples and problems, models, and sample code, (3) A set of practice exercises provides important active experiences to the student, with constructive feedback to student responses, (4) A set of problems graded by the computer provides a final assessment. Our instructional design also incorporates theories of multimedia learning, providing guidance on the effective combination of text, graphics audio, and Flash animation. We also report on a pilot evaluation where students rated the learning object highly in terms of its design, usefulness, and appropriateness. We present student achievement results, comparing achievement of students participating in traditional face-to-face laboratory activities versus students using the Web-based learning object. A between-group post-test only research design showed no significant achievement difference between the two groups. Results confirm our belief that the use of modular, Web-based learning objects can be used successfully for independent learning and are a viable option for distance delivery of course components. Encouraged by these results, our project and research is continuing Fall 2004, with the development of additional learning objects and instrumentation mechanisms tracking real-time dynamic activity-based data.The "Practice Exercises" section of our "Simple Class" learning object, for example, has four exercise modules: (1) class identification, where students are asked to identify whether an item is an appropriate candidate as a class (Abraham Lincoln vs. President, for example), (2) data members and methods, where students interact with an animation (with sound) to identify the appropriate data members for a dog class, (3) dissect a class definition, where students are given code with highlighted segments and are asked to label each segment into either "class", "method name", "data member", or "method body", and (4) building a class, where students are given a heterogeneous set of data members and methods, and must pick the appropriate ones to build a class; if the selection is correct, the Java-based class will be expanded accordingly with specific Java code. For each exercise, we provide extensive real-time feedback for each response. Figure 1 shows a screen shot of one of the exercises on data members and methods.