You are on page 1of 10

464

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 4, NOVEMBER 2006

WebgeneOS: A Generative and Web-Based Learning Architecture to Teach Operating Systems in Undergraduate Courses
Felix Buenda and Juan-Carlos Cano
AbstractOperating systems is a fundamental topic underlying many modern disciplines, including computing, telematics, and control engineering. Moreover, operating systems is one of the core courses considered under the most important curricula recommendations. The learning process in this area involves both a theoretical and a practical part that students have to learn and put into practice. To reinforce operating systems fundamentals, simulation tools and instructional operating systems have been proposed. However, few of these tools address a learning approach that permits one to work with real operating systems while supporting an active learning methodology that integrates theory and practice. This paper applies generative learning methods and Web-based applications to operating systems courses. WebgeneOS is presented as an experimental learning system that leads students through a more active participation in the learning process. WebgeneOS combines the universal connectivity of Web technologies with the educational theory provided by the generative learning methods. The system allows students to send their system programs using Web forms, execute them in a native operating system, and receive their results and feedback information through Web browsers. The benets of WebgeneOS were evaluated by comparing students grades. The evaluation involved students attending operating systems courses during the 20022003, 20032004, and 20042005 academic years. Students using WebgeneOS improved their grades by about 13%. Moreover, the system offered a well-balanced formation between the theoretical and the practical learning outcomes. Overall, this paper made evident that Web technologies and generative learning methods help students in their learning process. Index TermsGenerative learning theory, operating systems, Web-based technologies, WebgeneOS .

I. INTRODUCTION PERATING systems is a fundamental topic underlying many modern disciplines, including computing, telematics, and control engineering. With respect to computing curricula, their topics explicitly include operating systems as core subjects. Students in computer science, computer engineering, software engineering, and information systems should

Manuscript received September 26, 2005; revised June 27, 2006. This work has been partially funded by the Generalitat Valenciana, Spain, under Grant GV05/245 and by the Ministerio de Educacin y Ciencia, Spain, under Grant TIN2005-08788-C04-02. F. Buendia is with the Department of Systems Data Processing and Computers, Polytechnic University of Valencia, 46071 Valencia, Spain (e-mail: fbuendia@disca.upv.es). J.-C. Cano is with the Department of Computer Engineering, Polytechnic University of Valencia, 46022 Valencia, Spain (e-mail: jucano@disca.upv.es). Color versions of Figs. 1, 2, 6, 9, and 10 are available online at http://ieeexplore.ieee.org. Digital Object Identier 10.1109/TE.2006.882368

acquire sound foundation in operating systems and related issues. Specically, students have to learn the principles of how an operating system works, which are the main components of an operating system; how an operating system interfaces between a computer machine and the user; and how computer resources are managed (e.g., memory, storage devices, or processing units). In addition, students should also study how the system provides commands to interact with computers. Teaching in this area involves both theoretical and practical aspects. Practical work is needed to reinforce the concepts previously explained in the theoretical classes and to help students acquire technical skills. Modern curricular models proposed by international societies point out the importance of practical skills when teaching operating systems topics. In fact, one of the principles of the curricula recommendations proposed by the Joint IEEE Computer Society and the Association for Computing Machinery Task Force on Computing Curricula [1] is that all the students must learn to integrate theory and practice. Some simulation tools, such as OSP [2], RCOS [3], or SOsim [4], are typically used in introductory courses to reinforce concept understanding and to clarify any doubt or misconception. In addition, instructional operating systems, such as MINIX [5] or Nachos [6], hide the complexity of real systems and allow students to understand the underlying fundamentals. In addition, practical activities based on the use of real operating systems are also recommended to improve students skills. Unfortunately, some educational environments such as distance learning, virtual courses, and large-scale courses, have a teaching approach based on the integration of theory and practice which cannot be directly applied because of the high student/teacher ratio and the decentralization of the teaching activities. One critical question still to be addressed to support operating systems in these environments is the development of new learning tools that permit one to practice with real systems while supporting an active and autonomous learning methodology. Innovations in new learning systems appeared at the end of the 1970s, with the introduction of devices such as cassettes and videocassettes [7], and continued in the 1990s, with the revolution of multimedia techniques on personal computers [8] to improve teaching. Because of advances in telecommunication and emerging technologies, the implementation of Web-based distance learning environments has become more apparent. Most of the earlier Web systems made use of emerging technology to share educational resources through the Internet [9]. In [10], the authors presented a system for distance learning, which provided asynchronous communication between students

0018-9359/$20.00 2006 IEEE

BUENDA AND CANO: Webgene

: A GENERATIVE AND WEB-BASED LEARNING ARCHITECTURE

465

TABLE I OPERATING SYSTEMS COURSES ORGANIZATION FOR THE COMPUTER ENGINEERING DEGREE. EACH COURSE ALSO SHOWS THE NUMBER OF ENROLLED STUDENTS DURING THE 20042005 ACADEMIC YEAR

and instructors. Similar work has also been done in [11] and [12] for automatic assessment based on questionnaires and evaluation of programming exercises, respectively. In [13], the authors present an automatic management environment for virtual laboratory work and distance education to support the practical activities of computer architecture courses. The system is addressed to students who need to send their laboratory work and get back the results remotely. In the context of learning management systems, WebCT [14] is a widespread commercial product that provides instructors with an environment to enhance their current teaching methods by allowing them to create virtual campuses to manage on[15] virtual campus is another learning line courses. The management system that offers students enrollment into distance courses. is technically congured as an Intranet, which is accessible via the Web and makes possible communication between students and their instructors without requiring space/time concurrence. Other similar but open-source-based systems are dotLRN [16] and Sakai [17]. Traditional Web-based learning platforms, such as WebCT and , provide a central access point to university resources and include tools that can be used in course administration, students enrollment, and content management. However, they lack effectiveness in getting practical skills in a particular subjectoperating systems. In this paper, Webgene is presented as an experimental learning environment to teach operating systems that leads students through a more active participation in the learning process. Webgene complements traditional content-based learning platforms by including practical activities on operating systems subjects and allowing students to send their system programs using Web forms, execute them in a native operating system, and receive their results and additional feedback information through Web browsers. The system also helps instructors keep track of what their students are doing, providing them with utilities to guide and evaluate the students work. One of the essential pillars of any distance-learning system is to provide the system with a solid pedagogical foundation while making the system extensively available. Therefore, Webgene combines the pedagogical foundation provided by generative learning methods [18] and the universal connectivity of Web technologies. This combined approach helps students better understand basic concepts and acquire practical skills. The proposed approach also encourages students to establish relationships between operating system concepts and system

programming, which can be used to create new system programs and to develop other skills. The system prototype conrms the correct behavior of the designed Web-based learning environment and allows instructors to obtain experimental data about how well-suited generative learning methods are for teaching operating systems in distance undergraduate courses. The rest of this paper is organized as follows. Section II presents the teaching context. Section III describes the overall system architecture, including the generative Webgene learning pedagogical approach. Section IV presents the details of the implementation prototype and discusses how Webgene matches the generative learning methods. Section V illustrates the evaluation of the proposal, and, nally, Section VI gives some concluding remarks. II. TEACHING CONTEXT Operating systems concepts are considered the main topic in most of the computing curricula of both undergraduate and Masters programs. At the Polytechnic University of Valencia (UPV), Valencia, Spain, two Bachelors degrees and a Masters degree in computer engineering are offered. In additionally, a Technical College is associated with the UPV, offering a twoyear college degree that includes operating systems topics from a vocational-oriented perspective. At the Computer Engineering Department of the UPV more than 20 instructors teach operating systems courses to approximately 1000 students. Table I shows the organization of the operating system courses. Each course involves both a theoretical and a practical part. The percentage of the practical part varies depending on the learning goals of each course. Introductory courses such as SO1 require students to acquire a solid theoretical foundation, thus the teaching methodology favors the theoretical part. Intermediate and advanced courses (i.e., SO2, ADS, or ESO), try to balance this percentage by covering new conceptual topics and performing some practical activities. This methodology allows students to learn how operating systems are designed and how to use their services. The proposed practical work basically covers laboratory exercises related to the C programming language, command shell interpreter, operating systems administration, and kernel extension. The laboratory platform is based on the Linux [19] operating system. Linux is an open-source UNIX-type operating system that provides reliability, multiple architecture support,

466

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 4, NOVEMBER 2006

Fig. 1. Teaching infrastructure facilities in operating systems courses.

and network development facilities. In each laboratory session, a maximum of 40 students interact with Linux servers, working in pairs and assisted by instructors. Fig. 1 shows the global conguration and the infrastructure facilities for the laboratory sessions and classrooms. These facilities also allow instructors in theoretical sessions to have access to laboratories using remote access tools to clarify any doubt or misconception. Unfortunately, this teaching methodology becomes inefcient in mass courses because when the student/teacher ratio increases, the traditional relationship between the students and the instructor becomes affected so that providing useful feedback to monitor students progress becomes more difcult. To alleviate the problem of mass courses and to study the requirements and benets of distance learning, the Computer Engineering Department of the UPV started in 2002 an innovative experience providing students with distance learning for some operating systems courses, including SO1 and SO2. Web repositories and e-mail tools were used to provide remote assistance and automatic assessment. These courses were aimed at students who were not able to attend traditional courses for whatever reason. The success of the experience made the Computer Engineering Department consider the development of an experito provide online distance mental virtual campus called learning courses. system has been actively used in operating systems The courses, and it is open to new courses from others bodies of knowledge. The experience was very positive for those students working outside the university or studying abroad. Students attending traditional courses realized that the provided distance learning system was rather exible (timetable freedom), while at the same time providing facilities for delivering and reviewing several assignment versions. Moreover, instructors were able to supervise and evaluate the student work in an individualized manner. could not easily deal with practical isUnfortunately, sues related to each of the offered courses while supporting an active and autonomous learning methodology at the same time, could not allow students to remotely practice with e.g.,

real operating systems integrating the required theoretical concepts. The next section describes Webgene , the proposed experimental learning system addressing such issues. III. WEBGENE SYSTEM ARCHITECTURE

The architecture of Webgene is based on the cooperation of Web technologies and the use of an educational theory underlying the overall architecture. The Web technology side is based on a client/server universal connection, which enables any Web browser to interact with Webgene components through a Web server. The underlying educational methodology is based on the generative learning theory proposed by Wittrock [18], which provides the educational foundations to guide students throughout a more active learning process. The architecture considers three main elements: clients connections, the Webgene core system, and external entities. A student or an instructor using a Web browser to access the Webgene system is the basic example of a client connection. The Webgene core system provides the elements to organize the theoretical and practical body of knowledge of the operating systems curricula. The core includes all the learning units and the results of the learning process. The core also provides the gateway to external entities, including educational resources and native operating system services. Educational resources enable Webgene to connect easily with any kind of external information, such as online references and educational simulators. Native services offer the possibility of transferring remote user programs into external real systems, executing them in a native operating system and showing their results using the Web interface of the client connection. Fig. 2 shows the Webgene system architecture. Webgene can be used as a stand-alone product or can be integrated into any available virtual campus, such virtual campus. The current stand-alone as the system prototype is publicly available along with its source code at http://quark.disca.upv.es/webgeneos/. A as an integral working URL that integrates Webgene virtual campus has also been provided at part of the http://roger.disca.upv.es/xedu/. System access is allowed for

BUENDA AND CANO: Webgene

: A GENERATIVE AND WEB-BASED LEARNING ARCHITECTURE

467

Fig. 2. Webgene

system architecture.

latter one represents the interface that connects a given learning unit with services offered by native operating systems. Students accessing the system can continuously search for learning units stored in the Learning Unit Repository. When a learning unit is found, the system offers the student the information that was stored in the last session. The student can decide whether to obtain the information which is part of the learning unit, or to practice with a learning activity by completing exercises or questionnaires. The results will be stored in the Learning Unit Outcomes and will eventually be processed by the system or the instructors. Students can decide at any time, for example, whether the obtained information is too advanced or too basic to obtain additional information from external educational repositories. They can also interact with a real operating system through the Native Services Links component by executing and testing their program homework remotely. Instructors can manage and organize the Learning Unit Repository. They can interact with Webgene to perform the following tasks: to insert, modify, or edit learning units; to assess the Learning Unit Outcomes; to organize and classify the external Educational OS Links; and to elaborate the Native Services Links. B. Webgene Application Example

Fig. 3. Webgene

core components.

evaluation purposes using the following account: user: guest; password: guestx. A. Webgene Core Architecture

The core of the Webgene system is the component which provides the mechanisms to manage learning units with the learning process and the available resources. The core architecture provides learning units that combine the theoretical and the practical knowledge and its structure and organization. The core architecture uses the following four components to work with learning units: the Learning Unit Repository, the Learning Unit Outcomes, the Educational OS Links, and the Native Services Links. Fig. 3 shows the components of the core architecture and some application examples. The Learning Unit Repository organizes the documents representing learning units and provides the available resources. All client connections go rst to the Learning Unit Repository to locate a given learning unit. From there, the architecture offers the possibility to interact with the system to perform some practical activity. The Learning Unit Repository can also interact with external entities throughout the Educational OS Links component and the Native Services Links component. The former one provides the gateway to third-party educational resources. The

Fig. 4 shows the main window of a Webgene application that provides access to the core components of the Webgene architecture. To interact with the application, users must click on the available options on the left side menu of the main window. The right-hand side area of the window will display the selected topic according to the user selection. The Learning Unit Repository is the main menu option which includes all the available learning units and provides access to other Webgene components. To illustrate how the application works, a working example has been selected, based on a learning unit related to Process Management in UNIX systems. The selected learning unit is part of an Operating System II course, which also includes additional learning units: UNIX systems calls, le management, signals, directories and protection, POSIX threads, threads synchronization, and deadlocks. When the user clicks on the Process Management learning shows the corresponding information unit link, Webgene items that involve both theoretical and practical topics concerning processes and their management under UNIX systems. The learning unit gradually covers theoretical contents, moving forward from an introductory section to advanced ones explaining concepts such as process identication, process creation, and process execution. The learning unit also incorporates practical activities that encourage students to experiment with the previous theoretical concepts (by implementing a simple UNIX command interpreter). One of the main novelties architecture is its ability to integrate the of the Webgene diversity of theoretical and practical resources working with a given learning unit, while at the same time providing access to the learning unit outcomes, to external educational links, and to native operating system services.

468

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 4, NOVEMBER 2006

Fig. 4. Client screen capture of the Webgene

application.

In the selected example, the learning outcomes include 1) the development of conceptual maps that connect process concepts and command interpreter programs, 2) questionnaire results about system calls that manage UNIX processes, and 3) the implementation of small prototypes of a UNIX command interpreter. In the selected example, the educational OS links provide access to 1) external PDF documents (cited articles, course material, etc.), 2) HTML online references, and 3) simulation tools to practice with process system calls. Finally, the Native Services Links allow students to test their program outcomes in a native operating system. Once the outcomes have been transferred to the remote UNIX server, students can decide to compile and debug them to detect possible mistakes and check their behavior. Fig. 5 shows a screen capture of Webgene that represents an example of the native service usage. The next section illustrates how pedagogical issues are included in the Webgene architecture.

C. Webgene

Pedagogical Approach

Fig. 5. Client screen capture of the Webgene

native service functionality.

The proposed architecture was tackled using the constructivist paradigm provided by the generative learning theory. The main idea underlying this theory is to have students actively participate in the learning process, learning by themselves and building up their knowledge. The learning goals of the generative learning theory encompass knowledge, practical skills, and attitude skills. The generative learning methods enforce the connection between theoretical and practical issues and show students that learning

with understanding is a generative process that helps achieve the learning objectives. The generative learning theory can be broken down into four strategies: Recall, Integrate, Organize, and Elaborate. The proposed architecture applies generative methods to operating systems, teaching by integrating these four strategies as a whole. Next, these strategies are embedded into the overall design of the Webgene architecture.

BUENDA AND CANO: Webgene

: A GENERATIVE AND WEB-BASED LEARNING ARCHITECTURE

469

Recall refers to the process in which the students pull information from long-term memory. The goal of Recall is to learn fact-based information, such as basic operating system concepts. Students can recall information stored in the Learning Unit Repository, or they can access external resources via the Educational OS Links. In the context of the selected example (Section III-A), the Recall strategy addresses concepts such as UNIX process characteristics or system call functions. Integration leads the student to integrate prior knowledge. The goal of integration is to get the student to build up his or her knowledge. This strategy helps students to transform prior information into a more easily remembered representation. To handle this strategy, the Process Management learning unit includes specic algorithms that integrate process system calls and command execution. The Integration strategy also uses questionnaires and exercises assessing system call functionalities that help students to integrate prior knowledge. Webgene stores the results produced by the Integration strategy as learning unit outcomes. Organization eases the process of generating new ideas from prior knowledge. This strategy leads the student to combine prior knowledge coming from the Recall and the Integration strategies into new concepts. Conceptual maps represent a valuable tool to organize complex information. The Process Management learning unit uses these maps to illustrate the relationships between process concepts and command interpreter programs. Students can use these maps to be self-guided into a more elaborate activity (e.g., a new version of a command interpreter). Conceptual maps can also be used to integrate new knowledge by adding new relationships as the learning process moves forward. Elaboration takes advantage of all the previous strategies to generate and practice new ideas. This strategy could be considered as the nal goal of any constructivist paradigm. The Process Management learning unit proposes the development of different versions of a command interpreter program that gradually incorporate new process functions. The Native Services component represents an invaluable help when applying this strategy to operating systems, (e.g., to check the validity of these elaborated programs). IV. TECHNICAL IMPLEMENTATION This section describes the concepts underlying Webgene implementation. Fig. 6 shows the set of modules on which the proposed architecture has been developed. The implementation basis deals with the Webgene core system, which has three interfaces to interact with the client connection via a Web browser, with the external entities (third party sources or native , operating systems), and with an optional virtual campus ( WebCT, etc.). The core architecture was developed primarily using the XML [20] format, which is currently one of the standards under consideration by international organizations like Instructional Management Systems (IMS) and the IEEE Learning Technology Standards Committee (LTSC) to develop educational specications [21]. The core interfaces have been implemented based on open technologies that ensure high compatibility with almost any computer. In particular, the interfaces have been

Fig. 6. Webgene

architecture implementation.

developed using a client/server approach. The client side has been implemented using JavaScript [22] functions, while the server side has been based on the use of PHP [23] scripts. A. Webgene Core Implementation

The core implementation works with the storage and development of the learning units which will be part of the Learning Unit Repository. The XML standard was selected because of its simplicity, exibility, and platform independence. Once the learning units have been developed, the core stores them with the related resources in the server le system. The design of the learning units and their connection with the generative Learning strategies is based on a specic XML format called learning mark-up management language (LMML) [24]. Fig. 7 shows a sample of an XML document which represents a learning unit working with Process Management. In particular, this example represents a practical activity aimed at producing a command interpreter program. As observed, the XML document includes references to theoretical issues, links to conceptual maps and exercises that request the student to elaborate a rst version of a command interpreter program. Each XML document representing a learning unit has a title and a difculty attribute, and it is structured as a set of hierarchical sections. Each section is organized as a set of modular structures, also called content-modules, which include conceptual information, i.e., references to theoretical concepts and practical activities. The proposed design embeds the generative learning theory by including an attribute that links each content-module with the corresponding strategy of the generative learning theory. An additional attribute is also used to select the language of the content-modules. In order to work with the Recall, Integrate, Organize, and Elaborate strategies, the REMARK, ALGORITHM, PROPOSITION, and EXERCISE content-modules are selected. Depending on the selected strategy, each content-module could have several inputs, outputs, and/or attributes. A proposed exercise to implement a command interpreter program is a

470

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 4, NOVEMBER 2006

Fig. 7. Sample of the XML code for the learning unit.

representative example working with the Elaborate strategy. In this example, the input is the elaborated program, and the outputs are the corresponding results of its execution in a native operating system (Fig. 5). B. Webgene Interface Implementation

Client connections use a combination of Web-based technologies and HTTP connections to interface with the core. Students log in by using a username/password pair, and the Web server authenticates this pair, allowing or denying entry to the system. The interface with external entities has been developed primarily using JavaScript functions and PHP scripts. When students access the system and select a learning unit, the client connection interacts with the core component to obtain the XML document corresponding to the selected learning unit. From this point, the client Web browser will transform the XML document into HTML code. To do so, the Web browser executes a JavaScript program that basically applies an XSL template to the original XML document. The implementation tries to simplify the core design by reducing the XML processing in the server side. The current implementation is compatible with the most popular Web browsers, such as Internet Explorer and Mozilla Firefox. The obtained HTML code provides the interface with access to external entities which include educational resources and native operating system services.

Educational resource links are implemented using JavaScript programs that rely on the AJAX [25] technology. AJAX permits one to build dynamic Web pages by combining the obtained HTML content with additional content coming from external sources. This implementation allows the client connection to work with dynamic information without overloading the server side. Native services links are implemented using PHP scripts that provide access to remote operating systems. These PHP scripts are stored on the remote server as .php les, and they can be invoked from the original HTML code using JavaScript programs based on AJAX technology. The result of the script processing is displayed in the client HTML page. Fig. 8 shows a PHP script example dealing with Process Management in UNIX operating systems which enables the remote process execution functionality. The given example has three different blocks: 1) the parameter request that gets the user identier, the program arguments, and the UNIX program itself; 2) the command composition that obtains the lepath where the program is found; and 3) the program execution that provides the UNIX process results. The program execution is implemented using a unix_command_run.php le that involves a descriptor array representing the output/input process le descriptors and a proc_open PHP function that executes the required UNIX process.

BUENDA AND CANO: Webgene

: A GENERATIVE AND WEB-BASED LEARNING ARCHITECTURE

471

The selected evaluation criteria analyze the impact that the use of Webgene has on the students grades. Webgene was validated by using the same grade system for all the students, including students enrolled in distance-learning courses and those students attending traditional courses. This grade system includes a nal theoretical exam and ve intermediate practical activities. The nal grade is obtained using (1). Grade Theoretical Grade Practical Grade (1)

Fig. 8. PHP script example dealing with Process Management in UNIX operating systems.

TABLE II CHARACTERISTICS OF THE DISTANCE-BASED-LEARNING COURSES

V. TEACHING EXPERIENCES AND EVALUATION to This section shows the benets offered by Webgene those students attending distance-learning courses. The results have been obtained from experiences acquired over the last three years in operating systems courses. During this period, the distance-learning context has been successfully improved several times, ranging from the initial course proposal in 2002 to the current Webgene system, which adapts the use of the generative learning theory. Table II shows the evolution of the distance-learning courses. The offered courses started at the beginning of the 20022003 academic year (September 2002). The students were able to access Web repositories to get the theoretical material delivered by instructors. For the practical part, students had to prepare small programs concerning basic operating system services, and some more elaborated programs using command interpreter programming topics. The students had to submit their practical work and doubts by e-mail, and eventually, they obtained feedback from instructors via e-mail as well. At the end of this rst academic virtual year, this system was improved by including the campus functionality. The experience was very positive, especially for instructors who had to manage the enrolled students. However, the system lacked functionality in guiding students and supervising students work. The Webgene development started in April 2004, and the rst complete prototype system was available at the beginning of the 20042005 academic year (October 2004). The two offered subjects, i.e., Operating System I and Operating System II, were organized as a set of learning units, each one using the four generative learning strategies.

where the Theoretical_Grade parameter represents the grade obtained in the nal exam, and the Practical Grade parameter represents the grade obtained in the th activity. The study compares the grades obtained by students using Webgene with those who did not use the proposed system. The evaluation period covers operating systems courses during three consecutive academic years (20022003, 20032004, and 20042005) with Webgene only used by students attending the distance learning course offered during the 20042005 academic year. offered a solid The rst observation was that Webgene foundation concerning theoretical learning outcomes. The theoretical grades obtained by students enrolled into distance courses were quite similar (about 3% lower and 4% higher in SO1 and SO2, respectively) to those grades obtained by students attending traditional courses. Regarding practical activities, Webgene provides students with a more exible and self-tunable environment. Webgene allows students to test their practical programs, guiding them through the process (providing wrong data as well as the data that should be there). The results have been encouraging. In fact, students using Webgene improved their practical grades in operating systems distance courses by about 13%, 10%, and 15% for those students attending laboratory sessions during the 20022003, 20032004, and 20042005 academic years, respectively. Fig. 9 shows a summary of the results obtained from students enrolled in the 20042005 SO2 distance course as reported by Webgene . The gure shows the total number of accesses, the number of nal submitted outcomes, and the correct outcomes. In the rst activity, System Calls, the Recall strategy is dominant because its difculty attribute is low; thus nearly all the students successfully reported it. The next three activities are primarily based on the Elaboration strategy. As the complexity of the activities gradually increases, the number of accesses and outcomes decrease. In the last activity, Final Project, the number of delivered and correct outcomes is the lowest. However, all the reported activities were successful. Those students elaborating their nal project send their work when they are conscious of their success, and they are the ones who normally obtain the highest grades. On the average, each student requires at least ve log-ins before submitting any practical activity for evaluation. This observation is very useful to detect and reduce the number of students trying to pass their activities without doing their work (copying other students work).

472

IEEE TRANSACTIONS ON EDUCATION, VOL. 49, NO. 4, NOVEMBER 2006

Fig. 9. Outcomes obtained by students using Webgene

in the 20042005 academic year.

Fig. 10. Comparison of the theoretical and the practical grades obtained by students using Webgene

in the 20042005 academic year.

The next experiments evaluated whether Webgene beneted from a well-balanced formation among the theoretical and the practical learning objectives. Therefore, the grades obtained by students in the theoretical and the practical part of (1) were compared. Fig. 10 shows the histogram distribution of the obtained results. A positive or a negative value in the axis means that the practical grade was higher or lower than the theoretical one, respectively. A zero value represents a completely well-balanced grade. The results show that 51% of the students obtained a completely well-balanced grade. Most important, this percentage increases up to 71% and 79%, with only and points, respectively. Some anomaa difference of lous (negative) values were produced because some students performed the theoretical examination, but they did not perform

the practical activities. Finally, about 10% of the students (7 students) dropped out of the course. VI. CONCLUSION This paper shows that Web-based technologies and generative learning methods might be candidate solutions to teach operating systems courses in distance-learning scenarios. is presented as an experimental system which Webgene favors an active and autonomous learning process. The overall system combines the universal connectivity of Web technologies and the educational foundations provided by the generative learning theory. This system addresses the learning of operating systems courses by allowing students to send their system programs,

BUENDA AND CANO: Webgene

: A GENERATIVE AND WEB-BASED LEARNING ARCHITECTURE

473

execute them in a native operating system, and receive their results and additional feedback information through Web browsers. The system also provides instructors with a valuable tool to track and evaluate the students work. The Webgene system was developed using an educational design that meets the learning goals stated by important curricula proposals [1] recommending to involve the learner in a more active learning process to get competence-based skills. Students currently enrolled in operating systems courses via Webgene are obtaining encouraging results. Students using Webgene improved their practical grades by about 13% with respect to those students attending laboratory sessions during the 20022003, 20032004, and 20042005 academic years. The results also conrmed that Webgene produces a well-balanced formation among the theoretical and the practical learning objectives. Key issues related to future work include the integration of educational standards such as Learning Objects Metadata, (LOM) and Sharable Courseware Object Reference Model (SCORM) into the learning unit design. At is http://www.disca.upv.es/jucano/utilidades.htm, Webgene publicly available with its source code. A working URL, which virtual integrates Webgene as an integral part of the campus, has also been provided. REFERENCES [1] The Joint Task Force on Computing Curricula, IEEE Computer Society, and Association for Computing Machinery, Computing Curricula 2001. [2] M. Kifer and S. Smolka, OSP: An Environment for Operating Systems (Instructor Version). Reading, MA: Addison-Wesley, 1991. [3] D. Jones and A. Newman, Rcos.java: A simulated operating system with animations, in Proc. Computer Based Learning in Science (CBLIS), G. Chapman, Ed., Brno, The Czechk Republic, 2001, Section C4. [4] L. Maia and A. Pacheco, A simulator supporting lectures on operating systems, presented at the 33rd ASEE/IEEE Frontiers in Education Conf., Boulder, CO, 2003. [5] A. S. Tanenbaum and A. S. Woodhull, Operating Systems: Design and Implementation, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 1997. [6] W. A. Christopher, S. J. Procter, and T. E. Anderson, The nachos instructional operating system, in Proc. Winter 1993 Usenix Tech. Conf., San Diego, CA, Jan. 1993, pp. 479488. [7] L. R. Porter, Creating the Virtual Classroom. New York: Wiley, 1997. [8] L. Weihua, The research and development of multimedia software, presented at the EuroChinatel, Telematics Multimedia Applicat. Educ. Healthcare, Beijing, China, 1997. [9] M. Castro, A. Lopez-Rey, C. Perez-Molina, A. Colmenar, C. de Mora, F. Yeves, J. Carpio, J. Peire, and J. Daniel, Examples of distance learning projects in the European community, IEEE Trans. Educ., vol. 44, no. 4, pp. 406411, Nov. 2001. [10] H. Latchman, C. Salzmann, D. Gillet, and H. Bouzekri, Information technology enhanced learning in distance and conventional education, IEEE Trans. Educ., vol. 42, no. 4, pp. 247254, 1999.

[11] A. Tartaglia and E. Tresso, An automatic evaluation system for technical education at the university level, IEEE Trans. Educ., vol. 45, no. 3, pp. 268275, Aug. 2002. [12] L. Malmi, A. Korhonen, and R. Saikkonen, Experiences in automatic assessment on mass courses and issues for designing virtual courses, presented at the 7th Annu. SIGCSE/SIGCUE Conf. Innovation Technology Computer Science Education, Aarhus, Denmark, 2002. [13] A. Garcia, S. Rodriguez, F. Rosales, and J. Pedraza, Automatic management of laboratory work in mass computer engineering courses, IEEE Trans. Educ., vol. 48, no. 1, pp. 8998, Feb. 2005. [14] B. Morgan, M. Christian, and T. Tomblin-Byrd, Integrating WebCT campus edition within a universitys architecture, presented at the 4th Annu. WebCT User Conf., Boston, MA, 2002. [15] F. Buenda, M. Agust, J. Benlloch, E. Bisbal, and M. Lluesma, Xedu, an open learning management system proposal, J. Inf. Technol. Impact, vol. 4, no. 1, pp. 5566, 2004. [16] R. Calvo, R. Ellis, and D. Peters, Internationalisation and e-learning systems: .lrn case studies, presented at the Foro Hispano dotLRNOnline Educa, Madrid, Spain, 2005. [17] K. Peterson, The Sakai Project: Community Source Software for Academic Institutions, The Senate Source Apr. 2005 [Online]. Available: http://www.universityofcalifornia.edu/senate/news/source/ittp.pdf [18] M. Wittrock, Generative processes of comprehension, Educ. Psychologist, vol. 24, pp. 345376, 1990. [19] E. Siever, A. Weber, and S. Figgins, Linux in a Nutshell, 4th ed. Cambridge: OReilly & Assoc., 2003. [20] D. Shepherd, Xml fundamentals, presented at the XML 2005 Conf. Expo., Atlanta, GA, 2005. [21] E. Duval, Standardized metadata for education: A status report, presented at the World Conf. Educational Multimedia, Hypermedia, Telecommunications, Tampere, Finland, 2001. [22] J. Manger, Javascript Essentials. New York: Mcgraw-Hill Osborne Media, 1996. [23] L. Welling and L. Thompson, PHP and MySQL Web Development, 2nd ed. Indianapolis, IN: Developers Library, 2003. [24] C. SuB, D. Kammerl, and B. Freitag, A teachware management framework for multiple teaching strategies, in World Conf. Educational Multimedia, Hypermedia, Telecommunications, Montreal, QC, Canada, 2000. [25] R. Asleson and N. T. Schutta, Foundations of Ajax. Berkeley, CA: Apress, 2005.

Felix Buenda was born in Valladolid, Spain, in 1966. He received the Masters degree in computer engineering and the Ph.D. degree from the Polytechnic University of Valencia (UPV), Valencia, Spain, in 1992 and 2003, respectively. He is currently an Assistant Teacher with the Department of Systems Data Processing and Computers in the Polytechnic University of Valencia. His research interests are Web applications, e-learning, and other related topics.

Juan-Carlos Cano received the M.S. and Ph.D. degrees in computer engineering from the Polytechnic University of Valencia (UPV), Valencia, Spain, in 1994 and 2002 respectively. Between 1995 and 1997, he worked as a Programming Analyst in the manufacturing division of IBM, Valencia, Spain. Currently, he is an Associate Professor in the Department of Computer Engineering at UPV. His current research interests include power aware routing protocols for mobile ad hoc networks and pervasive computing. His teaching interests include computer organization and computer networks.

You might also like