• 沒有找到結果。

Chapter 2. Literature Review and Related Work

3.3 Summary and discussion

Because of increased globalization in recent years, various international programs at different universities and higher-level institutions around the world have strived to attract students from various countries and different backgrounds hoping it would make the institution more competitive. Moreover, an international program is thought to improve and benefit the studying environment through more diversity in knowledge and thinking and a greater variety of research projects conducted at that particular school. But learning dilemmas in a traditional ‘in classroom’ environment caused by language barriers between students (local or foreign) and professors (local or foreign) and also extra money being spent on such programs are raising the issue of efficiency and benefits of such programs to both the students and educational institutions. Multi-Level Usage as shown by this survey can be one way of dealing with situations as above. It can be used in educational systems to reduce various problems created by certain teaching barriers and also improve a student’s learning.

Based on the results of this survey we will built the architecture and system implementations in the following chapters.

Chapter 4

System Architecture

Our Multi-level Learning System is composed of the Account Management System, the Course Management System, and the Assessment System as shown in Figure 4.1. The Account Management System is used to manage the account’s authority to control what a user can or cannot do. It includes Login(), Logout(), AddUser() and DeleteUser(). The Course Management System is used to manage the courses for these various purposes: to register for a course, view a registered course, import a course, and set up the Multi-level system of a course. The Assessment System provides an exam for a user to help him/her to choose the appropriate level of a course and also assess if he/she can go to the next level.

Figure 4.1 The Architecture of Multi-level Learning System

4.1 Account Management System

The Account Manage System is used to manage the authority of a user. It keeps the user information and defines what he/she can or cannot do. As shown in the Figure

4.2, the users may be separated into two groups. One group is the learner (student), while the other is an administrator. When a user logs into the system, the Account Management System will provide the functions according to the role or title of user.

An administrator can login the system, logout the system, add a user, and delete a user for various purposes. If a student logs into the system, then the system will provide the course to be learned according to the student’s registration. Usually, an administrator would be a teacher or a teaching assistant. He/she can add the students to a class and assign the courses to them. Then it could be treated as a virtual classroom for a course. As the number of courses increase, it becomes a macro university.

Figure 4.2 The Diagram of Account Management System.

4.2 Multi-level Course Management System

The Course Management System has the functions as shown in Figure 4.3. An administrator can import a course, delete a course, and define the Multi-level of a course. An administrator can also register as a student if he/she wants to study or complete a course but he/she must be admitted as a student first. A student can register

a course that has already been imported by an administrator and then view the registered course. He/she can register for many courses, ‘in classroom’ or online courses in the same way students register for a traditional ‘in classroom’ learning environment. The course management system will record the status of a student and his/her progress or accomplishment in this course.

Figure 4.3 The Diagram of Course Management System.

An administrator may be an expert teacher or a program director and he/she can organize a course into different levels according to the needs. He/she can determine if this course would be an ‘in classroom’ or online course based on the information available from the system (course has adequate resources for either ‘in classroom’ or online environment). The system can provide an easy way for the administrator to do this so that he/she can only concentrate on classifying the level and/or type of course and not spend too much time on other aspects. As shown in the Figure 4.4, the course management system loads a course into a Multi-level course definition web page.

The teachers just need to classify the level and type of course (‘in classroom’, online, or combined) for each chapter by clicking the radio button on the web page. After

he/she finishes the process, the ClassifyCourse() will generate a Multi-level course package of SCORM. The Learning System can load this Multi-level course package for a Multi-level course purpose.

Figure 4.4 The Model of Generating a Multi-level Course

4.3 Multi-level Assessment System

The assessment system helps a student find which level he/she should start by providing an assessment exam. It can be both oral and written. The Assessment System will calculate the score he/she gets and then dynamically load the proper level or type of the course (‘in classroom’ or online). The system will record the level of the user and load the level/type of course every time a student continues studying the course until he/she finishes it. After the leaner finishes a level and/or type of course, another assessment exam is provided to see if he/she can go to another level/type or whether more study at the present level is necessary.

4.4 Multi-level Course Structure Definition

SCORM uses the Manifest File as framework of its course package. We define our course structure using the basis of the Manifest File XML structure. As shown in

Figure 4.5, the <title> tags are the outlines of the course; the <item> tags will be chapter node, section node, or content resource, depending on its depth in the tree chart. The <title> tag, which is referred to as ‘a child’ of <organization> tag, is the title of the course. The <item> tags, whose parent node is <organization> tag, are the chapter nodes. The <imsss:sequencing> tags are used to control the flow of the course and seen as a sequencing node. The <title> tag, which is a ‘child’ of chapter node, is the tile of that chapter. The <item> tags, whose ‘parent node’ is a chapter node, are the section node. The section node may have only a <title> node or have a <tile> node and several <item> nodes. If the section node has only a <title> node, it will also be a resource node, which maps to the physical file. The <item> tags belonging to the section node then will be considered as resource nodes. The ‘child’ of these resource nodes will also be resource nodes and can continue on in this pattern.

Figure 4.5 The Definition of Multi-level Course Structure.

Chapter 5

System Implementation

This chapter describes the implementation of our Multi-level Learning System.

First, we introduce the system platform, then our SCORM Course Editor and our Multi-level Course Generator system. Finally, we will describe the Adaptive Learning activity and the model that dynamically loads a Multi-level course.

5.1 System Platform

The Learning System provides a commonly used web interface for the user to access the system. We use JavaScript and Java Server Page (JSP) language for programs and we use Microsoft Access as the database to store the Multi-level indexing data and the account information. We use Microsoft windows XP as our system platform and Apache Tomcat v4.1.24 as web server. In addition, we use the Sample Run-time Environment, which is distributed by ADL, as the base of our prototype. As shown in Figure 5.1, we also need to setup a windows XP system with Java Run-time Engine and Apache Tomcat Web Server.

Figure 5.1 The Hierarchical Structure of Multi-level Learning System.

We use the grammar as shown in Figure 5.2 to parse the XML-based Manifest File. The <organization> is the root of the grammar and is defined as <item>. The

<item> is defined as <title>, <title>+<item> or <title>+<item>+<imsss:sequencing>.

The <title> can be defined as outline and <imsss:sequencing> can be defined as sequencing.

Figure 5.2 Grammar used for Parsing XML-based Manifest File.

5.2 SCORM Course Editor

We provide a SCORM Course Editor to help teachers easily reorganize the existing learning content so they can implement a course that matches SCORM standards. The Course Editor provides some templates so that teachers can easily build various types of sequencing and navigation. Those templates include None,

Linear, Linear Controls, and Linear Choice. This tool provides a friendly user interface and it can show the learning material or method one chooses to allow easier view of what is handled by a user. A user (administrator) can drag and draw the learning content to organize a new SCORM course. He/she can also load an existing SCORM course structure for reorganizing. After the user finishes editing the course structure, our tool will help him/her to packet the learning course into a SCORM course with zip file. Though there are many SCORM course editors, they are too difficult and complex to use and their learning curve may be too long. By using our SCORM based editing tool, an administrator can easily transfer traditional learning content to the SCORM type. Figure 5.3 shows the Top-down Function Block of our SCORM Course Editor.

Figure 5.3 Top-down Function Block Diagram of a SCORM Course Editor.

5.2.1 LoadCourseXML()

This function is used to load an existing SCORM course structure for editing. A SCORM course is organized by specifying a XML file named “Imsmanifest.xml.”

Our function parses the XML file to extract the text meaning from the node into a tree node. The main role of the function is ParseXML(). In the ParseXML(), we use

recursive function to achieve the editing of a course as shown in Figure 5.4.

Figure 5.4 Algorithm for Loading a SCORM Manifest File.

The ParseXML() is a recursive function. Line 1 is the declaration of ParseXML().

It needs XMLNode and TreeNode as inputs. The XMLNode is a node in XML document and the TreeNode is a node in the component of TreeView, which is used to display a tree structure in windows platform. Line 3 checks if the XMLNode is an Element-Node. Line 4 checks if the XMLNode is a Text-Node. If both lines 3 and 4 are correct, then line 5 will be run. Line 5 creates a new node in the component of TreeView as newTreeNode. Line 7, line 8, and line 9 show whether or not the XMLNode has any ‘child’ and run ParseXML() for every ‘child’. The inputs of line 9 are the ‘child’ of XMLNode and newTreeNode.

5.2.2 EditFunctions ()

The Edit Functions include three sub-functions: 1) AddItem(), 2) DeleteItem(), and 3) ShowItem(). AddItem() and DeleteItem() help a user to add and delete items in the organization tree show in Figure 5.5, and ShowItem() displays the handling content immediately.

Figure 5.5 The Concept of Building a SCORM Organization Tree.

5.2.3 BuildPackage()

This function includes two sub-functions. They are FormatSCORM() and PacketZip(). FormatSCORM() transfers the tree in the component of TreeView into SCORM organization and builds “Imsmanifest.xml”. PacketZip() will compress the Manifest File and Physical Files into the SCORM-based course packages.

5.3 Multi-level Course Generator

Our Learning System provides an easy way for an expert teacher or program director to generate the Multi-level courses. When a teacher runs the classified course function, it will load the whole course into a web page. Every chapter and its sections will be listed on the page and each chapter will follow with a Multi-level classifying radio button. The teachers just need to click on the level or type of course to define what they want to teach. After a teacher finishes the required action for every chapter listed on the page, the function will generate several files as shown in Figure 5.6, and the Multi-level course is ready for the student to use. The student can then register the course and join a certain level or type (‘in classroom, online, or combined).

Figure 5.6 Generating Multi-level Courses.

5.3.1 XMLToForm()

XMLToForm() parses the structure of the matched level of “Imsmanifest.xml”

into a Leveling Web Page. The Leveling web page is the list of outlines in a course.

Every section will be followed by some checked boxes. The number of the checked boxes depends upon the number of levels that the administrator wants to use. If the box of a level is checked, this level will be added to the course. As shown in Figure 5.7, line 1 is the declaration of XMLToForm(). The input of XMLToForm() is the Organization-node of SCORM. Line 3 and line 8 is the for-loop input and it will run as many times as the number of ‘children’ of the Organization-node. For every ‘child’

of the Organization, line 4 checks if the ‘child’ is an Element-Node and Line 5 checks if the name of this ‘child’ is“item”. If both line 4 and line 5 are correct, then ParseNode() for this ‘child’ can be run.

Figure 5.7 The Algorithm for XMLToForm().

Figure 5.8 The Algorithm for ParseNode().

As shown in Figure 5.8, the ParseNode() is a recursive function. Line 1 is the declaration of the function. Its input is a XML node. Line 3 and line 4 check if the node is a section node. If both lines check correctly, the ParseNode() will add a checked box to the html format output string. Line 7 to 11 run a ParseNode() for every

‘child’ if the node has ‘children’. Line 13 is the return function.

5.3.2 GenerateMultiLevelXML()

GenerateMultiLevelXML() generates some of “Imsmanifest.xml” files according

to the outputs form the Leveling Web Page. Every level will come with an

“Imsmanifest.xml.” A section will be added to the level-n “Imsmanifest.xml” if its box of a certain level is checked. As shown in Figure 5.9, line 1 is the declaration of GenerateMultiLevelXML().nThe inputs of the function are levelingarray, numberofchapter, numberofsection, and numberoflevel. Levelingarray is gotten from the Leveling Web Page. The value will be set to 1 if the box is checked. The numberofchapter indicates how many chapters are in the course, the numberofsection indicates how many sections are in that chapter and the numberoflevel indicates the number of levels being generated. Lines 3 to 4 are the for-loop to run for every section in each chapter. Line 5 loads all chapter sections of the Organization-nodes into the organization array from original “Imsmanifest.xml”. Line 6 loads all resources of all chapters in the Resource-Nodes into resource array from the original

“Imsmanifest.xml”. Line 7 to 12 copy the organization and resource data into the

“level-k.xml” if that section is checked. Line 15 returns 0 to exit function.

Figure 5.9 The Algorithm for GenerateMultiLevelXML.

5.4 Loading Multi-level Course and Learning Activity

This section describes the function of how to dynamically load a Multi-level course and the flow of the learning activity.

5.4.1 Dynamic Loading a Multi-level Course

The feature of our Learning System is that we can use the same course material to achieve the purpose of a Multi-level course. We only keep a copy of the course material into the Learning System. When a student starts a course, the AssessmentLevel() will assess his/her level, then the XML parser will dynamically parse the course setting from “Imsmanifest.xml” into the indexing database according to the student’s learning ability. Then the LoadMultilevelCourse() will load the Physical Files according to the indexing found in the database to provide the adaptive learning content as shown in Figure 5.10.

Figure 5.10 Dynamic Loading Multi-level Courses.

There are three different ways to decide the learner’s level in our implementation as shown in Figure 5.11. First, the user makes the decision to choose a level or type of course. Second, the administrator of the system decides which level and course type can meet the user’s needs. And 3rd, the system can provide an assessment exam for

the learner and load the corresponding level of a learning content. The benefit of the assessment system is that a student can choose to take a lower and a higher level of the same course simultaneously for various reasons: 1) if he/she is pressed for time, 2) passed a higher level but wants to review more content at a lower level, and 3) passed a higher level but is unfamiliar with the course material and wants to take a lower level.

Figure 5.11 The Ways of deciding a student’s Level.

XMLParser() will parse the matched “Imsmanifest.xml” of a user’s level and save all the useful information. Then, using a JSP web page one can put the data into an Indexing Database. As shown in Figure 5.12, line 1 to 5 run XMLParseData() for the

‘children’ of Organization-node. XMLParseData() extracts useful data for every chapter. Line 10 contains the ID of the node, line 11 the type of resource, line 12 the title of the resource, and line 13 contains the location of the resource.

Deciding a Course Level

Decide Level by Self Monitoring

Decide Level by Admin

Decide Level by

Examining

Figure 5.12 The Algorithm for XMLParser().

5.4.2 The Learning Activity

As shown in the Figure 5.13, when a learner logs into the system, the system will check if he/she has registered for any courses. If the student is registered, then he/she can select the course that he/she has already registered for. If not, he/she can register a new course. The assessment sub-system will give the user an exam to help the student determine which level of the course he/she should register for, and then the Learning System will dynamically load the course accordingly. Now a user can continue on to the learning process. The Learning System will keep the status of what the student does in the course so that he/she can study the course at a particular level until it is finished.

Figure 5.13 The Learning Activity Flow Chart

5.5 System Scenarios

To better serve the needs of different students and to decrease the stress and extra work of teachers facing a difficult learning environment (ex: an international learning environment) we also implemented certain prototypes besides an assessment testing system for choosing a course. Such system as shown bellow can help the student choose a course for an online, ‘in classroom’, or a combined program of ‘in classroom’ and E-learning environment according to his/her needs. One scenario can be; if an ‘in classroom’ course taught in English proves to be too difficult for some students, a lower level version of the same course can be set up by an administrator

partially online and partially ‘in classroom’ or combined. This way a student can get proper knowledge and develop listening skills gradually when learning in a language other than his/her native language, rather than being overwhelmed all at once by a very difficult course of ‘in classroom’ environment. Although the available options or scenarios using Multi-Level can be many and benefit learning in numerous ways, a general view of its uses are shown through the various other scenarios described in

partially online and partially ‘in classroom’ or combined. This way a student can get proper knowledge and develop listening skills gradually when learning in a language other than his/her native language, rather than being overwhelmed all at once by a very difficult course of ‘in classroom’ environment. Although the available options or scenarios using Multi-Level can be many and benefit learning in numerous ways, a general view of its uses are shown through the various other scenarios described in