DESIGN AND IMPLEMENTATION OF A WEB-BASED ... - CORE

167
DESIGN AND IMPLEMENTATION OF A WEB-BASED COOPERATIVE SCHOOL INFORMATION SYSTEM BY TSUI YUEN A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF PHILOSOPHY DlVISION OF COMPUTER SCIENCE AND ENGINEERING THE CHINESE UNIVERSITY OF HONG KONG JUNE 1999

Transcript of DESIGN AND IMPLEMENTATION OF A WEB-BASED ... - CORE

DESIGN AND IMPLEMENTATION OF A WEB-BASED

COOPERATIVE SCHOOL INFORMATION SYSTEM

BY

TSUI YUEN

A THESIS

SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE DEGREE OF MASTER OF PHILOSOPHY

DlVISION OF COMPUTER SCIENCE AND ENGINEERING

THE CHINESE UNIVERSITY OF HONG KONG

JUNE 1 9 9 9

z ^ v

^ ^ . V ^ ^ ^ K ^ , ^ P ^ ^

一 ( I f F E r 5 i i T j _ )

~ ^ : l ^ l J _ l

< . i ^ C 0 0 K ^

y , ^ f c ^

Acknowledgement

First of all, I have to express my thanks to my supervisor Prof. KAN Wing Kay. It is

my pleasure to have Prof. Kan as my supervisor. During my research, he not only

guided me to the right direction but also shared his professional opinions on

computer networks and computer-assisted educational systems with me.

And then, I would like to send my thanks to Prof. MOON Yiu Sang and Prof.

LYU Rung Tsong Michael. Prof. Moon shared his professional knowledge on

multimedia with me so that, my research can function on it. He also taught me the

skills in writing scientific reports/papers. Prof. Lyu conferred his precious views

about software engineering on me. Besides, I wish to thank my former supervisor

Prof. YOUNG Ho Fai Gilbert. He gave lots of ideas in my early research.

After expressing my gratitude to the professors, it is the time to give my

heartiest thanks to the group of my comrades, in particular, Ms. LEE Pui Yu, Mr.

CHENG Chun Hung, Mr. HUNG Kei Keung, Mr. WONG Yin Pong, Mr. CHAN

Ming Fei, Mr. FU Chi Wing, Mr. LAM Cheung Fai, Dr. ZHANG Xue Jie, Mr.

CHEUNG Chi Chiu, Mr. SO King Yan, Mr. TAM Tsz Shing, Mr. FUNG Yiu Fai,

Mr. HO Chi Wai, Mr. WONG Yuk Chung, Mr. TSANG Ping Ki, Mr. CHUNG Chu

Keung, Mr. CHOI Mo Fung, Mr. WONG Ho Yeung, Mr. CHU Kam Wing, Mr. LEE

Kam Sum, Mr. WANG Tai Jun, Ms. WONG Wai Ting, and Mr. CHAN Kin Pong.

These comrades gave me impetus, encouragement, inspiration and recollection on

my research. I express thousands of my apologies to those whose names are missed

here.

Research is something causing people to recall and giving people satisfaction.

It is never as easy as it looks. It always takes longer than expected.

ii

Abstract

This thesis introduces a Web-based Cooperative School Information System (SIS)

which is based on an innovative idea to put the normal classrooms to the World

Wide Web. It is designed for primary and secondary schools. It is a Web solution

which makes education possible on the Internet and Intranet. It operates in the real

schools as a major component of computer-assisted education. The nature of SIS is

similar to a virtual school established on the World Wide Web. There are four

subsystems in SIS, which are the library system, the student-monitoring system, the

groupware system and the management system. The library system provides software

tools for teachers to prepare and deliver multimedia course materials as well as some

extracurricular matters. Other than teaching materials, educational TV, questions

bank and online examination center are also available in the library system. The

groupware system furnishes group work facilities and email facility for teachers and

students to carry out collaborative tasks together, in synchronous mode and

asynchronous mode respectively. The student-monitoring system not only records

and monitors the performance of the students but also makes announcements to their

parents through email. Finally, the management system takes over the administrative

tasks and determines the access right and group property of users. For technical

issues, SIS adopts the client-server model in which the structure is simple. It consists

only of the SIS Central Server and the SIS Client Applet. Both of them are

implemented in pure Java. The SIS Central Server runs on the same machine with

the HTTP server and the SIS Client Applet is launched on the client side by the Web

browser while accessing the sole Web page of SIS. Using the Java technology, we

attain the peculiarity of platform independence that clients of SIS can be operated in

a heterogeneous computing environment. Besides, we eliminate the anxiety of

iii

software support on the client side, such as the preinstallation of external players or

plugins used for enabling the multimedia technology, but retain the use of

multimedia technology in our courseware. Techniques used in the implementation

include multithreading, use of the JAR files, integration with existing packages for

Java, real-time multimedia data transmitting/processing, application of distributed

objects, manipulation of user interfaces as cards, etc. In this thesis, we describe the

education scenarios of SIS, narrate the design and implementation issues of SIS,

demonstrate the finished components of SIS and discuss the effects made by SIS.

iv

Content

1 Introduction 1 1.1 Computer-assisted Education . . • 2

1.2 Motivation and Problems 4

1.3 Objectives and Approaches 7

1.4 Organization of Thesis 9

2 Related Work “ 10 2.1 Existing Research Projects 10

2.2 Structural and Navigational Hypertext Presentation 11

2.3 Multimedia Integration for Hypermedia Courseware 13

2.4 Standalone Java Applets 14

2.5 Software Tools Using Browser Plugins 17

2.6 Chapter Summary 18

3 SIS Education Scenarios 19 3.1 Library System 21

3.2 Groupware System 24

3.3 Student-Monitoring System 25

3.4 Management System 26

3.5 Chapter Summary 27

V

4 Software Architecture of SIS 29 4.1 Client-server Model 29

4.2 Software Configuration 31

4.3 Software Design 33

4.3.1 Module 1: Access Authorization Identifier (AAI) • • • • 34

4.3.2 Module 2: Multimedia Presentation Tools (MPT) • • • • 35

4.3.3 Module 3: Intelligent Questions Selector (IQS) 38

4.3.4 Module 4: Online Examination Center (OEC) 40

4.3.5 Module 5: Student History Recorder (SHR) • • • • • • 41

4.3.6 Module 6: Student Performance Analyzer (SPA) • • • • 42

4.3.7 Module 7: Electronic Mail Manager (EMM) 43

4.3.8 Module 8: Result Querying Agent (RQA) 44

4.3.9 Module 9: Group Activity Area (GAA) 45

4.3.10 Module 10: Integrated Systems Logger (ISL) 48

4.4 Chapter Summary 50

5 Demonstration 52 5.1 Login Dialog Boxes 52

5.2 Services Menu for Students 53

5.3 Teaching Materials for Students 54

5.4 Teaching Materials for Students - Chinese 56

5.5 Teaching Materials for Students - English 60

5.6 Teaching Materials for Students - Mathematics 64

5.7 Tests for Students 66

5.8 Tests for Students - Chinese 66

5.9 Tests for Students - English 68

5.10 Queries for Students 70

vi

5.11 Discussion Area for Students 71

5.12 Educational Television for Students 72

5.13 Flow of Services for Students 75

5.14 Services Menu for Teachers 76

5.15 Teaching Materials for Teachers 77

5.16 Teaching Materials for Teachers - Chinese 78

5.17 Teaching Materials for Teachers - English 82

5.18 Tests Papers for Teachers 86

5.19 Queries for Teachers 87

5.20 Preparation of Test Papers for Teachers 88

5.21 Modification of Questions for Teachers 91

5.22 Flow of Services for Teachers 95

5.23 Chapter Summary 96

6 System Implementation 97 6.1 Characteristics of Java 97

6.2 Platform Independence 98

6.3 Integration with Existing Packages for Java Technology 100

6.4 Cryptography of User Passwords 103

6.5 Transmission of Data Packages 105

6.6 Multithreading for Multitasking 108

6.7 Management of User Interfaces 110

6.8 Data Structures for Temporary Storage 112

6.9 Messages Broadcasting in Chat Rooms 116

6.10 Playback of Audio and Video Data Files 121

6.11 Progress of System Implementation 125

6.12 Chapter Summary 128

vii

7 Discussion and Future Work 129 7.1 Wide Spread of the World Wide Web 129

7.2 Communication between Schools and Families 130

7.3 Pedagogical Uses 130

7.4 Virtual Student Community 131

7.5 Differences between SIS and Other Web-based Educational 132

Systems

7.6 Future Work • • • • 133

7.7 Chapter Summary 138

8 Summary 139

Bibliography ‘ 144

viii

List of Figures

1.1 Graphical Concept of School Information System 8

2.1 Snapshot of Structural and Navigational Hypertext Courseware 12

2.2 Flow of Launching an External Player for Multimedia Data File 14

2.3 Standalone Java Applet for Visualization of Molecular Models 15

2.4 Standalone Java Applet Simulating a Von Neumann Computer 16

2.5 Standalone Java Applet Balancing Chemical Equations • . • • 16

2.6 Flow of Executing Software Tool by Launching its Plugin • • . 18

3.1 Overview of SIS 19

3.2 Graphical Structure of SIS 21

4.1 Flow of Accessing SIS and Launching the Java Applet on Client 30

Side

4.2 Direct Connection between the SIS Client Applet and the SIS 30

Central Server

4.3 Graphical View of Software & Hardware Configuration in £ • 32

4.4 Overview of the Software Modules in SIS 33

4.5 Flow of User Identification in Module AAI • . . 34

4.6 Flow of Double-login Inspection in Module AAI 35

4.7 Flow of Preparing a Presentation in Module MPT 36

4.8 Flow of Maintaining a Presentation in Module MPT 37

4.9 Flow of Manipulation of Questions in Module IQS 39

4.10 Flow of Manufacturing a Test Paper in Module IQS 40

ix

4.11 Flow of Holding a Virtual Examination in Module OEC • • • • 41

4.12 Flow of Updating and Managing Student Profiles in Module 42

SHR

4.13 Flow of the Internal Operations in Module SPA 43

4.14 Communication between Five Modules 44

4.15 Flow of Querying Student Profiles in Module RQA 45

4.16 Operations between the Central Server and Connected Clients in 46

Module GAA

4.17 Flow of an Asynchronous Discussion in Module GAA ; • • . 47

4.18 Overview of Logging User Activities in Module ISL 50

5.1(a) Login Dialog Box for Students 53

5.1(b) Login Dialog Box for Teachers 53

5.1 (c) Dialog Box of Unsuccessful Login for Students 53

5.1 (d) Dialog Box of Unsuccessful Login for Teachers 53

5.2 Service Menu for Students 54

5.3(a) Menu According to Academic Levels for Students 55

5.3(b) Menu According to Subjects for Students 55

5.4(a) 丁6乂10�01化686 01&口16犷《岳飛之少年時代》 56

5.4(b) Multimedia Pictures of Chinese Chapter《备飛之少年時代》• 57

5.4(c) Q&A Section (question only) of Chinese Chapter {岳飛之少年 57

-粉〉

5.4(d) Q&A Section (with answer) of Chinese Chapter�备飛之少年時 58

�« 5.4(e) Text ofChinese Chapter《早晨,好大的霧阿》 58

5.4(f) 丁6乂10€01化656 01&口16犷《早晨’好大的霧阿》 59

5.4(g) Q&A Section (question only) of Chinese Chapter《早晨,好大 59

的霧可》

5.4(h) Q&A Section (with answer) of Chinese Chapter�早晨,舒大的 60

V

#^)) 5.5(a) Text of English Article "How Can We Save Paper?" 61

5.5(b) Q&A Section (question only) of "How Can We Save Paper?" • 61

5.5(c) Q&A Section (with answer) of "How Can We Save Paper?" . 62

5.5(d) Text of English Article "The Hong Kong Dragon Boat Festival" 62

5.5(e) Q&A Section (question only) of "The Hong Kong Dragon Boat 63

Festival"

5.5(f) Q&A Section (with answer) of "The Hong Kong Dragon Boat 63

Festival" . • .

5.6(a) Graphical Plotter for Mathematical Equation v = ^ 64

5.6(b) Graphical Plotter for Mathematical Equation 3; = r � 65

5.6(c) Graphical Plotter for Mathematical Equation y = ? + jc _ 52 . . 65

5.7 Menu of Tests for Different Subjects 66

5.8(a) Sample Chinese Test Paper 67

5.8(b) Correct Answer to Each Question in a Chinese Test Paper • • . 67

5.8(c) Overall Result of a Chinese Test Paper 68

5.9(a) Sample English Test Paper 69

5.9(b) Correct Answer to Each Question in an English Test Paper • . 69

5.9(c) Overall Result of an English Test Paper 70

5.10 Sample Output of a Query on Test Results 71

5.11 Simultaneous Discussion on Chinese-related Topics 72

5.12(a) Educational TV on Chinese-English Phrase Pairs • .• . • • . 73

5.12(b) Educational TV on Chinese Phrases 73

5.12(c) Educational TV on Chinese Terms 74

5.12(d) Educational TV on Chinese Terms 74

5.13 Flow of Services Provided for Students 75

5.14 Service Menu for Teachers 76

5.15 Menu for Teaching Materials 77

xi

5.16(a) Menu of Managing Chinese Chapters for Teachers 79

5.16(b) Scene of Concurrent Accesses to Chinese Chapter ( 背 影 � • • 79

5.16(c) Editing Environment of Chinese C h a p t e r �备飛之少年時代� • 80

5.16(d) Editing Environment of Chinese Chapter�岳飛之少年時代》• 81

5.17(a) Menu of Managing English Articles for Teachers 83

5.17(b) Scene of Concurrent Accesses to English Article "The Hong 83

Kong Dragon Boat Festival"

5.17(c) Editing Environment of English Article "The Hong Kong 84

Dragon Boat Festival"

5.17(d) Editing Environment of English Article "The Hong Kong 85

Dragon Boat Festival"

5.18 Menu Related to Test Papers for Teachers 86

5.19(a) Sample Output of Query on a Particular Student 87

5.19(b) Sample Output of Query on All Students of a Class 88

5.20(a) Editor to Create New Chinese Test Papers (before 89

manufacturing)

5.20(b) Editor to Create New Chinese Test Papers (after manufacturing) 89

5.20(c) Editor to Create New English Test Papers (before 90

manufacturing)

5.20(d) Editor to Create New English Test Papers (after manufacturing) 91

5.21(a) Editor to Insert New Chinese Questions 92

5.21(b) Editor to Delete New Chinese Questions 92

5.21(c) Editor to Insert New English Questions 93

5.21(d) Editor to Delete New English Questions 94

5.22 Flow of Services Provided for Teachers 95

6.1 Compile-time and Runtime Environments of Java 99

6.2 Internal Structure of a SIS Client Applet 100

6.3 A Sample Password File 104

xii

6.4 Program Segment for Constructing a Hash Table 104

6.5 Conceptual View of Hash Table shadow 104

6.6 Communication between SCA and SCS in Login Procedure • • 105

6.7 Layout of Front Menu for Students 106

6.8 Procedure of Bundling and Dismantling a JAR File 107

6.9 Program Segment for Creating Threads 109

6.10 Flow of Creating New Threads for Incoming Requests • • • • 110

6.11 Conceptual View of Screens Management in the SIS Client 111

Applet • • •

6.12 Structure of V|ogm Recording Login Status 113

6.13 Flow of Adding/Removing an Element into/from Vjogm ‘ • • • 114

6.14 Structure of VquestUm and V,- Containing Questions of a Test Paper 115

6.15 Structure of Vchapter with Corresponding User Interface • • • • 116

6.16 Flow of Creating New Threads for Chat Rooms 117

6.17 Program Segment for Managing the Lifetime of /?, 118

6.18 Framework of a Chat Room 119

6.19 Graphical View of Invoking Remote Methods on Distributed 120

Objects

6.20 User Interface of Media Player MP 121

6.21 Flow of the Six States in the Execution of MP 123

6.22 Backward Process of MP in the Six States 124

7.1 Conceptual View of Binding a Virtual Server to a Collection of 134

Machines

7.2 Illustration of Constructing a Direct Connection for Private Talk 135

7.3 Overview of a Three-tier Model 137

xiii

Chapter 1

Introduction

The rapid evolution of Information Technology (IT) and its potential for

communication between people have been of great importance to the success of most

organizations. The key aspects are the increased availability of computer networks

and the social tendency of computer supported. During the World War II, computers

were used primarily for computations such as plotting the paths of missiles. As the

business community began to adopt computer technology, the use of computers has

shifted to more of a data storage and retrieval device than a computational machine.

• Currently, there is a trend to use computers for communication. Email and the advent

of the Intemet are sparking a new explosion in the use of computers.

In other words, the main functions of computer systems have shifted from that

of computation to communication. Perhaps we are in the primary stages of a

paradigm shift, where the cultural and traditional background guiding the way people

use computers is changing. The future structure of the information super highway

will help to define this new use for computers, probably more than anything else.

Followed by the paradigm shift and the new peculiarities of computer systems

(storage and communication), several computer cooperative applications have been

developed. One of the crucial examples is the evolution of the World Wide Web. The

World Wide Web is an architectural framework for accessing linked documents

distributed over thousands of machines all over the Intemet. Its unprecedented

popularity stems from the fact that it supports a colorful graphical interface, which is

1

easy for beginners to use, and provides a very broad and profound information on

almost every conceivable subject, from aboriginal to zoology.

Since the Internet is destined to influence our society so fundamentally, it is

highly important to teach our new generation so that they can function within it. The

best way to teach technology is using technology. The impact caused by the Internet

is similar to the impact caused by the television. Due to its attractiveness,

convenience and efficiency, the Internet is becoming more and more popular in the

world. Through the Intemet, we can have the shortest speed and the least effort to get

the most updated information about everything all over the world. For example, we

can just sit in front of a computer and get the most updated data in stock market, the

invention of new products, the events happened in the world, the weather in different

places at any time. Moreover, in recent years, we can even book train tickets, air

tickets and hotels, purchase many different kinds of products, pay bills, manage bank

accounts, and read newspapers through the net. Most importantly, the Intemet

provides a very good channel for education. In USA and Japan, many schools use the

Intemet as a teaching medium. Most students find it very interesting and enjoy

studying on the Intemet [77].

1.1 Computer-assisted Education

Generally speaking, computers have become the most exciting innovation to

classrooms since paper and pencils replaced slate and slate pens. The potential uses

for children and teachers alike are boundless. One just have to be game enough to try

things out, and, for many teachers, to be prepared for the eventuality that one of their

students might really know more about the technology than them [30].

Computer-assisted education refers to real computer-based systems, and of

software tools and computer technologies used for education as well as the impact

which systems may have on the psychological, social and organizational dimensions.

Computer-assisted education is a generic term which combines the understanding of

the way of teaching and learning with the enabling technologies of computer

networking and associated hardware, software, services and techniques. The first

2

computer-assisted educational system was built in 1959 [1]. Such systems are often

categorized according to the time and location matrixes [25]. In other words, there

are two dimensions that make up the domain of such systems. They are the time and

place. The following tables show the distinction in each dimension.

Time:

Real Time This is when communication occurs at the same time.

Asynchronous Time This is when communication occurs at different times.

Place:

Same Place This is where people meet in the same room.

This is where a lecture occurs where the participants are in Different Places

geographically distributed locations.

The emphasis of computer-assisted education places on how to use the

technology successfully by incorporating collaborative learning activities. The goal

of computer-assisted education is to discover ways of using computer technologies to

further enhance the teaching process through support in the time and place

dimensions. The focus of computer-assisted education is the social interaction of

people, and not only the technology itself. The following notions and technologies

help to satisfy the goals of computer-assisted education:

• WYSIWIS

This stands for What You See Is What I See. It is analogous to two people

each at their own homes watching the same television program shown at the

same time. Computer technology extends this concept and allows teachers

and students to interact and communicate in a WYSIWIS environment.

• Integration Across Different Tasks

Integrating components for different educational tasks reduces the walls

3

between components of different applications and makes it seem as a large

flexible tool.

• Multimedia

Computer-assisted education can take advantage of the graphics, animations

and sound capabilities to provide more natural and life-like interfaces or

teaching materials from which to achieve the goal of education.

• End User Programs

This is concerned with making the system more personalizable to the

individual user. The computer-assisted educational tools should be flexible

enough so that they are user-friendly and the tools can be modified in order to

suit the needs of teachers or students. Also, users should be able to change the

tools to adapt them to their own required educational context.

1.2 Motivation and Problems

In striving for content quality, the World Wide Web community has created a quiet

revolution in education. In fact, much work in this field has been done in the past

years. The many efforts related to the educational uses of the World Wide Web and

virtual classroom environments have been major influences for this revolution [3].

The availability of course related information, such as lecture notes, extra course

materials, exercises and course scheduling, blended with the inherent qualities of the

World Wide Web, such as hyperlinks and accessibility, have enriched the classical

structure of the courses. Many universities in the world are moving to make their

courses more accessible to wider audience using a wide range of computer-assisted

delivery methods.

In recent years, the number of Intemet users in the world has grown

explosively. Taking Hong Kong as instance, in 1997,there were 856 primary schools

with 466,507 students and 498 secondary schools with 465,658 students in Hong

Kong. According to the information provided by the Hong Kong Education

Department, in October 1997,90% of the secondary schools were connected to the

4

Intemet through four Hong Kong Internet Service Providers. The Education

Department has planned that at the end of 1999,all the primary and secondary

schools will be connected to the Intemet. [39]

Information Technology plays an increasingly important role in the schools of

many countries/regions, such as USA, Japan, Singapore, Taiwan and Hong Kong.

Pupils of all levels are expected to become computer literate so that IT may be

applied efficiently and effectively across the school curricula. For example, in

Singapore, the National Computer Board and Ministry of Education carried out the

project Students, and Teachers' Workbench (STW) under IT2000 Masterplan in 1996.

This project was a national project devoted to use Information- Technology in

education. One of the major components in STW is a Lesson Material Repository

(LMR) which is an electronic library for capturing lesson materials that are useful to

teachers, students and publishers of educational materials. STW has two other major

components which are the Students' Workbench (SW) and Teachers' Workbench

(TW). SW and TW provide access to the Intemet and access to LMR of text, image,

audio and video lesson materials. This project is potentially to be carried out in all

360 schools (primary, secondary and junior colleges), affecting the education of the

450,000 students in Singapore. [61]

Taking Hong Kong as an example again, in 1997,the Hong Kong Special

Administrative Region (HKSAR) Government carried out the project Information

Technology in Education [39]. This project was to encourage greater use of

Information Technology as educational tools. The government is aiming to have

teaching in at least 25% of the curriculum supported through IT within 5 years.

With the motivation came from resemble projects, like Students' and Teachers'

Workbench and IT in Education mentioned above, and the universality of the

Intemet, many Web-based or Intemet-based educational systems are being developed

all over the world [29]. Examples include distance-learning systems, virtual

classrooms, cyber schools, etc. Although undeniably useful and valuable, most of the

World Wide Web educational systems concentrate mainly on lecturing,

presenting/delivering the course materials and structuring the leaming experiences.

For example, many Web-based solutions, such as HTML courses providing

5

electronic education [28], are somewhat constrained to materials presentation or

delivery. Communication and interaction between students (and teachers) are

deficient.

With regard to the technical aspects, use of multimedia technology in course

material creation results in greater attractiveness and can be more realistic, but, in the

meantime, this introduces a technical problem of software support: while introducing

a kind of multimedia documents, its corresponding player or plugin should be

launched meanwhile. For example, in dealing with MPEG data files, a MPEG player

or plugin, such as XingMPEG Player [79], is needed; QuickTime MoviePlayer is

needed for playing QuickTime Movies [23]; RealPlayer is needed for playing

RealVideo and RealAudio files [65]. From the users' point of view, this increases the

difficulty in system usage and setup, and decreases the usability of the whole system.

A Web-based system accessible by a single Web browser, in which everything can

be done without any external plugins or players, is an ideal idea for many users

(teachers and students).

Secondly, many existing systems are designed chiefly for tertiary education (i.e.

target for universities and tertiary institutions). This may be caused by the facilities

in universities richer than those in high schools. Also, most of these existing

‘solutions are unable to fit into their local education systems.

In pace with the consummate growth of the Internet, access to the Internet is no

longer a luxury item. Web-based teaching and learning are not the patents of

universities and tertiary institutions. They can also be applied to the primary schools

and secondary schools as well. In addition, the computing resources and networking

facilities in the primary schools and secondary schools become richer. For example,

in Hong Kong, a number of substantial initiatives are being implemented by the

HKSAR Government [39], including increasing the number of computers in each

primary school from 15 to an average of 40 and in each secondary school from 20 to

an average of 82. Moreover, additional computer facilities and assorted peripherals

are also provided to all public sector schools. Schools are each provided with a

network system to connect to both the Internet and Intranet.

Furthermore, an educational system delivering only the course materials is

6

passable for universities and tertiary institutions but inadequate for primary schools

and secondary schools. A more comprehensive system, which can be customized for

the local education system, is needed. The motivation of this thesis comes from

overcoming and improving the deficiencies of the traditional Web-based educational

systems.

1.3 Objectives and Approaches

The objectives of this thesis are to make improvements on the traditional Web-based

educational systems by designing and adopting a different methodology and

technology. School Information System (SIS) [5] is an applicative model [18] for a

computer-assisted educational system while a Web-based School Information

System refers to the system operating on the World Wide Web. School Information

System is designed for primary schools and secondary schools. It is a teaching and

leaming environment constructed in software, which supports collaborative learning

among students who participate at different time and places, through computer

networks. It also covers the globalization of a school as a whole and includes both

the students' education and the out-of-school preparation of teachers.

The intention of School Information System is to use the powers of computers

and networks to do better than what normally occurs in a school or college. The goal

of it is to make significant improvements in both accessibility and the quality of

education.

A Web-based School Information System, in fact, is an artificial educational

architecture erected on the World Wide Web. Generically, it is a teaching and

leaming environment located within a computer-mediated communication system,

such as the Internet. Rather than being built of steel and concrete, it consists of a set

of group communications, workspaces and facilities that are constructed in software.

Thus,it is a virtual facility rather than a physical space for the interaction among the

members of a school. This characteristic makes it suitable to be an Intemet application.

The idea of School Information System is to bring the college/school into the

7

homes and workplaces of students through the use of computers and the Intemet.

Specially designed programs electronically link the student to his/her teachers and

classmates. Using a computer terminal connected to the Intemet, the students can

attend classes, take tests, receive feedback from teachers, watch educational TV,

participate in discussions and undertake team projects with fellow students. All these

services are accessed by a single Web browser without worrying about the client-

side support, external plugins or players. Teachers and students can geographically

locate at different places but join the same educational activities. This computer-

mediated environment supports a collaborative learning process that can exceed that

of the traditional classroom, a process in which students and teachers are actively

involved in creating and carrying out leaming activities together. The following

figure (Figure 1.1) shows a graphical concept of School Information System on the

Intemet.

^ •• • 、

Discussing : ^ j j = | | |^ :

:•‘ II TeadiXn 广 , * ^ : : L _ J OfficA Stu/ent in : i | ^ " " ^ K . - \•••••••. /brary .... • :b. 1 ^ \ ••/ .• I I •. i S t u ^ t a t : X ^ A ^ 丨 B I

,_•.::;••• / V r s ; : • •: The Internet iSt"dentin • : ‘ *J : _ ^ / ...Laboratory:

^aickin : r ^ ' p r ^ ^ J ; I r = ^ , Educational TV : [ ~ ^ ; \ 入 J \ : : ;Student al ; yV^_^^V^ \ ’ ~ ' J :

••!i L::. / / X.......->^n j / | | i | '-/ / ;' ^ Student at :

i Qf,.rtr..: ; | n ,.H,...... : s S & 9 m : I I : i W ^ I •• Undertaking \ Teacher at i ! P ^ = ^ i : Jtudenl in ; Projects .

Preparing'-Momt.y \ I ~ ^ : ...qiassroo?.. Teaching Materials 丨 Spdent in : ...Library ,.

Taking Tests

Figure 1.1: Graphical Concept of School Information System

Technically, a Web-based School Information System includes many computer

science notions and technologies including human-computer interaction (HCI),

networking, multimedia, object-oriented concepts, graphical user interfaces and

8

artificial intelligence. The key issues in designing SIS are group awareness, multi-

user interfaces, concurrency control, communication between users, shared

information space and the support of a heterogeneous open environment which

integrates different kinds of teaching materials. These are not the only technologies

used in educational applications; the most appropriate technology is used for specific

educational tasks. Although several technologies may be used in the collaboration

process, such a system should be consisted of a set of workstations networked

together in some arrangements under certain configuration [25]. Thereby, it can

bring the school into homes and workplaces of students through the use of computers

and the Internet.

1.4 Organization of Thesis

This thesis describes the design and implementation issues of a Web-based

Cooperative School Information System. It is organized as follows. First, a literature

survey is given in Chapter 2,where a brief review of existing approaches to Web-

based education is presented. In Chapter 3, we propose the SIS Education Scenarios

for delivering teaching materials, holding online examinations, performing

collaborative tasks, etc. Afterwards, the software architecture of SIS, including the

client-server model, software configuration and decomposition of modules, is

presented in Chapter 4. A demonstration to the SIS Education Scenarios mentioned

in Chapter 3 is shown in Chapter 5. Chapter 6 discusses the system implementation

adopted in SIS. In Chapter 7,issues and effects caused by SIS are discussed. Some

possible directions of future work are also suggested in this chapter. Finally, we have

a summary about SIS in Chapter 8.

9

Chapter 2

Related Work

Many different types of technologies were employed in the electronic education,

both stand-alone and in combination, in the past decade. The spectrum includes

correspondence courses, broadcast radio, interactive radio, audio conferencing,

computer conferencing, videotape, CD-ROM, broadcast and cable television,

satellite delivery, and more recently via the World Wide Web.

2.1 Existing Research Proj ects

Along with the rapid expansion of the World Wide Web, computer technologies on

Web-based education becomes a popular research topic around the world [34]. Many

ongoing research projects are studying on this topic. For example:

• the Virtual Classroom® by Department of Computer and Information Science,

the New Jersey Institute of Technology in USA [16]

• the Educational Virtual Reality Multi-user Dungeons by School of

Psychology and Education, the University of Geneva in Switzerland [35]

• the mStar Environment by Department of Computer Science, the Lule

University of Technology in Sweden [26]

• the World Wide Web 一 Course Tool by Department of Computer Science, the

10

University of British Columbia in Canada [2]

• the Web Lecture System by Department of Computer Science, the North

Carolina State University in USA [78]

• the Collaborative Learning via Intemet Technology by Department of

Information Science and Intelligent Systems, the Tokushima University in

Japan [75]

• the Image Systems Engineering Education in an Electronic Classroom by

Department of Electrical Engineering, Department of Computer Engineering,

Department of Biomedical Engineering and Department of Radiology, the

University of Iowa in USA [12]

• the Virtual Scientist® by DeskTop Laboratories Inc. in USA [32]

• the Interactive Patient by the Marshall University School of Medicine in USA

[43]

In this chapter, a brief review on a number of current approaches and computer

technologies to Web-based education delivery strategies is presented.

2.2 Structural and Navigational Hypertext

Presentation

The first computer technology adopted in Web-based education is the use of

hypertext and hyperlinks. The principle is to produce structural and navigational

courseware [13], course materials or slide sets by taking advantages of the hypertext

and hyperlinks. As a result, these course materials or slide sets are accessible by

users via a Web browser.

During the implementation, the structural and navigational courseware is

usually constructed by HTML (HyperText Markup Language) [37], JavaScript [33]

and CGI (Common Gateway Interface) [68] programs. All these are supported by the

11

standard Web browsers. HTML is used to describe how static documents are to be

formatted and link the static documents in a structural and navigational way by

making use of the capability of hyperlinks. JavaScript is usually used incorporating

with HTML to give better graphical user interfaces and let the static documents to

have a little dynamic stuff. Optionally, the CGI programs are involved to process the

data filled out and submitted by users in the input forms of HTML documents, or to

output dynamic information. Figure 2.1 shows an example of the structural and

navigational courseware [2] using HTML, JavaScript and CGI programs. It is

developed and adopted by the University of British Columbia for teaching the

process states related to operating systems.

l t l j l i _ _ i i H i i i _ y i a i i i i g i a M u i a m M B “ /"'VJi"l jm- Eat ,- w> ,<3o Bookma>to OpOotHt Wrectory \Hndow Heip

; : & i p i i ' ; U a i j j j U t ^ , ’ ro Ulj5U«K�|}>tt>://hw»b):«:M44/Se«mVc»3W/»ctipt9/»tudent/serve_page?n�te”P_S; ; K s d �i^��;�> *j5A> • ^ , > 、’广 imiiiiiiiiiiii

^m^mrn[wm%mit{ wftcrtct mmnM H>t Wwctoty| 5teto^ |,*

I M^| |||»*儀 t ii l '>¾¾ l-iiiM M** MW JHiHi L.,」:�”• I

Process States I ? Most operating systems allow more than 1 process to exist at any one time. On a uni-processor 8y$tem, this

;means that the processes must share the CPU.

During their llfetima, processes assume difTerent statuses:

• Running : The process Is currently being executed by the processor • Blocked ; The process is awaiting some event The event could be an \fO operation (for example, user

inpuO or the arrival of results from another process.

• Ready : Tha process is awatting tts turn at the processor.

• Deadtocked : The process is awaJting an event thal will never occur. A deadlocked status requires some : sort of action on the part ofthe 0/S, since otherwise me process will never run again.

ggt3 CPU :, ^ ‘ ‘ 、

*• READY ^ RUNNING 、 preemption .

waiHing ‘ '<M>nt | * ~ ^ L ' ® / lorw occura / «>rt i»t extern*l / w8lnew>r evtHit ,, / 丨 o=e<Jf I; -f ,: ‘ >'T 1 UOojf*Hii “,“

BLOCKED DEADLOCKED

I I X , 1 I 1纖;.::.1.'.: .."'.-... +、:•". . ; r t e u . ' ' ‘ ' w - A n . * , S ^ ^ aM-i iMi iB i1MiMM8aSMBi iaJmMOLiaMa<w>i>wj>.-MttM<^^M>g^- tw^i iMM": , , : . jBai i i I |||||||||ffiffiii

Figure 2.1: Snapshot of Structural and Navigational Hypertext Courseware

12

2.3 Multimedia Integration for Hypermedia

Courseware

Multimedia tools are currently being utilized in the structural and navigational

courseware actively [13], in order to facilitate optimum usage of available course

materials. The use of multimedia is mostly to add animated simulations (on a

particular topic or theme) and sound effects among the static paragraphs and

diagrams. This is done by embedding audio clips (in AU, WAV, RealAudio or MTDT

format) or video clips (in MPEG, QuickTime, AVI, RealVideo format) in the course

materials.

When supporting the multimedia technology on the client side, one external

player is required for playing multimedia data files of a specific type. For instance,

XingMPEG Player [79] or Microsoft ActiveMovie [58] is needed in playing MPEG

Layer 1 and MPEG Layer 2 data files, QuickTime MoviePlayer [23] is needed while

QuickTime Movies [23] are shown, and RealPlayer [65] is needed when RealVideo

[65] and RealAudio [65] files are broadcasted. All these external players are

‘ platform-dependent. In other words, in order to take advantages of the capabilities of

multimedia in the course materials, the corresponding extemal players, which are

suitable for the clients' platforms, should be first installed in the client machines.

Figure 2.2 illustrates the flow of enabling a multimedia data file F, which is a

QuickTime Movie, embedded in the course materials. In this figure, F is an animated

simulation revealing the internal view of blood vessels. F is first.downloaded from

the HTTP server to the client machine. After the download process is finished

completely, the extemal player, which is a QuickTime MoviePlayer, for F is

launched on the client side. Lastly, F is shown by the extemal player.

13

/ \ / ^ F is downloaded ^. QuickTime MoviePlayer

from HTTP s e r v e r f I is launched ^^^1’^^^^众 -'破:2>— v"St--% > 丨‘'\P^

Web browser d i sp lays | ^ " \ « ^ \ Q j p i g g ^ p g p | | course materials , f , . P j » S ^ ^ ^

" � 4 z . , imm Ammmm-nL^ji M w w f c , r u Mi viil^^Iw'' 3HB9I 3BfSI 31^^^^^& ^m^^ ^m^^ i i i ^^ l B v ^ Q ^ ^ Q \ M \ ra M \

Client Machine \ Client Machine Client Machine \ ' Q u i c k T i m e M o v i e f i s Y f p is'shown by \

embedded in course , lQu i ckT ime MoviePlayer | t 1 materials / 、 . , . - . ^ ^ w ^ . i ^ ^ r f | ^ ^ *,、 L 〒 : \ ™ ^ - ‘,…納 ‘ ' ^ ^ m , ^

Figure 2.2: Flow of Launching an Extemal Player for Multimedia Data File

2.4 Standalone Java Applets

Other than utilizing the multimedia technology and hypermedia, the Java technology

.is also commonly used in many Web-based courseware [17]. Usually, standalone

Java applets are embedded in the HTML documents, acting as a part of the course

materials. These Java applets play two roles in the Web-based courseware:

1. Similar to the use of multimedia, each standalone Java applet is to provide

visual simulations or animations regarding to a subject-specific problem, such

as visualization of molecular models (chemistry), simulation of electronic

circuits (electronics), etc. Figure 2.3 and 2.4 show two standalone Java

applets used for visualization and simulation respectively. The Java applet

shown in Figure 2.3 [46] visualizes the molecular models in chemistry. It is

developed by Kaleicom Inc. in USA. The Java applet shown in Figure 2.4

[73],which is developed by the University of Hamburg, simulates a Von

Neumann computer and demonstrates the interaction between its components.

2. Among the silent presentations, the Java applets play the role of subject-

14

specific software objects that are embeddable in the HTML documents.

Figure 2.5 shows such a software object, which is developed by Sandpiper

Software in USA. This Java applet [27] is a chemistry-specific software

object that functions on balancing chemical equations.

For the client-side support, unlike multimedia, the Java technology is

supported by most of the standard Web browsers, such as Netscape [62] and Intemet

Explorer [44]. Moreover, this technology is platform-independent. The principle of

platform-independence is illustrated in Chapter 6 of this thesis. Thus, no external

player is needed while reading course materials embedded with the Java applets.

.Bte. ,脑 .3m 级 CginmuDicawr Hdp

1 ' ^ n-v rJ t^a H^ S ^ N^pa ^ t Sewity J^ "fiSl 1 *B»okm»rb.知 <^~ iiip~i/7Gili 7ni i! n^miiay ^j 0"Vkat'*M>iai

3|]^^o|ecular Structure . mJ^L^»«_»•• , � x . — - . . . . . . — - — — . — -厲謹3‘福^^^^|^^^^^^^^^^^^^^^

: i n i i i m i g j ^ ^ ^ ^ ^^^^^^E|^H| $

m^ssm I | B Q | I

L;:,;;j :;;5:7: f7prr- —-^-_&5c^gtJ 刚 “ > , ‘ t i m m i i ^ ^ d ' m < ^ ' ^ ^ " ^ ^ p ^ ¾ ¾

Figure 2.3: Standalone Java Applet for Visualization of Molecular Models

15

MjEitfiKffiyillWWIfftiHffKKf--EiB _j — Ji (J —J TOi#?®9L_¥5 1p — — ^_ _ .•“ B>A;, lhrmi R>te l " S^h Ni ipa 1¾ Sec ty ,Jl|^ ^ .:广 jBj lt"^;5^-^in^i^i-E^^>i^^^iiitiiiSaiI.i>;l^^,^&t^TO/ Cj0 wIat'VRihiiad�

^ ^ ^ ^ ^ S H i ^ ^ ^ ^ K | , ^ ^ ^ ^ i _ _ _ i ^ ^ H B

I ^ H | ^ ; W ^ ^ i i ^ M ^ M M ^ ?、“ ,• r.-|f^*S^W^'^iMOT* :森识錢气擎, v r~ ; ||||| .r : 1 : - 1 : ¾ ^ ^ ^ ^ ^ ^ : . I c _ H F ^ 11

w f ^ n r s s m m m m m m ' - r ^ ' r ^ ^ M . ^ 织 a ^ i 羞

Figure 2.4: Standalone Java Applet Simulating a Von Neumann Computer

^^^S^^S^l^^:— I • “ _.......‘.....丨

^ ^ ^ ^ ^ ^ J ^ . T T � f-w^^bb^- ^;^^�;k^#ri>M^»«A«4>»p»rib^j^r^lf«^…―

^ Chemical Equation Balance £

Calculator

|

i i ',"^ ‘ - • • . _ 1 Ewmpic lftputjmdflens atter atomU $ymt>ols and )'s are subdcrlpts, ^

!': jFe2(S04)3 + l{$CH) - K3FefSCN)6 + K2SM ‘ � ^ 、 ^ sd jge:m ,iMmjffK>mmM'i-rT[ifl III 他 jic iSbm^ MiSZ i. ^- «^ -><^ * .. i i ,: -:^ * •

...•广、:.:一.:::'..•• .. ..rr:"":,::-" ,:.:;...:. ••• ---: <.,.....: . . ‘3 --......::•:.:—-:"-•• •.' . •••• . , . . . . . 5 — ‘ / : : 、 . , k

, . . C L g w t P A u ; u u t e { c _ l ^

•• ;c< »气 *

- * i M . ^ . 、 . - - : - : " 」 - - : j i . , i

l4>^ ;- .i: - - ^ _JjJ^ tWS f!.po t>oafe ~|-afe 婚 f m : f ]

Figure 2.5: Standalone Java Applet Balancing Chemical Equations

16

2.5 Software Tools Using Browser Plugins

Recently, there is a trend to apply self-developed software tools in the Web-based

courseware instead of adopting the existing technologies directly [9]. Most of these

software tools need platform-dependent plugins as essential support. In other words,

in order to make use of the software tools T, plugins for T should be first installed in

the client machine, or be plugged into the Web browser.

A plugin is actually a software package P, which is a set of executable binaries

aimed to a specified platform, being useful to the Web browsers. P is designed to

deal with its own data files, communication protocols, etc. It should be preinstalled

in the client machine. P is launched (for the execution of 7) by the Web browser

when its corresponding tags in the HTML documents are reached by the Web

browser. On the contrary, T is disabled from the courseware when P is not found on

the client side.

Taking the mStar Environment [26] and TkAnim [9] as instances, the mStar

Environment is developed by the Lule University of Technology in Sweden. It

,.consists of a set of software tools, such as mSD, mAudio, mWB, mChat, mWeb and

mVote,to accomplish its functions. Each software tool in the mStar Environment

needs its own plugin during the execution. Some of the plugins have two versions

supporting the Windows platform and UNIX platform respectively, and some of

them have a single version supporting the UNIX platform only.

Another example is TkAnim which is developed by the Deakin University in

Australia. TkAnim is to produce animations in the Web-based courseware. Execution

ofTkAnim requires the TclATk Web Browser Plugin [74] as essential support. Figure

2.6 shows the flow of starting TkAnim on the client machine by first launching the

TclATk Plugin. The snapshot shown in Figure 2.6 is an animation revealing the

processes migration in operating systems. In this figure, the TclA^k Plugin is first

downloaded from its provider and preinstalled in the client machine. After its

essential plugin is equipped, TkAnim is able to be used on the client side through the

Web browser.

17

" ^ ^ ^ ^ ^ ^ < 1

( h t t p : / /www. s c r i p t i c s . c o m / p l u g i n / ) : ^ ^ ^ ‘ *^终-

/ ^IE£*,M„.....:':% S S

Tcl /Tk / g M L V ^ | 3 ^ ^ H O ^ ,Plugi>/ M^M ^ ^ ^ _ k / __ !P^^^ RfW IBBBWBBWB \

/ f c o t o o t o \ Client Machine Client Machine Client Machine

download and pre ins ta l l ) ( access courseware \ f execute TkAn im b y \ Tcl /Tk Plugin containing stuff ‘ launching Tcl /Tk ]

^iT5^:^^r"i7:~^� * created b—Animj ‘ 1 Plugin J { ^ m r T 2 S 5 ^ " i ^ V ““二 *zTT ;、::-

Figure 2.6: Flow of Executing Software Tool by Launching its Plugin

2.6 Chapter Summary

In this chapter, we have given a review on four existing computer technologies used

for Web-based education. The structural and navigational courseware or slide sets

are produced by taking advantages of the hypertext and hyperlinks. In this approach,

static and formatted course materials are constructed by HTML. JavaScript and the

CGI programs are involved to process input data and give dynamic outputs. The

second approach is the use of multimedia technology in the courseware. This

approach is to add animated simulations and sound effects among the static

paragraphs and figures. While enabling the multimedia technology, required extemal

players should be first installed on the client side. These players are launched by the

Web browser when needed. Other than adopting existing technologies directly,

applying self-developed software objects and software tools is a new trend.

Embedding some standalone Java applets in the courseware fumishes visual

simulations and software objects regarding to some subject-specific problems.

Preinstallation of platform-dependent plugins in the client machines is an alternative

of enabling self-developed software tools in the courseware.

18

Chapter 3

SIS Education Scenarios

The SIS Education Scenarios can be put on both the Internet and Intranet. Figure 3.1

shows an overview of SIS. Computer within/outside a school can all connect to SIS.

Server of SIS is set up on a workstation that is connected to the Internet. Clients can

access its services by a standard Web browser, such as Netscape [62] or Internet

Explorer [44], with the Internet connection.

B r ~ l l modem \ 1 M ^ ^ @ " C S SIS Clikt / SIS Client {studenl)X / (parent)

> ^ ^ ^^^^ ^nternet / Intrane^ I•~I

?lS C!ieij5 ^ ^ ^ \ v v y X SIS Client (principal) ^ ^ ^ ^ ^ N ^ ^ (teacher)

|^H| woH^ation

r ^1 i"| CZI • n SIS Client ^ S H S (teacher) SIS Client SlS Server

(student)

Figure 3.1: Overview ofSIS

Long before the World Wide Web had reached wide acceptance, the Internet

was being used for educational purposes, mostly via mailing lists and bulletin boards

[8]. For instance, in El Paso Community College, Texas, USA, emails have been

used in the English classes focusing on writing skills for several years. Students in

19

the English classes are expected to write five to seven essays per semester, which are

submitted by sending emails. After the submission, instructors would also select

some outstanding ones as well as those with typical errors provided with productive

feedback or critical comments, and then send to the class mailing list. [36]

Despite the fact that the World Wide Web has grown tremendously in recent

years, educational use is still not so prevalent in some advanced counties/cities, such

as Hong Kong. The situation may be even more terrible in Europe, where very few

primary or secondary schools have access to the Intemet [3]. As mentioned in

Chapter 1, along with the general trend of promoting IT in education, for examples,

the projects IT in Education [39] and Students' and Teachers' Workbench [61]

carried out in Hong Kong and Singapore respectively, it is the golden stage to draw

the World Wide Web into schools provided that they are equipped with some

essential facilities of computer networking and associated hardware. In this regard,

the World Wide Web is acting as a driving force. Its ease of use can make the

Intemet trivially accessible to the teachers and students even without prior

knowledge of computers, programming or even networking, making it more

tempting for teachers to take advantages of it.

According to its characteristics, educational uses of the World Wide Web can

evolve along the following four major axes:

• use of the technology on a closed corpus of educational materials, for the

hypermedia and distance delivery capabilities of the Web

• use of this technology to further enhance the group work process through

support in the time and place dimensions

• use of this technology to pay close attention to students and enhance the

communication between schools and families

• use of this technology to assist in the administration and management

processes of schools, thereby, facilitating the administrative efficiency in the

schools

20

SIS can be applied in a number of education related scenarios. Proposition of

SIS is aimed at the above four axes. In other words, a school information system

should, at least, be able to cover the four axes listed above. Therefrom, SIS is

designed to consist of four subsystems (for four different sets of education scenarios)

which are the library system, the student-monitoring system, the groupware system

and the management system. Figure 3.2 shows a graphical structure of this design.

Each subsystem intends to construct one axis mentioned above and perform a part of

the SIS Education Scenarios. Stress of the SIS Education Scenarios would be put on

the first three subsystems as the last one is more management-oriented. The

combination of these subsystems constitutes the whole school information system.

Each of them is going to be described individually in this chapter.

1^^5choor^X { Information | Vv^ System > ^

C ^ J ( ^ ^ b ( ^ ^ ^ ^ ^ ' t Figure 3.2: Graphical Structure of SIS

3.1 Library System

The library system in SIS is to provide an environment for students to read teaching

materials, do exercises and take sample tests on the Web. There is a set of

multimedia presentation tools in the library system. Such tools include an online

editor and a content manager which allow teachers to prepare new teaching materials

or modify previous ones of different subjects. The teaching materials available in the

library system are able to contain digital images (in JPEG or GW format), audio (in

AU format) and video (in MPEG format). These multimedia data files can be located

anywhere on the Web. The multimedia presentation tools would link them all

together when they are being presented (i.e. when they are read by the users). After

21

the preparation of teaching materials, students can browse those attractive materials

and watch educational TV on the Web. Other than that, teachers can also prepare

some extracurricular matters in the library system, which students can choose for

reading and learning. User interfaces of the multimedia presentation tools are

designed carefully and friendly for students, parents, teachers and the principal to use,

and easy-to-manage for system administrators.

With a view to making SIS more user friendly and more attractive, a lot of

effort is paid on designing the user interface. This is achieved by providing more

choices and keeping the necessary typing input minimum for users. In SIS, most of

the actions can be done by mouse clicks. Users can handle it lightly since there are

many icons guiding them step by step. Use of these icons can promote the interaction

between human and computers as the users do not have to spend much time on

reading the text descriptions.

As mentioned before, students can take sample tests in the library system. This

is accomplished by the online examination center cooperated with the intelligent

questions selector in the library system. For example, in Hong Kong, a primary

school has six different levels (Primary 1 to Primary 6) of classes. Therefore, the

library system divides the stored questions into six different difficulty levels (Level 1

to Level 6). Level 1 is for Primary 1 students; Level 2 is for Primary 2 students, and

so on. In each level, the questions are further divided into three sub-levels: easy,

moderate and hard. The difficulty levels of those questions are defined and divided

by some senior teachers and educators, or according to some textbooks.

Thus, a student has at least three different levels of questions to choose. If a

student believes that he/she is knowledgeable enough, he/she can choose the

questions with higher degrees of difficulty. For instance, a Primary 3 student can

choose the questions in Level 3 with sub-levels: easy, moderate or hard. If he/she

believes that he/she is knowledgeable enough, he/she can choose questions with

Level 4,Level 5 or even Level 6. This can allow a student to study according to

his/her own pace, so that students with different abilities can have different study

progresses. Due to the division of difficulty levels, systematic and automatic

mechanisms can be realized by computers in the library system.

22

A large number of questions are stored in the library system. The intelligent

questions selector in the library system automatically selects exercise or test

questions from a store based on different difficulty levels. It provides an editing

environment for teachers to add new questions, modify existing questions, remove

existing questions and rearrange the degree of difficulties of the questions. While

producing a test paper, what the teacher needs to do is simply entering the number of

questions N and the difficulty index n. The intelligent questions selector then selects

N questions randomly with the difficulty index n from the store. Computer selects

questions based only on the input difficulty index. Since computer is pertinent, it

never permeates any bias (like human) into the selection. This results in achieving

the goal of the Target Oriented Curriculum (TOC) [39] developed and carried out by

the Hong Kong Education Department. Students with different abilities are assigned

with different questions of different difficulty levels in the library system.

The online examination center in the library system allows students to take

online exercises or tests. Particular exercises or tests can be chosen by students or

arranged by the library system automatically. As mentioned in the previous

paragraph, students can choose questions with higher difficulty levels if they are self-

confident enough. In addition, the online examination center is able to automatically

set questions according to a student's ability. The ability (reading, comprehension,

analysis) of a student is stored in his/her profile. In order to set questions for a

particular student, the online examination center reads and analyzes the ability of a

student from his/her profile first and then selects questions according to his/her

ability. This further meets the goal of TOC [39] designed by the Hong Kong

Education Department.

The online examination center also fumishes an online examination hall for

students to perform exercises or tests. After each online exercise or test, SIS

automatically grades the test paper, reports and records the results. The performance

of a student in each test (both online examinations and regular examinations of each

school term) is recorded. The library system records the details (date, questions,

difficulty level, chosen answers and correctness of students) of each test or

examination. All the information is kept and accumulated in the student profiles.

23

3.2 Groupware System

Groupware is a technology designed to facilitate the work of groups. This technology

may be used to communicate, cooperate, coordinate, solve problems, compete, or

negotiate. In the past, some traditional technologies, such as telephone, would be

regarded as groupware. In fact, this term is ordinarily used to refer to a specific class

of technologies relying on modem computer networks, such as emails, newsgroups,

videophones, or chats. In SIS, each user (student, parent, teacher or principal) is

given an email account by the electronic mail manager inside the groupware system,

so that they can send/receive emails to/from the Intemet.

In order to advocate group activities and let students share with others, the

groupware system provides a group activity area for students to chat/share with

others and undertake team projects with fellow students. This group activity area has

six different activity rooms for the six levels (Primary 1 to Primary 6) of students.

Each activity room contains four different sub-rooms for four motifs: Chinese,

English, Mathematics and extracurricular episode. Students can choose their favorite

sub-rooms to chat, discuss or share with others in each activity room.

Generally speaking, CSCW (computer-supported cooperative work) systems

[25] are often categorized according to the time/location matrix using the distinction

between same time (synchronous) and different times (asynchronous), and between

same place (face-to-face) and different places (distributed). Design of the group

activity area is based on this principle and able to function in two different modes:

synchronous and asynchronous.

In synchronous mode, each student is provided with a white board. They can

perform simultaneous discussion by typing their messages in the white board. The

messages typed by each student are shown in a common board which is visible by all

members in the same sub-room. Teachers can also join and moderate the discussion.

They can support the students and give guidelines to the students in each sub-room.

Aside from text messages, the white board comes with a set of drawing tools. These

drawing tools include a set of geometric shapes (rectangle, ellipse, line, freehand line,

24

curve, text,…),a set of painting functions (color painting, erasing, ...) and a set of

transformation functions (shearing, rotating, flipping, ...). With these drawing tools,

students are able to do their project, construct their own graphical characters and

share their characters with others in the white board.

In asynchronous mode, students can leave their messages in a sub-room using

the white board. Later on, other students can discuss, reply, follow up or give

comments on the left messages continuously and in succession. Similar to

synchronous mode, these messages can be left in both text and graphical forms.

3.3 Student-Monitoring System

Most of the distance-learning systems, virtual colleges or cyber-schools pay less

attention on student monitoring and lots of them cannot fit the local educational

system. The student-monitoring system is one of the features of SIS that

distinguishes it from other Web-based educational systems. It makes use of the

World Wide Web technology to attain the student-monitoring purpose. It gives each

student a history profile which keeps a lot of detailed information about the student,

such as the academic performance, ability of reading, ability of comprehension,

ability of analysis, extracurricular performance, personal performance, frequency of

reading extracurricular matters, etc. Such information is very valuable and can be

accumulated by the student-monitoring system until the student graduates from the

school. Teachers can make use of such information to design different teaching

materials for different students according to their progresses; to improve the quality

of teaching and learning through clear and well-developed targets and objectives,

learner-based strategies and criterion-referenced assessment. From pedagogical point

of view, this achieves the goal of the Target Oriented Curriculum [39] again.

The ability of a student stored in the student profile is determined by his/her

past performance in exercises, tests and examinations. It is accumulated and re-

evaluated by the student-monitoring system periodically after each exercise and test.

As a result, the student profile can keep the most updated information about a student.

After each evaluation, if the performance of a student goes below a certain level, it

25

will automatically send an email to the student's teacher and/or parents in order to

notify them. Besides, the student-monitoring system provides an online service for

parents to access the profiles of their children. Parents can view the academic results,

extracurricular performance and personal performance of their children on the Web.

Through the student-monitoring system, parents can clearly understand the

performance of their children in schools before things are too late to be corrected.

As mentioned before, each user is given an email account by the electronic

mail manager. If the performance of a student goes below a certain level, the

electronic mail manager will automatically send an email to the teacher and parents

of the student in order to notify them. In case they do not read emails frequently,

special services, such as email-to-pager and email-to-fax, can be integrated into the

electronic mail manager. These services forward email messages to the pagers or fax

machines of the parents so that parents can be notified by the email messages

instantly. If the student really has a great retrogression, instead of sending emails to

his/her parents, SIS will also automatically inform his/her teachers and the social

workers of the school to check whether the student has run into any serious

straitened circumstances during his/her school life. In addition, before the result of

. an assignment, test or examination is proclaimed, the result is automatically sent to

the parents by emails in order to notify them in advance.

By the student-monitoring system, teachers, parents and social workers can

easily realize the embarrassment faced by students. Thus, they can pay more

attention on those students. Besides, parents can also know about any upcoming

school events such as the examination result announcement day, sports day,

commencement day and examination days from the notification of emails. This

opens up a new channel for parental watch for their kids.

3.4 Management System

The administration and management processes, and the access control procedures are

•handled by the management system in SIS. Target users of SIS are divided into four

groups. They are students, parents of students, teachers and the principal of the

26

school. These four groups are further classified into two categories. Students and

parents are classified into one category which is called ordinary users. Teachers and

the principal are classified into another category which is called administrators. The

management system gives a unique usemame to each user (i.e. each member in the

school) and each user has his/her own password for security. For each access, the

user is required to login by entering his/her usemame and password. Login procedure

is a certification procedure. If the usemame and password are not matched, the

management system refuses the user from getting into SIS until the access is

authorized. Only authorized users can access SIS. This procedure ensures the

security of SIS. In addition, the management system also performs a double-login

check. If a user has already logined into one host (host A), he/she is not allowed to

double-login into the same host (host A) or another host (host B) until he/she logouts

from the original host (host A).

Besides, the management system manipulates on the administrative tasks of the

entire school. The principal or subject panels can monitor the teaching progress of

the teachers in the management system. They can also review the questions of

exercises, tests and examinations set by the teachers, make announcement to the

.,teachers, review whether the teachers are willing to use computers and assist the

teachers to use computers.

Basically, the SIS Education Scenarios are to provide new ways and new

media for schools to provide quality education to the students by making use of the

World Wide Web technology.

3.5 Chapter Summary

In this chapter, we have proposed four axes about the evolution of the World Wide

Web for educational use, and the SIS Education Scenarios. The SIS Education

Scenarios are contrived to construct the proposed axes.

SIS consists of four subsystems, which are the library system, the groupware

system, the student-monitoring system and the management system. The library

system provides a set of multimedia presentation tools for teachers to prepare and

27

deliver multimedia teaching materials and extracurricular matters. Students can view

teaching materials and extracurricular matters, and watch educational TV in the

library system. They can also take online examinations provided by the online

examination center. The groupware system is established for carrying out group

activities. Each user of SIS is given an email account by the electronic mail manager

for email communication. The group activity area supplies six activity rooms for

teachers and students to have synchronous and asynchronous discussions. The

student-monitoring system gives each student a history profile recording the student's

academic result, extracurricular performance, personal performance, etc and

evaluates his/her performance periodically. Notifications are made to a student's

parents when the performance of the student goes below a certain level. Parents can

also inquire about the performance of their children using the online services

provided by the student-monitoring system. Lastly, the management system takes

over the administrative tasks and the access control procedures.

28

Chapter 4

Software Architecture of SIS

4.1 Client-server Model

The client-server model [15] is adopted in the implementation of SIS. There are two

main servers in SIS. They are the HTTP (Hypertext Transfer Protocol [38]) server

and the SIS Central Server. The HTTP server is for making hypertext and other

documents available to the Web browsers, and the SIS central server takes care of all

the services provided by SIS, such as handling requests from clients and processing

queries for databases.

SIS contains only one Web page. When a user accesses SIS (i.e. reads the sole

Web page of SIS) using a Web browser, a request for hypertext documents (Web

page of SIS) is sent from the Web browser to the HTTP server. The HTTP server

loads and retums the Web page embedded with a Java applet td the Web browser.

After receiving the Web page, the Web browser parses and displays the Web page on

the client machine. Then, the embedded Java applet is launched on the client

machine by the Web browser. Figure 4.1 shows the flow of this process.

29

S e r v e r M a c h i n e

| P T - n l ^ C l i e n t M a c h i n e j "

r f~ n ^ * |H ^ ^ 9 +) j H -^ ,m^'*'^^XX*^^%.. « ^ ^ ^ ^ ^ ^ ^ ™ m*£ WH|^Zl^^. I 4. Web browser parses i ^ -^ • £ J f l J r I and displays Web page D isk ^ ^ B ^ ^ , t e ^ ^ J + J ^ p 2. HTTP server loads

^;;^^^^*""^ l^|jgg^j^^gg;g^^ /*f^uif^d page ^ ^ ^ y ~ • ^ ^ ^ ^ 2 ^ " ^ ^ ^ J a v a A p p l e t ^ I C ^

^ ^ ^ ^ ^ ¾ ^ pN^J^ / : 5. Web browser launches I~I ^^^;

W e b / I J " ^ a P P l e t :

B r o w s e r : :

; 1 . Web browser requests : I for Web page :

, ^ - ^ ^ T V p~~~~^""~^ ~~~~"^4^ ..: 3. HTTP server returns

C - ^ •••• .>TT77rrr>v:- ' Jnquiredpage

H T T P C o n n e c t i o n ^ e ^ ___ ^ T h e I n t e r n e t ^ _ ^ ^ ^ . _ _ _ ^ ^ ^ ! _ _ ^ ' ' ^ " ^

Figure 4.1: Flow of Accessing SIS and Launching the Java Applet on Client Side

S e r v e r M a c h i n e

[ ^ n j ^ C l i e n t M a c h i n e 广

.r f ^ ^ ^ ^ 8 ^ HE53 / • * ii^V、:: a 1^ manipulates displays | 1

| " j ^ - - ' ^ - 一 ^receivesinputs [ d ^ z S I S D a t a b a s e • '•" t^l'-- I 1^ classifies events ^

^ T " > B p i : r _ _ J ^ L ^ n p S IS C e n t r a l S e r v e r

\ \ — ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ " ^ S IS C l i e n t V J i y ^ ( l i s t e n s to port 6022)

V^^^^T'''''' 都? ^y \ _A-__-^—T^ ‘ n , ^^K'i" : j^

7 • ^ makes requests to server J ( ^ ^ / '' : 4- receives repliesfrom server ~~ ^ : • .

W e b / 丨+ 个丨+ B r o w s e r “ : ‘ : i

, r fi^ ^ ^ _ ^ _ _ _ _ ^ _ _ ^ iU

~ '^^"^Or^..7:>r. . z^. TCP .D",e< ! ^^5^^^^^T7 -.:

广 v ^ ^ . . f S . • — " ^ Q f j ' | ^ e c { { Q | ^ " ; ^ " • ‘ ^ ' ^ ^ ; j w '

^ ^ ^ _ _ ^ T h e I n t e r n e t _ _ _ ^

^^~~^_J^^~^^_^^^^ Figure 4.2: Direct Connection between the SIS Client Applet and the SIS Central

Server

30

Once the embedded Java applet has been launched on the client side,

everything is settled down. No more HTTP requests are needed. Later on, a TCP

(Transmission Control Protocol) connection is established by the SIS Client Applet

and the SIS Central Server directly. TCP is a reliable connection-oriented protocol

that allows a byte stream originating on one machine to be delivered without error on

any other machines in the Intemet [15]. Figure 4.2 shows the connection model

between the SIS Client Applet and the SIS Central Server.

Both the SIS Client Applet and the SIS Central Server are programmed in pure

Java using the classes S o c k e t and S e r v e r S o c k e t provided in JDK (Java

Development Kit) Version 1.2 [47] respectively. A socket is an endpoint of a two-

way communication between a client and a server running on the network. In TCP, a

socket is identified by a unique pair consisting of an IP (Intemet Protocol) address

and a port number. The client talks to the server by writing to the socket and obtains

information from the server by reading from it. In this client-server model, the SIS

Central Server runs on the same machine with the HTTP server. This server process

listens to TCP port 6022 for any incoming connections from the SIS Client Applets

which are responsible for:

• manipulating the user interfaces,

• receiving the inputs made by users,

• classifying/verifying the events generated by users,

• making requests to the SIS Central Server and,

• receiving the replies from the SIS Central Server.

4.2 Software Configuration

SIS is a Web-based system. Clients can access it by a standard Web browser

supporting Java applets written in Java Development Kit Version 1.2 [47], such as

Netscape Communicator Version 4.07 [62] or later, Microsoft Intemet Explorer

31

Version 4.0 [44] or later, or HotJava Browser [40]. Clients of SIS can be operated in

a heterogeneous computing environment that is machine types used for clients can be

personal computer, Macintosh [24], SUN/DEC/SGI Workstation and network

computer such as Java Station [57].

As mentioned before, there are two main servers in SIS. SIS adopts NCSA

HTTPd Server (Version 1.5.2) [71], which is an HTTP/1.0 [41] compatible server, as

the HTTP server. An experiment £ is conducted in which the HTTP server runs on a

Sun SPARCcenter 1000 machine (4 processors) [66] with Solaris 2.6 [66] as its

operating system. The host name of the server machine i s j a v a . c s e . c u h k . e d u . h k

with 137.189.89.1 as the corresponding IP address. Figure 4.3 gives a graphical

view of the software and hardware configuration adopted in the experiment £.

Web Browser: Internet Explorer 4.0

/、".::...... / .'‘、::::::::..•......、....

. . . . . . . . . •

B � 1 ^ ra i y

Personal Computer Personal Computer / (Microsoft Windows 95) (Microsoft Windows 98)

| H | | | | HTTP Server: | W | X ^ ~ ^ « U ^ ^ ^ X NCSA HTTPd Server 1.52

^ ^ g f o c a l A r e a N e t W O r k \ U 4 ] l ^ Hostname:

(MfcVo7on wiTdrws95) ^ (Speed: l O M b p s ) — — _ g iVlddTels:'""'-''" ' ' V (Ethernet) 7 目 , | i37.is9.8.9.i

S p = f l ^ V 厂 Sun SPARCcenter 1000 H ^ J ^ ^ _ ^ ^ ^ K _ _ ^ (Solaris 2.6)

Personal Computer (Microsoft Windows 98) ^ _ L _ , ^ _ L _ ^ _ L _ ^

\ n j n . . .. Q ^^^^^Q* ^ ^ jpj 2p ^^ 55 5

Sttn Ultra..5 ...SuttOltra 5 Sun Ultra 5 (Solatis2.6) (Solaris 2.6) (Solaris 2.6)

W::'••.• Web Browser: Netscape Communicator 4.6

Figure 4.3: Graphical View of Software & Hardware Configuration in *L

Setup of the HTTP server for SIS is not limited to this configuration. The

configuration is independent of the HTTP servers. It can be any popular HTTP

servers, such as Apache Server [22], Intemet Information Server [60] and Java Web

Z 32 \

Server [53], running on other kinds of machines, such as personal computer,

Macintosh [24] and JavaStation [57], with other operating systems, such as

Microsoft Windows [59], MacOS [24] and JavaOS [55].

In % client and server machines are connected in a Local Area Network (LAN)

[15] running at a speed of 10Mbps,which is also called Ethernet [15]. On the client

side, a number of personal computers (running Microsoft Windows 98 & 95) and

Sun Ultra 5 workstations (running Solaris 2.6) are involved. Web browsers used in

the client machines are Intemet Explorer 4.0 and Netscape Communicator 4.6.

4.3 Software Design

Function-oriented design [11] is adopted in the software design of SIS. This is an

approach to software design where the design is decomposed into a set of interacting

units which each have a clearly defined function.

^ ^ ^ ^ X O n l i n e ^ X ^ " " ^ ^ \ y ^ ^ \ ( Examination ) . ^ ~ \

X / Intelligent \ V Center J \ Z ( Questions );, > > ^ : ^ ^ 广 ~ ~ ^ X

.‘ / V s e l e c t o r ^ J - —’)f R e s u l t 、 \ / ^ ^ * ^ ; - ^ " V ^ ~ - ^ VQ"eryingAgeny : V

/ C ^ ^ : E ^ . U s t e m f L o g g e J � . , : \ ^Identifier J ^ - ^ . , \

^ " ^ s r r : : i ^ , ^ (Student^HistoryX \ 广 ~ ^ ( ilectronic MaiM^ X ^ " ° ^ ^ ^ ^ ^ / , \ f Group Activity \ V Manager j ' h ^ ^ ^ r ^ - - - ' ^ . . . . ' ' " ' / /

\yj^Z^^' N > _ ^ ^ ^ ^ ; ; ; ^ ; ; ; p ^ / \ " ' - ' :s ) " . . ' ^ \ ( Performance ) • / . -••

\ f Multimedia X V Analyzer J \ / N ^ ( Presentation ) ^>->^ , ^ » - ^ , * " ^

X i ; ^ ^ _ _ ^

^^^TTTTT""^"""""""^

Figure 4.4: Overview of the Software Modules in SIS

In SIS, the software design is divided into ten modules which are Access

Authorization Identifier (AAI), Multimedia Presentation Tools (MPT), Intelligent

Questions Selector (IQS), Online Examination Center (OEC), Student History

Recorder (SHR), Student Performance Analyzer (SPA), Electronic Mail Manager

33

(EMM), Result Querying Agent (RQA), Group Activity Area (GAA) and Integrated

Systems Logger (ISL). Each module is responsible for a set of major functions of the

system. Figure 4.4 shows an overview of these modules.

4.3.1 Module 1: Access Authorization Identifier (AAI)

The front module is the Access Authorization Identifier (AAI) which is responsible

for user identification. This module has interactions with users. It is the entry and

exit of SIS. Figure 4.5 shows the flow of user identification. When a user enters SIS,

he/she is required to type in his/her usemame and password for identification. All

usemames and passwords (with data encryption) are stored in a database Duname-

Module AAI retrieves a usemame with corresponding password from D“name. It

compares the retrieved data with those entered by the user. If they are matched,

module AAI continues to determine which group (student, parent, teacher or

principal) the user belongs to. Otherwise, it requests the user to enter the usemame

and password again until they are matched.

• , ,

lQgiRfG.il..…/ ISL logs failed ^ . l o g i M

.. i V " e m P t J i . • *»-^v,j^«—" ;-;f*^ :

: Xrecbrd of failed U)gin :

i client accesses |_ i^^ us\\Vame ^ ' " P " ^ ( ^ e c k u s e r n a ^ ^ .-' L f ™ . i ^ A . ^ ! ^ . r V a n d password J \ ^ " ^ p a s s w o r d ^ T

^ > - 乂 . ^ - ^ ^ ^ ^ 1 ^ " ^ ^

= i ; ; K 5 ! ^ r ^ ... l j determine ^/「二;厂丨 ^ _ _ 3 ^ : ^ o r i v e n f . e d M group property h ^ check ^^^^^ ~ 2 ^ username X . ^ _ J i ^ ‘ L _ _ : : : _ _ J

database D„„„„ . : . ( : ' " uname

(usernames and passwords) ,

X ^ ^

Figure 4.5: Flow of User Identification in Module AAI

After a user U is authorized from his/her usemame and password, module AAI

performs the second-inspection which determines whether U has already logined.

Figure 4.6 shows the flow of this inspection. There is a database Diogi„ storing the

current login status of SIS. After retrieving information about the login status form

34

Di„gin, if U is not reported as already logined, module AAI records the usemame,

hostname, IP address and login time of U and then stores these information into Diogin.

They will be removed immediately from D/一 right after U logouts from SIS. If U is

reported as already logined, module AAI rejects U for double-login from the same or

another host until his/her login status is removed from D — (i.e. logout). Finally,

module AAI shows the selection menu to the user. Figure 4.6 shows the flow of

inspecting double-login.

record of 广 ^ ^ ^ d o u b l e - .,.. isL iogs.、....

: - ¾ ¾ . • … \ reject user )(。目丨、(double-login | i

: ^^-^>,__-^ \、..:!二-'..,,々 r — —: error ! client authorized by | / ^ ^ \ message」 I , ( c h e r k f n r Y

i uscnumcand ^ double log.n ) ^ 1 password | V ^ ^ ^ ^ verified )

_ ^ p f r C T ^ username ’ .

current s t a t ^ '..nof in ^ r e c o r d c l i e n t ' s ^ ! client accesses j

, 乙~~_ SlS " " \ ^ ^ information J ^ | the main menu 1 � ^ i- , ^ ^ t"<C. ‘

, ^ T Z '-' username, hostname, .' datatme " — IP address and J username, hostname, (current login 1 login tirae " "^ IP address and login time

status) i .........t....... J ^

^ ^ • ^ " " K ^ u s e r n a m e and ,'. ISL 'ogs login \ X ^ s i g ^ l ofremoval ..、... information J:::�

‘ r " --_ / ^ ^ ^ ~ ^ ^ ^ ^ \ 、:——.-•".' I client leaves ! / remove client's、、username and I SIS r " * V ^ login record J . logout time""^^

'•••:•.• ---.,-.:.;,,:.:¾.>..-" ...--"" ""--..

,... •..、• f ISL logs logout、、 \ information ) - \

.......>«^,

Figure 4.6: Flow of Double-login Inspection in Module AAI

4.3.2 Module 2: Multimedia Presentation Tools (MPT)

Module Multimedia Presentation Tools (MPT) is responsible for preparation and

management of teaching materials and extracurricular materials. This module has

interactions with users. Module MPT takes on two jobs which are browsing and

• editing the presentation materials. It lets users to view and modify the teaching

materials as well as the extracurricular materials. Needless to say, the editing jobs 35

can be done by teachers (or users belong to administrators) only. Presentation

materials are stored in a database Dmatenai while the multimedia part can be stored

anywhere on the Web.

During browsing, module MPT retrieves the basic part of a presentation Pbrowse

from Dmateriai and then links the multimedia part of Pbrowse from their corresponding

URLs [15] (Uniform Resource Locator). It shows the complete presentation to the

user after both parts of Pbrowse are loaded completely. Figure 4.7 shows the flow of

browsing a presentation. Teaching materials stored in Dmatenai are classified

according to the levels in a school: Secondary 1’ Secondary 2,and Secondary 3,

while the materials in each level are further classified by three subjects: Chinese,

English and Mathematics.

§<^ Aiultiraedia

. _ / i l " of Pbr _ f i l 。 f r o r a ^ ^ s h o w c o m p l e t e \

heWeb r - ^ p r e s e n t a t i o n > ; , - ^ 7 T ^ ' : ^ - ^ - T ^ ' ^ '

\ multimedia ^i tTrofpresentation Y e s o f � � „ „ ^ ^ P e r i o d

^ • / ^ ^ ^ 1SL logs visited C URLs J ( presentation )

, , V _ ^ > ^ _ / and period / \ material ••� ^''-t ^

(teaching materials and ’ ; ‘ ' ' - " yn rTr : i ' '> * extracurricular materials)

^*-*:— -<^r � � ^ - A � \ 4 m � , ^^

Figure 4.7: Flow of Preparing a Presentation in Module MPT

During maintenance, when a creation of new presentation P„ew (with given

level and subject) is requested by the user, module MPT loads the template of a

presentation from Dmatenai and displays it in an editing environment. This editing

environment lets the user to fill in the content and add the URLs of related

multimedia files. After that, it creates a new record for P„, ^ in D _ ! a i followed by

storing Pnew in Dmatenai- WhcR a modification of existing presentation is requested by

the user, module MPT retrieves the basic part and URLs of the multimedia part of the requested presentation P^odify (with given level and subject) from D_enai. Then, 36

it locks up Pmodify from Dmateriai and displays it in an editing environment. Similarly,

this editing environment allows the user to modify the content or delete the entire

presentation. Finally, it restores the updated version of Pmodify (both basic part and

URLs of multimedia part) into D,natenai followed by releasing the lock on Pmodify from

Dniateriai- Figurc 4.8 shows thc flow of maintaining a presentation.

K--— --4emplate \Qx __orepared P„, and load and ^ n e . ^ wait for \ ^ « " ' / ^ a t e and s I ^ " " f i s L logs new 、

S I ; ; ; ^ / ^ ^ _ J : ^ = ; ; ^ I : M p = ; = ; . _ ;-" - <><-^^"< ‘ ^ *"*> " --> -<> <"r-< ': .Z ^ --> ^ “ ^ V . 、、、�—―一<、、‘

•• ‘ wJ fcs.>;:-、‘.:>,":". .::..... .;,...<:V ‘ 乂.... ; , ,. ., ••'' ^ < template ^ ^ signal of for ? C ) creation and / ISL logs edited

" '^ l^ ^ 乂 preparedjp^^^ presentation ):

database D„„,„,,, ^ 、and period , , , (teaching materials and , , . . . . . … 、 ~ " 1 一

厂 extracurricular materials) ^ H ^ ^ o n de.etmn % _ ^ " " 帖 、 》 < « / " n d

basic parts and '^^"^-.--- ;^- •• , r " " ^ : : . , . V period URLs�fP,— � \ D o f P „ , ^ ^ 1

I ^ ^ - " " ^ ~ ~ - ^ ^ ^ — " ^ — ^ ^ updated I client modifies | 广 retrieve ^ ( " o < " / / ^ c k up f t o l ^ ^ o d i f y ^ w a i t f o r ^ ^ « o r f , / / ^ , , ^ \ I existing | ^ K materialsfrom W database and W user input V W ' ^ ' ^ f® '^=^ ^"^ Y I presentation | i V ^ ^ t a b a s e ^ ^ ^ ^ j \ ^ ^ s ^ h y P ^ ^ ^ ^ j ^ , j V ^ ^ c o m m a n d ^ ; V ^ ^ ^ r e l \ 。 ^ ^ )

: -.-. Avw;k.ft -- '•“ ': .- J™,.>..U:-'>'"'"' -..,> .,"-.." •••-• .. — .„_. ,. .,-:—•”

*•, • • • • •丨• • • • • •• lock up fail

Figure 4.8: Flow of Maintaining a Presentation in Module MPT

As mentioned in the previous section, SIS provides a history profile for each

student. The profiles record a lot of detailed information about the students. Such

information includes:

• name, age, sex

• academic level, class

• year of entrance

• email address of the student

• email addresses of the student's parents

• email addresses of the student's teachers

37

• conduct in each semester

• attendance in each semester

• academic performance in each semester

• result (correctness) of each online exercise, test and examination

• result (correctness) of each regular exercise, test and examination

• ability of reading in each semester

• ability of comprehension in each semester

• ability of analysis in each semester

• frequency of reading extracurricular materials

• participation of extracurricular activities

• performance in extracurricular activities

• personal performance

All the student profiles are stored in a database Dprojue and they can be

modified and checked anytime. Student profiles in DprofUe are referenced by the

modules (IQS, OEC, SHR, SPA, EMM and RQA) described below.

4.3.3 Module 3: Intelligent Questions Selector (IQS)

Module Intelligent Questions Selector (IQS) is responsible for selection of questions

in exercises, tests and examinations. This module has interactions with users. All the

questions are stored in a database 0样—.They are also classified by levels and sub-

classified by subjects. Questions in each level with a certain subject are further

classified by three difficulty levels: easy, moderate and hard. Similar to module MPT,

module IQS provides an editing environment for users to add new questions, modify

existing questions and delete existing questions.

38

To add a set of new questions Qnew, module IQS displays a template for users,

who belong to administrators, to input the question content and set the degree of

difficulty. After that, it inserts Qnew into Dquestion- For modification of existing

questions (with given level, subject and difficulty level), module IQS loads the set of

required questions Qmodijy from Dquestion and locks up them from Dquestion- It displays

Qmodijy in an editing environment and waits for the revision from the user. Finally, it

restores the modified version of Qmodify into Dquestion followed by releasing the lock on

Qmodijy from Dquestion- Fof dclction of existing questions, it loads and lists all the

questions (with given level, subject and difficulty level) in a menu for the user to

select a set of questions Qddete which are going to be deleted. Then, it collects Qdeiete

from the menu and deletes them from 0释—.F i g u r e 4.9 shows the flow of

manipulation of questions.

....,.-.- -...

/ iSL logs new , 1 S L logs deleted x - ( ques t i ons and )<K questions and )<~~^

\ . : period ,/ : : ; j G„»» and ........、 period 拉: 、~ ‘ ‘ '..: : 1 period 、、::.、--—..:.一...-'zj;:r

\

C.- ^ m p l a t e foj>- , ~ ~ - ^ ^uux( ^“^ 'jfstuv^ Y " ' / waitfor ^ ^ : ^ s e n q u e s t i o n 7 N ^ ^'"°^ template y “ “ \ ^ user input J - ~ ^ y into database J y,..^^.^^.^' ^ " - - ^ - " " ^ " ^ “ ^ " • " - - ^ . ‘

•• template J ' 1 forb„� >

r -_ ^ ^ retrieved ^

i c = = t e s [_/ da„d ;; :!! :; “fr £^^^ / ;7^1^^^^^?V^L existing r K questions ) ~ K selection K^deletequest.ons W ^

! questions | \ ^ ^ ^ \ s ^ >/ \ ^ o m databasey^ ^ ^ - 4 ' - ^ _ , v,:,..:;:.:-:::;. ^ — • ‘

questions with given ^_____ subject and 1 ^ | ^ ^^^ ^ ^ ^ ^ ^ signal of deletion an^ QitUit

义 , • , n ::-:'、signal of insertion and fi,,^ 、 database D, „ „ , „ „ ^ ^ ^

(questions) ( 4~~: :~~!

V , ^ ^ signal of modification and updateo|2^^^|y^ ^mii!y IDso fQ ... ^^________i___^^ ^^^JJ__J^^ ' j y updaled

! client modifies | / ^ e t r i e v T ^ ^ " " ^ ' / ; ^ ^ b ^ k u p t a ^ " . x / ' Z / ^ ^ ^ ^ ^ i r f ^ P ^ " " ^ ' / / " ^ T ' ' ' ' 7 T ^ ^ I existing p ^ questions from ) M database and W ( user input V ^ release lock and \ I questions | : V ^ d a l a b a s e J - \ ^ h ) Q ^ ^ ^ ^ ^ V ^ d c o m m a n ^ V ^ e s t o r e e „ 。 ^ " y %

」丨 ^ ^ « ^ ' " ^ ^ r ! r i t < ^ ^ ^ r - ^ < ^ ^ ^ - - T - ^ ^ f *•鲁• •暑•拳•詹_ •攀攀畚鲁鲁 •»

) & . " P ] " i i ISL logsedited Q , ? d i questions and )< period ;

period 、、:._^„丨„丨__„^,,,.-^

"•••-".A.,:„:: •••••

Figure 4.9: Flow of Manipulation of Questions in Module IQS

39

To set a test paper or an examination paper, module IQS retrieves the questions

from Dquestion- It classifies the questions into different levels systematically according

to their difficulty levels. After that, it chooses and retums the questions with certain,

given or different difficulty levels automatically for the test or examination. Figure

4.10 shows the flow of manufacturing a test paper. There are two options, which are

setting questions for a given student and setting questions for a given difficulty level,

in the manufacturing process. If the request is setting questions for a particular

student, module IQS first reads and analyzes the ability of that student from Dpro/ue.

Then, it selects the questions with appropriate difficulty level from Dquestion for the

Student. If the request is setting questions for a particular difficulty level, it loads the

questions with such difficulty level from Dquestion- Eventually, for both options, it

retums proper number of chosen questions (with model answers).

! setting paper for j ^ f analyze \ resultant 1 a given student j ^ s t u d e n t ' s ability J difficulty leveP

a b i l i t y o £ . < ^ _ ^ ^ ' ' ‘ ^ < - ~ " ^ ~ ~ ~ ~ ^ classified ^

^ _ J ^ � e - t - t I „ - g - ‘ : - ^ ^ = s % a n 7 N ^ : : : ; | ^ r e t u r „ � d _ _ ^ . i-A!i,lt\t-^As^esti�J^^^y^^ \ q u e s t i o n s ^ ^ ^

database D ^ questions m t h J ^ ^ ^ " " ' ' ^ . . i ^ F ^ ' ' ' . (student profiles) | d i f f i^1^1 aid , S ' ° " '

^ — ^^'h 广 ^^^^^ 抓, io > ,-T^ ^ > r ^ ^ .............. .h..i..._..

^ ISL logs database D,„„,,„„ „ questions for )

(questions) 3 test and period / ;

‘ :¾! N>v<_ „^^-:- •.»'

V , , ^ ^ ^ ^ , / -¾ 〜、- ‘ r ^> » …

Figure 4.10: Flow of Manufacturing a Test Paper in Module IQS

4.3.4 Module 4: Online Examination Center (OEC)

Module Online Examination Center (OEC) is responsible for manipulation of online

tests and examinations. This module has interactions with users. Figure 4.11 shows

the flow of holding a virtual examination. When a test or an examination is held,

module OEC asks module IQS for a set of questions targeting for a particular student

or a particular difficulty level. After module IQS retums the set of questions, it

40

performs the test or examination by providing a virtual examination hall for students

to answer the paper. When the test is done, module OEC grades the test papers by

comparing the answers inputted by students with the model ones. It counts and

records the accuracy of each student. After that, it passes the results and details of the

test to module SHR for recording. At the same time, it shows the correct answers and

displays the score to each student. Besides, module OEC also informs module SPA

and module EMM to re-evaluate the performances of each student and send the

result to the students' parents by emails respectively.

I SHR stores 丨『esults d

i results and 卜二‘。=!� i"SPA"ev"aTu7te"s"! questions / ^—-」丄13_|」5___」 ; s t u d e n t s . |

from I Q / chosen answers L_P_eLf2L^a_n^_:

一 / 、 and model , ,

K^ - " - - ^ - - ^ u e s t i o n ^ ~ - ^ n s w e r § _ ^ " " - - ~ ^ _ s ' g " f l ofJ retrieve and V ^ wait for \ f ^mpare Ve-evaluation

show q u e s t i o n s / K user input 氛 : = = 』 _ 1 “ " ^ ^ > * ^ ~ ^ " " ^ 。 ^ ^ ~ ~ ~ . - r ^ ••. ^ r ^ students)

-‘ - - -- j ‘ -'i • .. ...• • J - •‘ model answers J | ^ „ test ^- -_

/ andscores and period ! EMMsends : Z ^ “ ^ ^ * ^ ~ ~ ^ + ! results to 1

A i s p l a y correc>^ / ^ ! ^ ^ . l . . J E i ^ } L . . . \ ( a n s w e r s and ) ( ^ ^ '°SS taKe^ y., V scores J j \ testand penod / :

^^^-^<:_,^ 、、、一...,„...一..'-.z ,

Figure 4.11: Flow of Holding a Virtual Examination in Module OEC

4.3.5 Module 5: Student History Recorder (SHR)

Module Student History Recorder (SHR) is in charge of managing the student

profiles stored in Dp_e, This module has interactions with users. When it receives

the results and details of a test from module OEC or receives the re-evaluated

performances of students from module SPA, it classifies the data followed by storing

them into the student profiles in DprofUe individually. Figure 4.12 shows the flow of

this process. Besides, module SHR takes on handling the administrative requests

from teachers (or users belong to administrators) by providing an editing

environment for them to manage the content of student profiles, such as to update the

conduct after each school term, to update the participation of extracurricular

41

activities after each school term, to update the attendance every day. The flow of

modifying a set of student profiles Fmodijy is also shown in Figure 4.12. It is a

standard procedure which consists of four steps: retrieving, locking up, editing and

restoring. Any attributes present in the student profiles are able to be changed by the

teachers in this editing environment.

! module SPA sends ! [ re-evaluated |~>v I performances !

y ify la=ied | j " ^ ^ ; da te ^ ^ ^ ^ j ^ , p f

^ ^ i z e d ^ | ^ J r f \ ^ : : 5 ; ; updadng | I module OEC | f ~ ^ ^ ^ ~ ^ r r r ^ " ^ ^ „ ^ ^ ^ ^ T ^ ' ^ ' ,.

sends results and ^ resul s a ^ a . l s of , j sL logs ! details o fatest 1 a t e ^ r f o r m a n c e s ( updated profile V, L J 广<>--^一 — ^ ...-....、and period

����~:~i--一'‘‘ all attributes . . , , u „ , . n Tsignal of modification …厂 _,

[ ^ ^ ( = : ¾ ¾ : ( : � n d : 3 � ) 尸口:

^ ’ ^ 1 ^^-^ <. ^ 、 、 * ^ ^

, ^ i ^ ^ ^ „ ^ ^ l k ^ ^ _ - ^ p d a t e d l _ _ ! client manage L ^ r i e v e p r o f i i ^ T ^ ^ i k u p f r o i ^ ^ ^ ^ ^ l l l ^ y ^ w a i t f o r ^ ^ N ^ ^ ^ ^ ^ y;^ ^ ^ ^

[,,:, ^ ::: : :::<Mi5 / ^^e^^^5;i ^^^C! :) ‘ '-'''....-....,. :. ... - ‘ .•'...- .,v,v,,,---; -' ,....'. •-\ ••

lock up fail

Figure 4.12: Flow of Updating and Managing Student Profiles in Module SHR

4.3.6 Module 6: Student Performance Analyzer (SPA)

Module Student Performance Analyzer (SPA) retrieves the recent academic results

of each student from his/her profile in Dprojue periodically and then evaluates his/her

performance based on the academic results. It also takes on handling the requests of

re-evaluation submitted by module OEC. This is a backstage module so that, it does

not have any interactions with users. After each evaluation, it passes the re-evaluated

performances to module SHR for storing and updating. If the resultant performance

of a student is below a certain threshold, it calls module EMM automatically in order

to notify the student's parents, teachers and social workers by emails. Figure 4.13

shows the flow of this process.

42

! SHR updates i j re-evaluated ‘ ! performances [

r - - • - - - _ - • • - - - • • • • • • • • • - - - - . • • • • • . - - J

I periodical I ' re-eva luated

i evaluation p ^ | pe^ rmances ^-¾^^ ~~" academic ^ ~~^ 广 retrieve results \ r e s u l t s / evaluate ^ . P . ^ r f o f m p n c e lower [ f r o m database J"~\ ^ performances j ' ''thdnaihVeWoVd''\

! evaluation | _ / ^ 7 ' ^ ^ - " ' ^ " " " T ^ a l o f n o t i f i c a t i o n , :

1 requested by OEC j / e c e n t academic students' information and :

/ results ,re-evaluated performances : ^ ^ ~ ^ I ";

_______ ^ J j EMM sends emails | | , ‘ , „ I to parents and U •• database D„,„,,. , , ‘

, . , . P/f i '、 • teachers (student profiles) •• : i I

^

Figure 4.13: Flow of the Internal Operations in Module SPA

4.3.7 Module 7: Electronic Mail Manager (EMM)

Module Electronic Mail Manager (EMM) is responsible for the management of

Intemet emails. This module has interactions with users. It takes on receiving emails

from the Intemet and sending emails (with given contents) to given addresses.

Mailbox of each user is stored in a database Demaii.

Special packages, such as email-to-pager and email-to-fax, can be added into

this module. If the receiver is unable to check his/her emails or the receiver does not

check his/her emails frequently, these packages can forward the email messages to

his/her pager or fax machine so that the receiver can be notified by the email

messages instantly.

The following figure (Figure 4.14) summarizes the communication between

the five modules (IQS, OEC, SHR, SPA and EMM) mentioned above.

43

^ ^ 广 ^ questions with 、 ^ 丨: ^ ^

g ^ f ^ d a , s e D databaseD_"丨丨

(questions) (electronic mails) ^ • ^ ^ ^ ^ ^ ^ ::

questions w ^ J ^ " ' m a i l b o x e s ^ ^ ^ ' -g i > 9 t f o f u s e r s x " ^

^^__Jl_____^^^^|f idrny level ^ _ _ _ ^ C . ^

^ ^ oiestfo^ns ^^^equest for results and i^Electronic M a i P ^ ' ^ v 、elector 厂 questions""^^ |^details of testsl Manager J

\ required ^ L - ^ ,K i , ; . . , „ f questions / Online \ , ^ re-evaluated

二 , ( Examination ) — y or performances results and V Center i^-evaluat ion>| and students'

|^details oftests ^H"r>";>_^____-"<^..:.:' information ....S::::...j..:.',...

^ ^ — ~~~~^^--^ re-^aluated J ^ - ^ ^ A t u d e n t H i s t o r ^ V Performances 7 ^ S t u d e n t 、

V Recorder } ( Performance ) : \ ^ 乂 resul!s, details of tests \ Analyzer /;,;

^ - - < ^ and perf0tmances "" ""* >>>>I!j___<-*- :::::.. * » •. ::

Student ^ ^ - ^ (j>rofiles C ^ ^ ^

databaseZV。,,卜 r e c : = e m i c J (student profiles)

^ ^

Figure 4.14: Communication between Five Modules

4.3.8 Module 8: Result Querying Agent (RQA)

As described in the previous section, parents can make online queries about the

performances of their children in SIS. Module Result Query Agent (RQA) is

responsible for this task. This module has interactions with users. Module RQA

functions on reporting the contents of student profiles stored in Dp_e.

There are two options supported by this module. The first 6ne is querying for a

particular profile F by students (or users belong to ordinary users) while the second

one is querying for all the profiles F—s of a class by teachers (or users belong to

administrators). In both cases, it retrieves the interrelated profiles from DprofUe, and

then structures and displays the information in statistical formats or in table forms.

Figure 4.15 shows the flow of querying student profiles.

44

I client inquires for ! / retrieve profile \ I own profile i " " y from database J Z ^

^ / ^ f l l e of ^ C-__ udent

^ ‘ ^ ^-^structure a n d ^ p e n o d / , ISL logs database 0厂。,"( f display k H queried profiles )

(student profiles) V^ in fo rmat ion / ^ ..... and period / . . kl J ^^~~~ »•"•<-< •“ 、,.、—•>•一.-""••..•••• ^ ^ • ^ — - ^ … �

\ > ^ r o f i l e s of ^a^class

j client inquires for j f retrieve profiles、., ^chssj j profiles ofaclass | " ^ f r o m d a t a b a s e ^

^ ' > " " .

Figure 4.15: Flow of Querying Student Profiles in Module RQA

4.3.9 Module 9: Group Activity Area (GAA)

Module Group Activity Area (GAA) is responsible for group activities between

students. This module has interactions with users. It consists of six working

environments (activity rooms). Each activity room is targeted for a particular

academic level of students. In each activity room, there are four sub-rooms,

according to four themes, for users to choose. When a user enters a sub-room, a

workspace is given to him/her by module GAA. A workspace is a typing and

drawing environment which fumishes a text area for users to type in their text

messages and a drawing area for users to create their graphical characters.

In synchronous mode, all clients connected to the same sub-room are linked by

a central server. Each sub-room is centralized by a central server for message

delivery. Users can type text messages in the text area. All messages typed by users

are sent to the central server. The central server then broadcasts the received

messages to all the clients connected to it. Messages sent by the central server are

shown in a common area in each workspace. A conceptual view of the operations

between the central server and the connected clients is shown in Figure 4.16.

45

/ centraI v _ -• ( s e r v e r of a ) I message M is sent to | V ^ a t r o o n ^ 1 the central server !

, ^ ^ ^ ^ i ^ ; ^ : I cl ient i n 、 〔 cl ient i n 、 广 client i n 、 广 cl ient i n 、 | l^^chat^roon^ y^^^t roon^ l ^ ^ | | | ^ ^ ^ y ^ ^ t roon^ |

I clients in the same sub-room • /^ent raFX _- • ( s e r v e r of a ) ! the central server 1 V ^ a t r o o m y | broadcasts message M \

^ ^ ^ < ^ ^ " ^ ^ " " ^ ^ ¾ ^

- ^ ^ ^ | ^ m * ^ j | | ^ ^ * ^ ^ * - * ' ^ ^ ^ ' '-^^- * - ^ - . ‘ • _ . . . ^ ^ i T ^ ^ . . . . . . . ^ ^ . ^ ^ ^ ^ ^ ^ ^ ^ . . ^ ^

I f cl ient i n 、 广 cl ient i n 、 | cl ient i n 、 f cl ient i n 、 ;

i l c h a t r o o m y ^ c h a t room ) l c h a t room ) l c h a t room ) i

clients in the same sub-room

Figure 4.16: Operations between the Central Server and Connected Clients in

.Modu le GAA

In the drawing area, module GAA supports a set of predefined geometric

shapes for students to design their works. This set of geometric shapes include

rectangles, rounded rectangles, ellipses, circles, straight lines, folded lines, freehand

lines, polygons, arcs, curves and texts. Other than geometric shapes, module GAA

also supports a set of operations for painting and manipulating these graphical

objects. These operations include:

• filling the background/foreground of graphical objects with different color

• selecting color by predefined color and user-defined color

• erasing graphical objects

• combining graphical objects

• separating combined graphical objects

46

• blinking graphical objects

• resizing graphical objects

• moving graphical objects

• flipping graphical objects

• rotating graphical objects

• shearing graphical objects

• copying/cutting and pasting graphical objects

I client leaves j J _ ^ ^ f ° ' ' " ' _ ^ \ ^ o J :reate and s t o r e \ M。、sub-room i 隱 . e s s a g e s ^ H ^ ^ a ^ ^ ^ / " ^ ^ c w r e c o W . ^扣。」N L 1 ^^—‘-"•"*^� ^ " "*"" nr ""*""" :..,. .….…•‘‘..”-.�

W^ sub-room X 〜 ISL logs sub-and s u b j e c ^ / room, messages )

^ — — ^ and period / ' 、 ^^^ 、.、— 一,":’,. database 0 山 _ , 。 , . ^ appending signal

M. (messages and T and Af,.+, ^ [M. . sub-room ‘ comments) ano perioa

s>*___^': 1 " v > / . . . ^

i clientgives | ^ ^ " " ^ ^ ^ ^ i ^ ^ ^ ^ ^ M , ^ < ^ " " " i i ^ ^ i ^ P ^ W , • ^ ^ " " i ^ i 7 ^ ^ ^ " ^ W , + , ^ ^ " ^ ~ ^ j ~ ~ " ^ ^ I comments on H n messages from h ~ U messages in V ^ user input h r H append new y ;leftmessages ; V ^ d a t a b a s e ^ T '; V ^ o r k s p a c e J V ^ d c o m m a n ^ ^ V c o m m e n t s /

I - 一 丫 …‘ '、:'::: "'.7.. ""

Figure 4.17: Flow of an Asynchronous Discussion in Module GAA

Similarly, in asynchronous mode, a workspace is also given to the user for

performing the same actions provided in synchronous mode. In this mode, module

GAA works like a Bulletin Board System [15] (BBS). After a user finishes typing or

drawing his/her messages Mo, module GAA stores these data in a database DdiscussUm.

Messages stored in Ddiscussion are classified by sub-rooms and sub-classified their

subjects. Later on, when Mo is viewed by other users, module GAA retrieves Mo

from Ddiscussion- It shows Mo in the users' workspaces for them to discuss or give

47

comments on Mo. After giving the comments, their comments become new messages

Ml. Ml is appended to Mo in Ddiscussion by module GAA. Figure 4.17 shows the flow

of this process. This process is carried out iteratively in module GAA by appending

M/+y to Mi in Ddiscussion when new comments or discussions are given by users on the

same thread of messages.

4.3.10 Module 10: Integrated Systems Logger (ISL)

Finally, module Integrated Systems Logger (ISL) is responsible for logging all the

user activities occurred in SIS. This is a backstage module so that, it does not have

any interactions with users. Basically, it is a monitor of SIS. Figure 4.18 gives an

overview of this monitor. Module ISL monitors all the activities done by users in

each module, which has intersections with users, and records the activities in a

database Diog. Activities logged by this module include:

• usemames of clients

• time of login/logout

• failed login attempts

• double-login attempts

• hostnames of the clients

• IP addresses of the clients

• presentation materials read by users: Pread

• periods of reading presentation materials

• new presentation materials added by users (logging for administrators only):

Pfiew

• presentation materials deleted/modified by users (logging for administrators

only): Pmodify

48

• periods of editing presentation materials (logging for administrators only)

• new questions added by users (logging for administrators only): Qnew

• questions deleted by users (logging for administrators only): Qdeiete

• questions modified by users (logging for administrators only): Qmodify

• periods of editing questions (logging for administrators only)

• questions selected by users for test papers (logging for administrators only):

Qtest

• periods of setting test papers (logging for administrators only)

• tests taken by users

• periods of taking tests

• periods of updating student profiles

• student profiles managed by users (logging for administrators only): Fmodify

• periods of managing student profiles (logging for administrators only)

• emails read by users: Mread

• emails sent by users: Msem

• periods of manipulating emails .

• student profiles inquired by users: F/Fdass

• periods of inquiring student profiles

• chat rooms visited by users

• messages left by users

49

• periods of staying in chat rooms

( 3 i > 6 ¾ ^^^1i;;^;ii^^;^"^ ^ ^ ^ T i p : ^ ^-^rm^^' ^ ^ ( Q c U ” t i o n s h ~ V Ltaken tests F^„4ify ajd 「Electronic M a i l 、

V Selector ^ W and peridds ( f m M s ( 1 Manager 1 : ^ " ^ ¾ ^ ^ * , e " , > ^ , e - " V _ 2 1 ^ ^

0 0 y ^ ^~~~\ M ., M and ^ ? ^ r r ? S ^ ^ ' ^ ^ M ' < f i y ( > / Integrated \ < ^ " y • ";' ^ ^ " '

^ ^ ~ ~ - ^ , ^ ^ ^ and periods 7 J ; : : T ^^ 广 ^ ^ ^ ^

(p!e1Sin \广二。二二,V Logger }i: ‘ ^^'r/"^ [^ ^""'1 \ V ^ o o l s y | ^ N ^ ^ ^ j r # ^ ^ r y i n g A g e ^

^ ¾ ¾ ? ? ^ ' ' 务 login/logout j tchat rooms, messages ^ ^ ~ " " ~ - ^ ^ ^ # ^ ^ intormation and""^ and p e r i o d s 、

unsuccessful logins received L____^

( A u t h S S i o n ) r ^ " " " ^ | ^ r o u p A c t i v , t A V j d e n t i f i e r J ^ 、 V ^ ^ " / ¾

^ " ^ ^ 3 ^ i ^ r databaseD,。* • > t ^ ^ f ? f ^ (user activities)

^ -^ , 5. -••• . 、 1 !

、 W f j 、 X f

Figure 4.18: Overview of Logging User Activities in Module ISL

4.4 Chapter Summary

In this chapter, the software architecture of SIS is presented. SIS adopts the client-

server model in which the structure is simple. It consists only of the SIS Central

Server and the SIS Client Applet. Both of them are programmed in pure Java. The

SIS Central Server runs on the same machine with the HTTP server and the SIS

Client Applet is launched on the client side by the Web browser while accessing the

sole Web page of SIS. After the SIS Client Applet is launched on the client side, no

more HTTP requests are needed. Instead, a direct TCP connection is established by

the SIS Client Applet and the SIS Central Server for communication. On the server

side, the HTTP server for SIS can be any one of the standard HTTP servers running

on its relevant platform. On the client side, users can access SIS using any standard

Web browsers running on their own platforms. Using the function-oriented design,

SIS decomposes its software design into ten interacting modules, which are Access

Authorization Identifier (AAI), Multimedia Presentation Tools (MPT), Intelligent

50

Questions Selector (IQS), Online Examination Center (OEC), Student History

Recorder (SHR), Student Performance Analyzer (SPA), Electronic Mail Manager

(EMM), Result Querying Agent (RQA), Group Activity Area (GAA) and Integrated

Systems Logger (ISL). Each of them is responsible for a set of major functions.

51

Chapter 5

Demonstration

In this Chapter, a demonstration to the SIS Education Scenarios mentioned in

Chapter 3 is shown. As it is a large project to implement a system like the one

mentioned in the SIS Education Scenarios, it requires large amount of time and

resources in the manufacturing process. Moreover, the focus of this research project

is not only putting on the system implementation. So far, the SIS Education

Scenarios are partially implemented. Screenshots of the finished products, for both

teachers and students, are shown below.

5.1 Login Dialog Boxes

When a user enters SIS, he/she is required to type in his/her username and password

for identification. Figure 5.1(a) and Figure 5.1(b) show two snapshots of the login

dialog boxes for students and teachers respectively.

All usernames and passwords stored in Duname are encrypted for security

purpose. Unauthorized users or users who have already logined from other hosts are

prohibited from accessing. Figure 5.1(c) and Figure 5.1(d) show the corresponding

dialog boxes of unsuccessful logins for students and teachers respectively.

52

i g j j j 8 8 M i R W B W S M ^ B | m i p g g g f g | ; ^ g $ B B D B B B B B B $ E B B 8 H G H H I f \:, • V , • �

欣迎進入網上教學中心,/^^y, i歡迎進八網上教译屮心,>A^W 丨議輪八使用者名稱及密碼. y ^ l 精怜入使用者名稱及密碼. y ^ l ^

I 學生名稱明:liTTu;; : I 老師名稱1:10: f ^ 密碼們:pi^ i || 密碼竹p5;J5335

^^P^ ^ 0 赞 、 A l ^ | ^ L o ^ .

hvarning: Applet Wlndow 一 Jwam<ng: Apptet Wlndow

Figure 5.1(a): Login Dialog Box for Figure 5.1(b): Login Dialog Box for

Students Teachers

! • • • f f i f f l M — E M j @ m S D B Q B B B a m H n i E I

终,進八網士教學中心,/^J?^ ;歡迎進八網上教學中心,》iS^ I議輪八使用者名稱及密碼. y^l 猜輪入使用者名稱及密碼.^y^l

學生名稱明:! ^ __ 老師名稱|:1)):;;;3; ^ ^ ^B(P): pi;j^ 登入失敗丨丨丨丨 密麵卩):;;;^ “ ^>"'-

’ , ^ f ' ^ , S \ L o ^ � � hVarning: Applet Window — ||Waming: Applet Window

Figure 5.1(c): Dialog Box of Figure 5.1(d): Dialog Box of

Unsuccessful Login for Students Unsuccessful Login for Teachers

5.2 Services Menu for Students

For students, after entering SIS, the menu shown in Figure 5.2(a) is displayed to them.

There are five choices in this menu, which are:

1. taking tests ( i t e m � 测驗 � )

2. reading teaching materials ( i t e m � 觀看錄文 � )

3. checking test results ( i t e m � 测臉結系 � )

53

4. discussing with others ( i t e m �纣扮區�)

5. reading extracurricular materials ( i t e m � 錄外趣锬 � )

^^®^®i^^wi^f^d^^^pi^^(R!B(H^BBBmiBmm

^ ¾ ^ ^ 測驗結果 E ^ f M l

:::;::::;_ m mx ; : t _ "••^ Test r^3 TestResult

討論區..:.::,:.,W^M 課外趣談

0 | 議 m 纖 t u DiscussionArea lnterestingTopics i.'

i n i i i i n i i l i l i i l i i i i i i i i i l n g i ^ i m i i m i i i i m ^ i i m i m m i i i i i i m i m

H ^ )

Figure 5.2: Service Menu for Students

5.3 Teaching Materials for Students

To read the teaching materials, students can click on the i t em�觀看錄文〕 in Figure

5.2. After that, another two menus, which are shown in Figure 5.3(a) and Figure

5.3(b), are displayed to them in sequence.

The menu shown in Figure 5.3(a) is classified according to academic levels.

Students can choose their relevant levels in this menu. The menu shown in Figure

5.3(b) is classified according to subjects. Students can choose their favorite subjects

in this menu.

54

':7::N!';j:' ;f:' p« -., •.-.:-.. --:^r-- ^--v -、?:〜. '.- ..r:.-.,,.「-

" U i

中學二&,巾2

^ ^ - ^ c ^ m 3

iiSii!liaiiiS;ite;life Ls :.,.:::�;—.;.�r,i,: i :<..£:i‘,aw.,v�L:v.:.:.:.�::,L.&

, * » <

Figure 5.3(a): Menu According to Academic Levels for Students

^ ^ P Wi P P! PHI| BII ^ ^ ^ ^ ^ B ^ ^ ^ JJ|I BIB(lj

irr!-w«,? %f:: .»,pi,i. :^'fiT'^ iV :>• •¥ ,

&忠.藥舞文 :丨:…船“卩押'.:,,.;c:.WU

• V v.j.

•' •'''"••'•'-•' ,/k;,Wi'r 1-';''¾: .7V.r'.:".:/;1. ... • ;..i /v:、 . ^ c m - / 〜 ...•:.. •:

,,,^mUsk nRTHEnRTIC5 •'•V'-nJ.. • V ; -^"tl,'|V'. .。-.

郷伊7 :’. '\ :

.%: t.T;,W s:f,'$r,",ff :(-v.vi-Hf> : •:. 's.g ' y .^ . , ii^ _.

j i i i i j i m i i j i j j i i i i j i i i i i i i i i i i l i i i i ^ i g ^ j i i ^ m j j j j i i i j i i i ^ l ^ j ^ ^ j j

H , 奢

Figure 5.3(b): Menu According to Subjects for Students

55

5.4 Teaching Materials for Students 一 Chinese

Figure 5.4(a) - Figure 5.4(h) show the snapshots of teaching materials for two

Chinese chapters:《备飛之少年時代》and《早复,好大的霧阿》.

Figure 5.4(a) shows the text of the chapter《甚飛之少年時代》and Figure

5.4(b) shows some multimedia pictures of this chapter. Figure 5.4(c) and Figure 5.4(d)

show the Question and Answer Section of this chapter.

Figure 5.4(e) shows the text of another chapter《早晨,舒大的霧阿》and

Figure 5.4(f) shows some multimedia pictures of this chapter. Figure 5.4(g) and

Figure 5.4(h) show the Question and Answer Section ofthis chapter.

,1丨ll"l_Pg"."l.^'"]11丨1丨丨1丨:III•II._丨“

岳飛,字鷗舉,相州湯陰人也《生時’有大禽若 骑,飛鳴室上,因以爲名》未彌月,河決內黃,水學 至,母姚氏抱飛坐巨藥中,銜溝乘流而厂,及_•得 不死。飛少負氣節•沉學寡言。天資敏悟,強記書簿 ’尤好《左氏春秋》及孫吳兵法b家貧,拾薪爲调, 誦習達旦,不寐0生有神力’未冠,能挽弓三百庁. 學时於周同’同射三矢,皆中的,以示-;飛引弓一 發,破其害:再發,又中《同大驚,以所愛良^贈之 。飛由是益自練習’盡得同術。 “

未幾’同死,飛悲慟不已。每値朔望,必具酒肉 ’詣同墓,奠而泣;又引同所贈弓,發三矢,乃醉《

m n i i i l l i i i i i i i l l l j l l l l l i i i ^ i i i ^ u m m m i ^ ^ i ^ ^ i i ^ i ^ ^ i ^

^P ffi 個 ( 厂 “ - . 巧 峰 ^ ^ ^

Figure 5.4(a): Text of Chinese Chapter�岳飛之少年時代》

56

SP^^WBj5i5PiPWiiWiyp5fFJPiPiPI | PJPJPP| ^^^^^^^^^^^^^^^^^^^^ ||H| 岳飛之少年時代 佚名 水赛至’母姚氏抱飛坐巨!!中’銜德垂流而下’

_ , ® i P ... _!Si^_ i_ _%lp^_:: „ : 8 ¾ ! ¾ ¾ ¾ . 岳飛基正》!

^ ^ ^ ^ p p M

^&M faigtoiiiimiiiia-•,ji*M^.-iiiMato丨||丨11|||||||||itfMiffiMiii"•."".'�"'•i I H I I B I I H H B 3 B B t a H i i B t t a i i i i i i

^p ffi m: ^ ^iw^ 間.印

Figure 5.4(b): Multimedia Pictures ofChinese Chapter《备飛之少年時代》

^ | | " | . [ | ! 飛 之 腳 _ | | 佚 ! | | | 國 . . [ ] •

問答題

^ ? 1 « 少 隨 丨 , 文 中 眺 事 情 棚

觀看答案 下一題

iniiiiiiiiiii^iiliiiimiiiijiiiiiiiiiijiiiiiiiiiiiiiiiijiiiii^iiimiiiii^ii^iiiiiiji

1 梦 | f f l 書 丨 : 丨 - 峰 問 ,

Figure 5.4(c): Q&ASection(questiononly)ofChineseChapter《岳飛之少年時代》

57

• •綱年“|] I I I • • _ . , . . .佚名丨 • • II�

問答題

1作者說岳飛「少負氣節I,文中哪些事丨育口似說 明他這植特點?

答:「氣節」指志氣和操守,岳飛自幼愛讓《左氏 春秋》及孫吳兵法,可見得其有志爲國家效力。岳 飛深沉厚重,不多說話’家境貧窮又「拾薪爲:丨蜀, t還有他對周同尊師重道的表現,可見他是一位有 操守的人e

觀看答案 下一題

^ U j j i i i i i i i i ^ i i ^ i ^ i ^ i i i n i i j j j j i i i ^ j g ^ u j ^ j j i

^ ® 德 ” : i ] ) H ^ ^m

Figure 5.4(d): Q&A Section (with answer) of Chinese Chapter�岳飛之少年時代》

* ( l ^ f i 5 ^ ^ ® 5 S ® ^ ^ ^ ® 早晨丨好大的霧呵! 我們的山呢?不昆了! 我們的森林呢?搬家了! 是甚麼時候,或許半夜睡熟? 我們的帳篷就飛上了天空?

抬頭’不見阁光, 低頭,不見雲朵, 我們是木桌吞天空9

不’涯們运#海拔0广公只的高峰! •

夥計們,起身吧!

^jiirrijQBMff! I . . . . (•:―…〜_.,,r- .i i h i i i [ n i i i # i i W A i i , i i i : , , ^ ^ , ^ . . .

W trfllhWJfcAtolii llii • WiB 11 ia .¾ | _�li liiiiiiiiiiiiiy jjji(“i|(|t |SWfflff ||j|i|jjPjjifPPPBpMipipi|i|lljtlpifcl|MI|l p|l|| i||| yj||||jl||| ffj jiji|jjjj|| j j gfl |j| iir 'grlMll"atfi 1:

^ p ® m r H - ] ^ _ ^^Wf^

Figure 5.4(e): Text of Chinese Chapter《早晨,好大的霧《^》

58

_ 霸 響 翻 _ _ | _ ^ - l J . i ^

黄山雪海”

^ ^ ^ ¾ ^

‘ : • ^ 9 1 f ^ ^ ^ ^ » ^ H ^ ^ ^ 薄番中的四川商山槿林县色」

^ ^ 1 UMu_ m ..:• .1. iiilJU>M,iii.,...i _ M J y||l |||u/|j|A|||u||||||||| ,., j| I ||||| ||- "iiiiirttrM1#ilf"iifl^^^^^M^Mi^^M^^^M^MM^^^__^M»__

^P . ] f y « r i - ^ | | . 問 ,

Figure 5.4(f): Text ofChinese Chapter《早足,好大的霧阿》

1 1 鼸 舊 , 驟 霄 , 0 ^ 禪 ^ ^ ; ^ ^ ^ ^ ^ ^ ^

問答題

‘ 1這首詩的主旨是甚麼?

觀看答案 下一題‘

M M I I M i l M i i M M M i ^p « - ( T ^ ^)m^ 閉 —

Figure 5.4(g): Q&A Section (question only) ofChinese Chapter《早晨’好大的霧

‘ 阿》

59

^B^^^^^ I^^^^^^^^^^^^^^^^^^^^^^

問答題

1這首詩的主旨是甚麼?

答:描离高山上伐木:丨:人的1:作’並藉此叫人培養 堅毅樂觀的人生態度^

觀看答案 下一題

miiiiiijiiiiiiiiiiiiii^iiiiiiiiiiiii^n^iiji^iiiiiiijii^^iiiiiiijiiimjiiiiiiii^iiiijiii

主 炉 ' f f l 镅【!:: 1 ) _ 問 . 呼

Figure 5.4(h): Q&A Section (with answer) ofChinese Chapter《早晨,好大的霧可》

5.5 Teaching Materials for Students - English

Figure 5.5(a) - Figure 5.5(f) show the snapshots of teaching materials for two

English articles: "How Can We Save Paper?" and "The Hong Kong Dragon Boat

Festival".

Figure 5.5(a) shows the content of the article "How Can We Save Paper?".

Figure 5.5(b) and Figure 5.5(c) show the Question and Answer Section of this article.

Figure 5.5(d) shows the content of another article "The Hong Kong Dragon

Boat Festival". Figure 5.5(e) and Figure 5.5(f) show the Question and Answer

Section of this article.

60

(PI ^ ^ B ^ PH ^ ^ m ^ ^ BBB ^ B BBBBI I BUI BI How CanWe Save Paper?

X n t h e lEtth c e n t u r y ^ , t h e famoiur E i r r o p e a n

t r a v e l l e r , Marco Polo , went on a long joiLmey t o China. During h i s t r a v e l s , he sau many ^^ndetrf\^l t h i n g s . One o f t h e t h i n g s he d i s e o v e x ^ was that t h e C h i n e s e u s e d money t h a t was made o f papex, In t h e Wes t , paper money was not used i m t i l t h e 15th century. Howevex ^ paper nK>ney had e x i s t e d i n C h i n a s i n c e t h e 7 t h c e n t i i r y

Paper was invented i n China ±n M> 105 by A man c a l l e d Ts*ai Lun I t was made from t h e wood

^ ^ n i i i i i j i i j i j i ^ i j i i i i j i j j i j j l j j i i i i j i i i j j i ^ i i i i j j ^ j i i i j i j i j i ^ j i j i i i ^ j ^ ^ j ^

^ i f ! | # _ , 晰 <^^^

Figure 5.5(a): Text ofEnglish Article "How Can We Save Paper?"

p w m i i H i i H i i i i m How Can We Save Paper?

Coini>ielieusioii: 1, Paper money was f i r s t u s e d i n Europe A) 15t l i c e n t u r y B) 1 7 t h c e n t u r y C) l O t h c e n t u r y D) 2 0 t h c e n t u r y .

Answer Next

i i j j U i ^ u j m i j i i ^ j i i i ^ i i i m j i i j i j i j i i i i i i j i ^ j j j j j j j j j j m j j j ^ j i

, ^ . • . ' ,S>^ 以 ~

Figure 5.5(b): Q&A Section (question only) of "How Can We Save Paper?"

61

p i i O T V P i i i i i i n M M i | How Can \Ve Save Paper?

Coinprelieiisioii: 1, Paper money was f i r s t u s e d i n Europe . A) l S t h c e n t u r y . B) n t h c e n t u r y . C) 1 0 t h c e i i t u r y D) 2 0 t h c e n t u r y .

Answei- Next

i^ii^jiiiijjiiijmiiijiiiijiiiii^ijjiji^jjiijiij^jiiiijmjmji^miiiimiiu

H , ^ 3 ^ ®^k ^ ^ 以?

Figure 5.5(c): Q&A Section (with answer) of "How Can We Save Paper?"

p w M i m M f The Hong Kong Dragon Boat Festival

Every ye.-u:, Hong Kong has a Dragon Boat Etace, It. i s a c o l o u r f u l and n o s i y eveait. The a i r i.s f i l l e d w i t h t h e sound o f drums b e a t i n g and p e o p l e c h e e r i n g .

"Dragon b o a t r a c i n g i s a very popular s p o r t t h e s e d a y s , “ s a i d Henry Tam, a jnearfaer o f t h e .team.. " C o m p e t i t i o n s a r e h e l d each year i n flustralia, C a n a d a , A m e r i c a and A s i a “

"Hong Koiig i n v i t e s teares from o t h e r

l i j j i ^ j i i i i j j j U j m j j j i j i i i j m i j j j i m m i j m ^ u i j i i j m

^ p ! 糖 僅 ― N ^ <^ A)

Figure 5.5(d): Text ofEnglish Article "The Hong Kong Dragon Boat Festival" 62

I ^ W ^ ^ ^ P ^ ^ J ^ J ^ ^ | PPI WI ^ BH ^ ^ J B ( BBB

The Hong Kong Dragon Boat Festival

Comprelieii.vioii: 5 The Dragon Boat Race i s h e l d t o A) f r i g h t e n s h a r k s B) remember Qn Yuan C) make a l o t o f n o i s e D) e a t d u m p l i n g s

Aii.vwer Next

n m m n i i i i n n i m ^ ^ i j ^ i ^ i i i i i i ^ i i ^ m ^ ^ i i i i ^ i ^ i ^

^ ! • j _ , » • Q ^ ~

Figure 5.5(e): Q&A Section (question only) of "The Hong Kong Dragon Boat

- F e s t i v a l "

^^^^W^B^^^^^^^^^^WI K^WI ^H^BHHBBIBPBIfl

The Hong Kong Dragon Boat Festival

Compiekeiisioii: 5 The Dragon Boat. Race i s h e l d t o A) f r i g h t e u s h a r k s B ) renuEsmber Qu Y u a n . C) make a l o t o f n o i s e D) e a t d u m p l i n g s .

An*wer Next

lgil^jiiliilliiiiiijjiii^iliilliijigjigljgji2jggijgigi^gigjgigijggiiii^j^i2^i22^^^^^^22:^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^BBBBHHBHBBH

^ i f f l 身丨< _ Q^5

Figure 5.5(f): Q&A Section (with answer) of "The Hong Kong Dragon Boat Festival"

63

5.6 Teaching Materials for Students - Mathematics

Figure 5.6(a) - Figure 5.6(c) show three snapshots of the software tool for plotting

mathematical equations.

Students can change the color of the curve by pressing the b u t t o n s � R E D � a n d

� B L U E � . They can also change the mathematical equation and domain of the x-axis

by modifying the content in the boxes labeled b y � Choose a F u n c t i o n : �, a n d � Plot

X f r o m : � a n d � to:�respectively.

Figure 5.6(a) shows a graphical plotter for mathematical question y = jc , Figure

5.6(b) shows a graphical plotter for mathematical question ;y = r^ and Figure 5.6(c)

show a graphical plotters for mathematical question ;y = ^ + x - 52.

PI B ^ I P d Pil ^ ^ ^ ^ j ^ l ^ ^ P| ^ PI ^ BBI ^ BI WI

V T > Choosea Color: \ 10000 / _ _ _ _ _

\ / 國

\ / Choose a Function:

\ / ^ 3 \ 5000 /

\ / Plot X from:

\ / -100

_ _ V I 7 .f^ 0 ^0 ChangeDomain

1^»_塵_—丨丨‘,..,.,;...:..」,,..1 ....• ^ H BH UI ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ H HHI H ^ ^ ^ HII HHHIHI III H BHHH HIHI HHIMHyHHttflHiUMtoitiUtetiUkkfliiiittiMUdkffiiM>i>tUj

^P * k

Figure 5.6(a): Graphical Plotter for Mathematical Equation ;y = /

64

••iii^jiiBmiugii:I""'""•"圓— T , Choose a Color: Tei3 /

/ B B / Choose a Function:

/ F ^ ~ 3 394 /

/ Plot X from:

J 口

^ ^ ^ ^ ^ ~ ° ^ ‘ 1 1 � — • I ChangeDomain |

l n m n i g i i i i g i i i i i i i i ^ i ^ i i i i j i i ^ i i ^ ^ m m

H o , * k

Figure 5.6(b): Graphical Plotter for Mathematical Equation 3; = x

| ®^ PJPdPiPPI j ^ ^ m| ^ ^ JJp! ^ ®^ ^ ®^ ^ ^®®

” V T ChooseaColor: \ l328

\ • \ Choose a Function:

\ x 2 + x-52~~]^ \ . .138

\ Plot X from; \ r20

\ . X - _ _ _ ^^乂 1�C !ZZ;

1 ChangeDomain | | | g | | | | | | g j j | | | g | | j | | | | g ^ g | | | | | ^ j | | ^ | ^ ^ | | | | ^

^p * k

Figure 5.6(c): Graphical Plotter for Mathematical Equation y = ^ + 义-52

65

5.7 Tests for Students

To have online tests, students can click on the i t em�測發〕 in Figure 5.2. After that,

another menu, as shown in Figure 5.7, is displayed to them. Students can choose to

have tests of different subjects (Chinese or English) in this menu.

H H H M M H H H H iiW lhfipp[ ii|p ':,,,!l!_Wi ,_i"W".,—,, s ! |jy F ,_!iiJ_ _iWPiiiiWPiiiPPP!PliiWWiPiipnpHI

,、.:.,:,,:V.!

幽 趣

‘ : t 3 H 0 l 3 H C 中文枓測驗 EnglishTest .ii

i^iijiimiiiiiiiij^iiiiiimii2^i^^iiiiin^iiiiii^iiiiiiiii^iiiiii^iiiii^iiiiii^iiii^ijiiiiii^iiii^i^

^ 奢

Figure 5.7: Menu ofTests for Different Subjects

5.8 Tests for Students - Chinese

Figure 5.8(a) - Figure 5.8(c) show some snapshots of a Chinese online test. Figure

5.8(a) shows a sample test paper. Students can put mouse clicks on the c h o i c e s �老

鄉〕,〔故居〕,〔故御�and� ^ 4 � i n order to make their selections. After the test,

the correct answer to each question is displayed to the students. This is shown in

Figure 5.8(b). Finally, as shown in Figure 5.8(c), an overall result of the test is

reported. ‘

66

tiiiBliraHHHHHK]^

^測驗卷 '^¾=¾ M,,^ 9.舉顔望明月,抵頭思——

暴, 'WM * :邏 # 3 1.老搏

: _ : i | | 2 . 故 居

輪 _ 3.故鄉 m 4 . 睡

m〜.

m :,:i3IL '^ 下一題 關閉

^ . Warning: Applet Window

Figure 5.8(a): Sample Chinese Test Paper

a^^^^^^®®®BBBHHBII^BBI^Bm^^E] jpnwMF=ii

m 測驗卷 . j W I ^ ^ ^ " . " " l j ) _

'..1{MHM;:=::;! _ 9.舉頭望明月,傲頭思™ : ¾ ¾ ‘I, '''! H

置 趣 fe 1.老鄕

_ 2.故居

^ p | 3.故搏

. 昼 、 4 . 麵

麗 , [ ^ 0

w^ 下一題 關閉 . iME^ ..,>MMWMWi〜 <*31 Warning: Applet Window

Figure 5.8(b): Correct Answer to Each Question in a Chinese Test Paper

67

i P n B S a M H H H H K M E | a ^ ,

H 測驗卷 :;, , ! 您共答了 10條問題。 ji^Ss6 答3 1"了 : 8 : ¾ ¾ 答錯了: 2 ^ 您的分數是80% • V : 塗 ^ * 答案 關閉 ''..-iiiwwwi--"3i learning: Applet Window

Figure 5.8(c): Overall Result of a Chinese Test Paper

5.9 Tests for Students - English

Figure 5.9(a) - Figure 5.9(c) show some snapshots of an English online test.

Figure 5.9(a) shows a sample test paper. Students can make their selections by

putting mouse clicks on the choices labeled by alphabets� A � ’ � B � , � C � a n d � D � .

After the test, the correct answer to each question is displayed to the students. This is

shown in Figure 5.9(b). Finally, as shown in Figure 5.9(c), an overall result of the test

is reported.

68

^ ™ " " * " " " " * " * " " * " " " " " " " " ^ 露......i Test Paper

:||PL. 1- Eveiy yeai-, Hoiig Kong has a Dragon Boat Race. And how ^ ^¾'"'¾ long has this festival begun? jjj[2JjjJjjjjJ i!!j|2lli, w | i j | j j j [ |p^ A . a fewyears ago.

-i;i|pB _ E. more than two thousand years ago. * 11 ¾ C. in Hong Kong.

^ 11 ., D. about two hundred years ago.

K 着碰 .螺......〜 霧邀, Next Close m ^ i U _ _ : _ : \ v » d w » : i : : : J _ : ::、: I ““

Figure 5.9(a): Sample English Test Paper

l i P P B B I I H H H H H M i m H C M i l ' I H .•• ^ ^ ^ ^ ^ I 丨丨•

:½¾ :圓 Test Paper 誓她 |:鍾._.—.. 1_ Eveiy year,Hong Kong has a Dragon Bo at Rac e. And how :|^|jpS long has tMs festival begmi? i:.iJiBH«,.� . ¾ ¾ : i t . .

'^^j|jp^J A. a few years ago. '•邏....� B. more than two thousand years ago. ' S i r C-虹 Hong Kong. 7 ¾¾ ... D. about two hundred years ago.

§ E 0 iW55|i m Next Close ; ^ K ^ |

^ m _ _ : A p p t e t s ^ ’ , ^ ^ i M M w i i a > ^ P M g ^ i M ^ ^

Figure 5.9(b): Correct Answer to Each Question in an English Test Paper 69

: ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ,:霧〜.. Test Paper

^<^^¾ There are totaUy 8 question. ^ ^ ^ , Right: 5 II J Wrang: 3 i « 纖 � 0 证 mark is 62%

SP - L t i 2 ^ S S 5 S S E s & 6 n -1^^,

拳 ^¾! Aiiswer Close

| p Bj^ywMwdjavaApplal Window

Figure 5.9(c): Overall Result of an English Test Paper

5 • 10 Queries for Students

Students can inquire for their own results in the online tests by clicking on the item

〔测驗結系〕in Figure 5.2.

Figure 5.10 shows a sample output of such a query, in which the subjects,

difficulty levels, dates and marks of all the tests taken by the student Yiu Yue Tak are

listed.

70

^ ^ ^ ^ ^ ^ W B I ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ TestResult

s t u d e n t : Yiu Yue Tak T e s t L e v e l D a t e M a r k s ~ ~ ^

1 Eng Hard Mon Mar 22 3 5 . 0 5 2 Eng Hard Wed Apr 22 40 运 3 Chi Hard Wed Apr 22 100 4 Eng F a i r Thu May 07 10 : ,i

^ <-^.J <" •:、. —-‘.....‘. .., |—--,. ng|[V^'-'-' . ' ;.,,.;..-,;...-.:-.-,,-.;....- ^,..^,r^^^rt,---. -^^^ .;^..v... \ - » m g] ::::.:.:.::.;:.. .—......:.… -;;;;^V-::^:^r-:-..:.--.y ^1

j j l j l j l U j j j j j l j j l ^ ^ l ^ j j i ^ g l j j j ^ j j ^ ^ ^ ^ i i i m ^ i j j i i i m i j j m j j j j j j j j j j m j j j j j i j i i

H � , 叙

Figure 5.10: Sample Output of a Query on Test Results

5.11 Discussion Area for Students

To get into the discussion area, students can click on the item � # ik 區 � i n Figure

5.2.

Figure 5.11 shows a simultaneous discussion on Chinese-related topics.

Students can type their message in the box under the label � 您的讯息 � . T h e i r

messages are shown in the main board under the b a n n e r � U 給區� . M e m b e r s in the

discussion area for Chinese-related topics are listed in the box uhder the label �在)^匕

區的朋灰� . S t u d e n t s can also switch to other discussion area for extracurricular

topics, English-related topics and Mathematics-related topics by clicking on the radio

buttons〔錄外活動〕,〔其文科〕and〔數學科〕respectively.

71

r課外趣誌

_ % I ^ 保帳 ^«« - I r英文科

te _ 趋 融 _ . 3 广 綱 8學甲> 究孥,嫌兵%#少個弟子?

<>:jr ‘终 在此脑朋友

‘ 讓 [ i r ^ ,<¾*¾ > ): •

: i i a ‘ x^ c、

i : a -y a a s t t i a i i a i i i s a a i a s i l . : 您的訊息(中交科) ^

.. JS =5r>:i'.': *wi3 Z*

Figure 5.11: Simultaneous Discussion on Chinese-related Topics

5.12 Educational Television for Students

To watch educational TV, students can click on the i t e m � 錄外趣後 � i n Figure 5.2.

Then, a new window comes up to televise the program. They can start the TV, stop

the TV and close the window by pressing the b u t t o n s � S t a r t �,� S t o p � a n d � E x i t �

respectively.

Figure 5.12(a) - Figure 5.12(d) show a sequence of snapshots of the

educational TV. Figure 5.12(a) shows the educational TV on Chines-English phrase

pa i r s� '<5、腸好 I kind hearted),�全心全意 | whole hearted),-〔傷‘^ 〜欲絶 | broken

h e a r t � a n d � ' 、倩姐喪 | heart s i c k � . Figure 5.12(b) shows the educational TV on

Chinese phrases�费盡'ci�*�,〔工於<1、計〕,�<i�中有數〕and� '<:1、算�.Figure 5.12(c)

and Figure 5.12(d) show the educational TV on Chinese t e r m s � 会城湯池 � a n d � 湯

藥费�respectively.

72

y ^ j ^ m i ^ m n y ^

^ | ^ ^ F ^

m . :、.^^^ ‘ :B^^^^l^ff lQ^^#^ ^ : ^ B E j ^ ^ ^ ^ ^ S j ^ ^ ^ ^ M ^ f e g ^ k j ^ ^^ ] B f S^^^^^^^^V^^ ilfe ; B i M ^ i i B S P ^ P U I ^ : 2 2 ^ j | m g | | | ^ ^ | j j ^ H I ^ ^ S ^ ^ ^ H |Warning: Applet Window

Figure 5.12(a): Educational TV on Chinese-English Phrase Pairs

|^B6B3BHBSBBHtflB8BBMHZ>sl2sJ

: ^ p

: K ^ ^ ^ ^ f i ^ B S g g g g ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ K ^ ^ t o ^ ^ [ ^ ^ ^ ^ |

|Warning:^plet Window “ ~ 1" … i'liiMMi i—Til

Figure 5.12(b): Educational TV on Chinese Phrases

73

H S B 9 H B K M ^ ^^ mBM l ; ; , ^ f f l ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ n ^ ^ ^ ^ ^ ^ t ^ ^ ^ ^ H

|Warning: Applet Window

Figure 5.12(c): Educational TV on Chinese Terms

HiHHHHBBHE@l

n ^ ^ p ' ^ w

: M n ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ H j ^ ^ ^ ^ ^ ^ [ ^ ^ ^ ^ H

|Warning: Applet Window : , “ , ^ ^ j S g T ' :

Figure 5.12(d): Educational TV on Chinese Terms

74

5.13 Flow of Services for Students

Figure 5.13 summarizes the flow of services provided for students and organizes all

the snapshots shown from Figure 5.1 to Figure 5.12 in a tree-based structure.

Login Dialog tc^^ut, ^ Box for Siudcnls I . r ' .^ |

—*•Mttn、:.':.,:.'.. . **—*"**!85?* ftiiM;:;. H 3

I :厂 ™ Higurc5.1(c) **wew*^gNM m^kmtitit^ ,'; v_fcW; tC.f W>. ^ S ik

Figurc 5.1{a) 二 脚 /

^Zm--'—..:. Unauthorized Students “

A u t 办||||| ^|2|" m «.

Figurc 5.2 y « • g

k;i“.:” :•‘.. I :::+ ..i"i f"""'-i""":i i ^ m i t i i . � ( |::ii.;::| Figurc ‘ -0K. j Figure ..«. I Figure >' *•»' ' Online i ^ ^ ^ | i Figurc _ 藝

5.11 I 5.3(a) 5.10 . J TV i ^ ^ ^ ^ | | 5.7 丨一、:……'。i - • ; : I | - : :.一.1 Player i ^ | | ^ | 卜-,-.「了-|

7 ~ ; ; “ “ ^ = ^ .) | : " | . j • ‘ �

Figurc Teaching Maicrials for Tcaching Materials for I 『 ' j ^ 1 1 | ^ " | '^^/ | 5.3(b) ’一 — Sccondary 2 Studcnis Sccondary 3 Sludcnis 丨 ^ | | | | ^ | ^ 丨 _ •舌 |: - ^ - - - '

*** • ^CSm^ ^E[rj|3 ' : ,S_‘wjw ,一一«»“《~-» Jts^:^*:---

i 1 B S K I P ^ : ; Hgurc 5.8(a) Kigurc 5.9(a) | 广 ^ ; F igurcf i . l2(a): ’ ‘ ’ '

i ,' _ _ i _ i : i \ \ rrr^—~ r r r ^ i I'l'ii!! 'I |iiii y||iimi ^^^0090^^^ i ‘ M W m i P M P M ^ • T; *•"•*""" | i :i-r.-V---* 一

i _ “ 》 r :„„ Mcnu for : :— „ m \ \ | - . • [ � j | t | |; :¾-;-:Chincsc :... r English :二 ! I ^ J j f e . 1¾ , . -a - . f . >»•« • i Chap.ers ^ Chapters ^ ^ - ^ 卜,丨“•:__"_"_;"| i P j ^ j ;^;^^" H i u r c S . S r !

Figure 5.6(a) i ; H H | P ! ! ! Q i • ; ; ‘ ‘ | r * \ f ^ N ;; i ^ HgurcK.i2(b) | = i;… “1: — I i i 1 i f • ™ u „ ^ i i 、’ i j ^'--*- :: £:——

pii iiiilfi;jiiiikiii|Vi M p n r ^ i p p n m mpfmWF^mmm f m m i m m ^ m • : : g m m HHBH I i — •‘ 、一

:广权;1:',丨.)�.• ‘ I i fc^ ci ^1 i M: .. _ ‘ -. ~ Uy ::' '•"= ;i|;,lM, {••'• 3--;;-. t:v, —•. : i l''felJf>l^ " 1 i :,一~....‘-一一.-- ‘二..》"• •

'“身丨“‘丨.:-.. -'-...." ^ •. •'••::.. •:. """"g丨丨丨丨丨丨丨"丨'二‘‘ i i l r j U | | ^ | i ; Figurc 5.8(c) Higurc 5.9(c): P"••""""'•""'""-""1 - >..,;.者 *n ,“ 了 •> in - - - i?*1 Kigurc 5.6(b) i : K ^ ^ ^ ^ ^ ^ I

I 卜.丨叫-*>._ f-igure].V4(c) Higurc|5.5(a) Higurc|5.5(d) 、• 丨 111¾¾! 1 Rcsion

: r _ _ p ^ _ p J ; _ p ^ ; _ n ^ ; 网 . _ I — CT' • 編 — ~ -" : ’ i ‘ ” i i i iBg ':g - - ::..— I 1^9*¾ I

1 ' - " i : -• « **" - ; . . : . . : : ; j M - ] - '2 :,..i,, _ higure S.6(c) K j y H & K i Higurc|5.4(b) Higurel5.4(f) Figure|5.5(b) Figure|5.5(c) E ^ ^ ^ ^ i

丨 : i : : . ] •::::>" I -=-".丨:丄. FigureHlilii I 'yKBl'l:l>'lft: _“|……‘ ./.¾ 丄:。 丨 I : »•••_•• I *< M-Hl> I « * • “ *•" • _ . j

!•!•••III_丨丨1丨II丨丨丨丨丨i|niiiiii, iiiiMiMiiiiiiiMiiiiiiii ― ― - . - . - - - - - - "—---.• 一、^ '-…Region 2 ••-

Higurc 5 .4 (d ) Higurc 5 . 4 ( h ) F igurc S.4(c) Figure .V5( f )

i

'••• Region 1 ••••' Figure 5.13: Flow of Services Provided for Students

75

5.14 Services Menu for Teachers

For teachers, after entering SIS, the menu shown in Figure 5.14 is displayed to them.

There are four choices in this menu, which are:

1. discussing with students ( i t e m �讨 * 區 � )

2. preparing teaching materials ( i t em�錄文〕 )

3. preparing test papers (item�进!1驗〕)

4. reading extracurricular materials ( i tem�錄夕卜赵故�)

The snapshots of discussion area and educational TV for teachers are the same

as those for students, which are shown in Figure 5.11 and Figure 5.12 respectively.

rntrni^mmmmmmmmmmmmm • . I ;"〕!;f'irT.,.i〕〒]iii|!”;jr-|:|:”ii”Hiiir”|.,ii々 ?f"P_TT i' ^ ‘ • 、, ,,: •‘門,.",—,,,,

吃論區:丨二,, ^ ¾ ¾ ^

% i i : � : 哪 Discussion Area ' Test

,文.,.〒.::: 課外趣談

: « : , 議 ReadingMaterial lnterestingTopics

jjl iliillilllliill lllilijiii ii jiiiii ^ imjjiijjjiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiii iiiiiiiijiiiii jii ji mji

H o ^

Figure 5.14: Service Menu for Teachers

76

5.16 Teaching Materials for Teachers - Chinese

To manage the teaching materials, teachers can click on the i t e m �錄文〕 i n Figure

5.14. After that, as shown in Figure 5.15, another menu is displayed to them. To read

the teaching materials, teachers can click on the i t e m �觀看錄丈� i n Figure 5.15. The

snapshots of reading teaching materials for teachers are the same as those for

students, which are shown in Figure 5.3 - Figure 5.6.

i w i m i M H

觀看雜文、::::::: 課 ^ 寫 - .

, , 詹 ReadText ^ 2 ^ 丨

| | j | | ^ | i l l l l ^ j l ^ l l g l ^ j l l j l l ^ l l ^ ,

H o , 輕

Figure 5.15: Menu for Teaching Materials

For the preparation of teaching materials, teachers can click on the i t e m �錄文

編禽�in Figure 5.15. Afterward, another two menus, which are shown in Figure 5.3(a)

and Figure 5.3(b), are displayed to them in sequence. These two menus are classified

by academic levels and subjects respectively. Teachers can choose a relevant level in

the menu shown in Figure 5.3(a) and choose a relevant subject in the menu shown in

Figure 5.3(b).

77

5.16 Teaching Materials for Teachers - Chinese

Figure 5.16(a) - Figure 5.16(d) show four snapshots of preparing Chinese teaching

materials.

Figure 5.16(a) is the front menu for managing four Chinese chapters entitled by

《黄务》,《备飛之少年時代》,《背彩》and《早晨’好大的霧河》.Teacherscan

add new chapters, delete existing chapters, modify existing chapters and rearrange

the order of existing chapters in this menu by clicking on the corresponding icons.

Figure 5.16(b) shows the scene where there are two (or more) concurrent accesses to

the c h a p t e r �背彩� . F i g u r e 5.16(c) and Figure 5.16(d) show the editing environment

for teachers to manipulate the Chinese chapter�备飛之少年時代》.

Teachers can change the title and call number of the chapter by modifying the

content in the boxes labeled b y �錄文標題:� a n d �次存:� r e s p e c t i v e l y . They can

also modify the text of the chapter by changing the content in the box labeled b y � 内

東 : � . T h e Q&A Section of the chapter can be manipulated in the boxes labeled by

� 問題: � a n d 〔答 * :�incorporat ing with the icons labeled by�上一題〕,〔下

一題〕,〔決走〕and�清除�.URLs and descriptions of the multimedia data files in

the chapter can be entered in the boxes labeled b y � URL1:�,� U R L 2 : � a n d �闲片:� .

Finally, teachers can confirm or cancel their editing by clicking on the i c o n � 決

走〕or〔取消〕respectively at the bottom right corner.

78

f i _ i , , i i y j 5 s W W P " i i ‘ � � " " W P W i i w P " ^ w ^ I 'I |丨‘I" «1 - T ^ ML, •••'"' • •

中國語文科 己栽入11交 卜署餐:! •• :.~"^'y'""^"'ai!|| » ' |E,~~^"^"TT^

^ ^ ¾ ^ - 脚 ‘)、-':、.>,^;'.、押"

7 : 會 " , 1 _

0 ^ 新 課 文 ^ ^ 课 文 ^ ^ 課 文 运 丨 诛 次 序

_ ^ _ _ _ _ _ _ i M h M l l _ ^ _ ^ _ _ _

^p 衡 舆

Figure 5.16(a): Menu of Managing Chinese Chapters for Teachers

醒 冒 _ 穩 _ _ _ ^ ^ ^ ^

•’ 中國語文科 己截入》文

l ^ n H ^ ^ ^ ^ g ^ ^ ^ ^

l i i l ^ s * — fi_iiiiWfes: l"Sv斩課文^^^:課文.感、:¥又-¾ 'ii次序

——:.•. • “ - •... -• r^>«‘ - - - •“ ^ M ~1础

鍾1丨丨丨1•-』!-"•-----U“一[--丨丨丨“_-:一邏一 -

^p m'' Figure 5.16(b): Scene of Concurrent Accesses to Chinese C h a p t e r �背彩�

79

: M B a p S B H M H H H l Q ^ i課文械題:1基4之^^^0»代 次序:户

: - M p g p i _ _ , 酵 縣 転 I

’ 鞋 同 魏 ; ^ ^ ^ 驟 總 ― • p i l ? ; i g ? ^ t i ^ M i i i : i i 紹 不可黑? J <--X

:•;、、•; 、^:¾

£] i 龍 . |i怍者說岳飛「少叙最祐」’交丰1«些亊播11^观明他^1

' ^ ^ ^ • 這種特《4? •

: : 答 衆 : , _ 縦 _ 謹

上 一 題 下 一 題 決 定 清 除

圓片: |永暴里‘m^M^E 4' ’ _ _ T ‘.... URL1 .|hUp ://java .cse.cuhk .edu.hk :8080/edpj/server/FlChil&.JPG

1备掩基正圾 ^

URL2. hUp://java.cse.cuhk.edu.hk:8080/edpj/server/FlChilb.JPG |

決 定 取 消

|Wamlng:AppletWindQw ““ S ^ ^ ^ & : ^ ^ ^ ^ |

Figure 5.16(c): Editing Environment of Chinese Chapter《•^飛之少年時代》

80

m p S f p W M M M M | ^ l ] [ ^ 丨 ^ 次序:[2 .

: ; “ * 1 !| 寂、 I 未幾,同死’飛悲糊不已•毎値朔望’必具酒肉"#

’詣同基’寞而泣;又弓丨同所賠弓’發三矢,乃酵_ 2知而義$,撫其背曰:「使汝異日堪爲時用’其狗 - a _寄蒙〒广」應曰:「惟大人許兒以身報國家,何亊•-.."?

, ....-,辟

• 丨 問 題 : p p J i i l l i P i M ^

‘ : 答 案 : p p l P S i f ^ i i i i ; r z i 能否1國家拐睡‘爲正義而接牲_ ^

1 :j 上 一 題 下 一 題 決 定 清 除

圈片:|水《至,母姚氏抱飛坐巨《中’衡》赛流而下,....

ypL1 [ ttp://java.cse.cuhk.edu.hk:8080/edpj/server/FlChila.JPG

:丨: |融正磁 :

;! URL2. hUp://java.cse.cuhk.edu.hk:8080/edpj/server/FlChilb.JPG

決 定 取 消

fening:^pletWindowL 々 ^ ^ ^ ? ) :

Figure 5.16(d): Editing Environment of Chinese Chap te r�善飛之少年時代》

81

5.16 Teaching Materials for Teachers - Chinese

Figure 5.17(a) - Figure 5.17(d) show four snapshots of preparing English teaching

materials.

Figure 5.17(a) is the front menu for managing four English articles entitled by

"How Can We Save Paper?", "The Hong Kong Dragon Boat Festival", "Building a

Bank" and "Testing Material". Teachers can add new articles, delete existing articles,

modify existing articles and rearrange the order of existing articles in this menu by

clicking on the corresponding icons. Figure 5.17(b) shows the scene where there are

two (or more) concurrent accesses to the articles "The Hong Kong Dragon Boat

Festival". Figure 5.17(c) and Figure 5.17(d) show the editing environment for

teachers to manipulate the English article "The Hong Kong Dragon Boat Festival".

Teachers can change the title and call number of the article by modifying the

content in the boxes labeled by ( T i t l e : � a n d � Text no.:�respectively. They can also

modify the text of the article by changing the content in the box labeled by

� C o n t e n t : � . The Q&A Section of the article can be manipulated in the boxes labeled

b y � Question:�,� Choicel :�,� Choice2:�,� Choice3:�,� C h o i c e 4 : � a n d � Answer:�

incorporating with the icons labeled b y � Previous�,� Next�,� C o n f i r m � a n d � C l e a r � .

Finally, teachers can confirm or cancel their editing by clicking on the icon

� C o n f i r m � o r � Cancel�respectively at the bottom right corner.

82

_ i i p i i p B i i ^ j p ^ R ^ a s

Text loaded h mCmim6rnPMm , ,te&,.';‘

^ P i r ,"i': _ • _ ! _ _ _

^ A d d ^ ^ ^ l e t e ^ i l i t j ^ i ' - ange ^^TOtcriol ^ rrfetenal /WQter\o\ ~ W^der

_1麵^^^ . ' 」 二 - 1 一 : : 丄 』

H o , * k

Figure 5.17(a): Menu of Managing English Articles for Teachers

pipppfl^*wp^jjj|||^|!|*"*^^*^^"^

.' Te_aded

p i a s i i i i i b o 靈動薩圓糧 3. Building a Bank ’丨::丨彳丨/?"" ^ 、 “ 、 " : 、、丨

— i _ 麵 _ —

^ Add ^ r ^ c l e t e ^ ^ r r @ " a n g e ^m!otcnai m^tenol / ^ a t e r i d —ijrder

I). ,,j. J,jy|||]|||||j]|I| .aJ 1,1 1 11, „ .| .|l,Mji|,,,| 1^ , 1_ , , ,;.,.:,.,,.:.';•: 、:,:,. ••. ^ .••>• ::.、 . .,;;,,,.... ’..’. ... . .•,:’,:。」

^^ * k

Figure 5.17(b): Scene of Concurrent Accesses to English Article "The Hong Kong

Dragon Boat Festival"

83

:EissHHiiBBgjmmniiimi mBin i2Bf T j t | g : p. The Hong Kong Dragon Boat Festiva T e X t HO • p

/ ^ n n + i > n t ^ Every year, Homg Kcmg has a Dragon Boat ^ 1 U U n I ^ f l I • Race. It is a colourful arwl nosiy event. The air ^ ^

is filled with the souT)d of drums beatitig ar>d people cheeriTig.

"Dragon boat racing is a very popular sport these days," said Henry Tam, a member of the team. "Competitions are held each year im Australia, Canada, America at)d Asia." I

魏 1

"Hong Kong invites teams from other ' ' : . countries to take part in the competition," he 漆^ said.

:i. The festival started more than two

thousand years age, between 475BC artd 221BC, im C h i m . A poet named Qu Yuan became upset wheTi he discovered that some of the Emperor's men were " dishonest. He decided to kill himself. He jumped _、• into the water in Human proviTtce. • |

— • • < M M M M J

G ^ U e S t i o n : | l - The Hong Kong Dragon Boat Kace is held ...

Choice1: |A) in Australia.

Choice2: |B) every year.

Choice3: j c T i T c M ^

Choice4' jD) in Human proviiice

Answer: P

Previous Next Confirm Clear Conf i rm Cancel

|waming: AppletWindow

Figure 5.17(c): Editing Environment ofEnglish Article "The Hong Kong Dragon

Boat Festival"

84

: l ! m H p H M M i m a H ] T j t | g : |2. Tte Hong Kong DragoTi Boat Festive T c X t f l O • p

/ ^ n n t i O n + ^ Every year. Hong Kong has a Dragon Boat • u U r l I c r l I • Race. It is a colourful and nosiy event. The air « . .

is filled with the sound of drums beating and people cheering.

"Dragon boat racing is a very popular sport these days," said Henry Tam, a member of j| the team, "Competitions are held each year in 1 Australia, C a m d a , America and Asia." i:.. !

"HoTig Kong invites teams from other — • countries to take part in the competition," he said.

The festival started more than two thousand years age, betweeri 475BC and 221BC, in China. A poet named Qu Yuan became upset when he — discovered that some of the Emperor*s men were dishonest. He decided to kill himself. He jumped ‘.j imto the water in Human proviTtce. • |

G ^ U 6 S t i O r i i 2- The festival begaT) ... !

ChOice1; |A) a few years ago. I

Qhoice2" |B) more than two thousan

Choice3: |C) in Hong KoYig.

Chojce4. j D ) about two hundred yea

Answer: P — Previous Next Confirm Clear

Confirm Cancel

|Wamlng: AppletWlndow

Figure 5.17(d): Editing Environment of English Article "The Hong Kong Dragon

Boat Festival"

85

5.18 Tests Papers for Teachers

To deal with test papers, teachers can click on the i t em�测驗〕 in Figure 5.14. After

that, the menu shown in Figure 5.18 is displayed to the teachers. There are four

choices in this menu, which are:

1. reading existing test papers ( i t e m �觀看斌春� )

2. checking test results ( i t e m �测驗結杲� )

3. preparing test papers ( i t e m �试卷編製� )

4. modifying test questions (item〔修改題目〕)

The i t e m �觀看武卷� i n Figure 5.18 is for teachers to read existing test papers,

which are the same as those for students as shown in Figure 5.7, Figure 5.8 and

Figure 5.9.

BI ^ ^ Pl ^ |j ^ ^ H ^ ^ ^ R B ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ B I

觀看試每 測驗結果

_ m :“"ViawTestPaper TestResult

試^^^:;/:‘ 修改題目丄;

A H Test Paper Preparation Modify Questions

Hii i j j l l i l l l j j i l l l l j i j j l^ l l j l lmi j i l i i^ i i i i i i i i i i ^ i i i j i i i i ^ i i i i i i i i i i i i i i i i i i i ^ i j i i i j i i i i i i ^ i^^mi i i i^^ i i^ i^ i i^^^

, * » <

Figure 5.18: Menu Related to Test Papers for Teachers

86

5.19 Queries for Teachers

Teachers can inquire for the test results of a particular student or all students of class

by clicking on the i t e m � 测驗結系 � i n Figure 5.18.

Figure 5.19(a) shows a sample output of inquiring for a particular student by

first clicking the radio b u t t o n � O n e � a n d entering the usemame of the student in the

neighbor box. Figure 5.19(b) shows a sample output of inquiring for all students of a

class by first clicking the radio b u t t o n � A l l � .

PlfflfflP_—fPififflfPWWfflWP**PlffipWPP!^Bf®® *®**5*®*WW**********P®***®®^* *®*** ®®****®*®**^**^ ****** TestResult

Q A l l ( 9 On e s a p p h o

Mak L a l Kiien ‘ . j 1 . Eng Easy Wed Mar 25 57 14 ~ ~ 2 Eng Easy Sun Mar 29 100 0 3 E n g H a r d W e d J^>r 2 2 3 0 4. Eng Fair Hed Apr 22 50 5 Eng F a i r Thu Apr 23 40 6 Eng Hard Thu Apr 23 15

_ H ili "Y'" r. s,fc,i..r.r.>,-,'- '.:i. !M->,、i.,1-.>-.:->' ••• '• '.,-.-.,-.,-.,r. :,j,,- •. •. -.,-. , ... -, .._..:.-.»> ;.•• -.,;..!- v.>i r •.,••.;•.-• ,.,. ....• . . • •.- ^ ^ ^ '-^.;, i!iJSSt.'ji;SS:S :: ;•;;•;"- :;:' :'-:;:f,:;-:-:-:/-:;.-:-: :.::::工• ._:':..:.:::丨:厂:,‘二::丨:5;;_:‘. :..:..>:.. . ;| !•-

fcwwniwj... • 1- •.>.'1.^.MsHu..K.u.i-.i-.>,.>.h*.KV>.v.-n,...;.„..:..1..¾. •-.... ,^. K;.,-.>.vJ..'|>.:.-.h.J..{i^.'.jHio..i.^-.tJ-->i-.fc.fc>.v.fcii-.Li.,t^K...j.i-.^^.«..:-.-- :j^..•», .. . ---,vI^u, MMMMii

l l l l l j U i l j m i l l l l i m i l j j l l j l j H i i i j i i j i i i i i j i ^ j m i i i i m i m m m i

H。, * k

Figure 5.19(a): Sample Output of Query on a Particular Student

87

nmj jf ^^B^^^^^B^^^^^^^^^^^®^® TestResult

保 A l l C : One p

|Yiu Yue Tak ^ 1 Eng Hard Mon Mar 22 3 5 . 0 5 2 . Eng Hard Wed Apr 22 40 3 . Chi Hard Wed Apr 22 100 4 . Eng F a i r Thu May 07 10

Ng Wing Yan

H a v e n ' t done any T e s t !!

Fong Yiu F a i 1. Eng E a s y Thu Mar 25 60 24 _ J 2 . Chi F a i r Sun Mar 29 70 52 3 . E n g H a r d Mon A p r 1 0 . 0 j j J

i i . . : . . 2 j MWMMWl .. ., '.':KVli;V^i.'*;i.i.-i.*:i;:f.:i.>:HM.i^r.;i.'i.!ivt.'i V'-;f»%V'i.:^rj:;i.V;rA-;t,V:f.|<-':.S*l-:fi.^*h'i:N!fciKlr;..'(;-. '|.V>V".*K;..-,.V *: - ;:'- VVi^ -. -....‘•-. . ;- J,'.,>--.t.l."ijfcV-.-.-- - «kMMMH'

i n ^ i i i i ^ ^ j i i j ^ ^ i ^ i i i i i ^ ^ j i i i i i i u i n i i i i ^ i i i ^ ^ j j ^ j l l j j j j j i i i j j j ^ j j j j i ^ ^ ^ ^ ^ ^ i m i j i i i j j j j j i j j j j ^ ^ ^ ^ ^ ^ ^ ^ i ^ ^ ^

H p � * k

Figure 5.19(b): Sample Output of Query on All Students of a Class

5.20 Preparation of Test Papers for Teachers

The i t em�域春编製〕 in Figure 5.18 is for teachers to manufacture Chinese and

English test papers.

Figure 5.20(a) and Figure 5.20(b) show the editor for teachers to create new

Chinese test papers. Teachers can decide the number of questions in the Chinese test

paper by choosing in the set of radio buttons under the l abe l�題目數目:�.They can

also adjust the difficulty level of the Chinese test paper by making a selection in the

set of radio buttons under the l abe l�題目雄度〕 .

After making selections in the two sets of radio buttons, teachers can pick up

proper number of questions from the store by pressing the b u t t o n �随機抽遴� . T h e y

can further confirm the set of selected questions to be used for the Chinese test paper

by pressing the b u t t o n � 製作试春 � .

88

^^^^^^^BBP^^^^^^^^^^H^^^^^^^^^^^^^®

親目數目: 題目難度:

(9 10 m 15 _ 20 ( i 高 級 r 中 級 r 初 級 Ann,,jy •» jw yt» M V r* * f 八 *0 j> i^*

•:厂:“綱,,、當会 隨 觀 • •^ 丨_作書_如_ "二. 2_值油和『、‘_ ,np ,i 4,Ari iiij fiwy. • I

• 4 W H * J

.;“:?

H i] ���� 、一,、、》 ^>..v ^ 、,�:-�:• K|

lnill“丨丨丨J Ii J f C - ^ N> <MMMMJ

iiiiiiiiiilii i ijiiiiiiiiiiiiiiii i iijliiiiiiiiijiiijljlijljijiiii ljjjjjjjjjjjjjjjjjl ljjj ^ j j jjjj jjjiiiim^

^p 0tT' Figure 5.20(a): Editor to Create New Chinese Test Papers (before manufacturing)

^ M H ^ ^ ^ W P ' ^ ^ ^ ^ ^ ^ ^ ^ ^ * * * * ^ 5

親目數目: 親目難度:

评1 0 r 15 r 20 r高級(》中級r初級

. . 遍 _ . - — : ― — 丨 1 1 . 小婿行發^ m m T j

* i . d 5 : 糧 1 ^ ^ 縣 聯 — ^ |||y|jHK'S|M Ml- ! u! I-! ••'••!> Iy|. KKK |-'|.>'|--1-. |''||'|'' - -i |'* ^^ ' "s*-*''-. 'lv:.J , ,. sr . ,二“二二二_二,一. ,r:i.'..'i.r.."__l"r.- — '!i'fct'!;-;:.'.- -.-" • • .: f l " '^" ' i !8Wii!!-;:;? ..;

^^^*.M**WshM*****Ai .-i-.i><iii<.i<iiNi>.Ni^>#<MMiMi,fcit*l.*>Nfc'i ,'.^.i-->iJ>fc l»>l>,M-.hrti,li.>i.iM»wNrt.. h*.h,fcA.>ifciV .>i.h,li,^i,K h*.»> >iM... r..-~M: .UT^t..' .,.s,-.-,:,-.-,、...,.‘ -r.-rimltmmm,-,->-....:

| | | | g j J | | | y | | g j j | ^ g g | | g g | | g | | | | ^ ^ | | | ^ ^

^p 餵 : 3

Figure 5.20(b): Editor to Create New Chinese Test Papers (after manufacturing)

89

Figure 5.20(c) and Figure 5.20(d) show the editor for teachers to create new

English test papers. Teachers can decide the number of questions in the English test

paper by choosing in the set of radio buttons under the l a b e l � Number of

Quest ions:�. They can also adjust the difficulty level of the English test paper by

making a selection in the set of radio buttons under the l a b e l � Level of Quest ions:�.

After making selections in the two sets of radio buttons, teachers can pick up

proper number of questions from the store by pressing the button� Select Questions�.

They can further confirm the set of selected questions to be used for the English test

paper by pressing the button [ Make Test Paper ] .

jj|| ^^^jni^fljj|pj |jj||j|jjjjjj|jpjj^^^ | ^(^^^^^^(p^^^^^^^^^^^^^^^^^^^^^^^^^p

Numb er of Que stions ; •• Level of Que stions:

保 10 � 15 € 20 ( 9 Hard C Fau- C Easy

_ l K i i i t 遍 加 她 I •

__".4

f

4 f\ •"" II"''丨格.-V!iii>;.- Sf! i:W3.:,ft,S:Mft ^ ^ .. •• £:::; .::, ;j;iit:‘ir;“.AS%^^ ,“:::..,‘ ~.:»; .:. iii_; iiii i1 ‘...:

nmjiigiiiiiiiimjijiljgi yijmmmijiiiiig mnl mmumjijiijj|ijiliiliillijijiiiliifiiiiiiiigiijiljiiiggiiigjgjggggjggQgg ^

H o , 叙

Figure 5.20(c): Editor to Create New English Test Papers (before manufacturing)

90

^^^BiBIWli^^l^l^^^^JJ^^^^®®^^^^^^®

Number ofQuestions; Level ofQuestions;

• 10 ( i 15 r 20 保 Hard C Fau- C Easy

j E l ^ i i 一 - I 4. She is about to on hohday. • 5. ffI had lots ofmoney, I would give some chanty. 6. He is about to a bath. ^ 1 7. Mei Fong cleans teetii twice a day. «~^ 8. The record is Whitney Houston. 9. He is not very good singing. • |

iX … 'Ff"^ LiiiiiaiiMtt.:iiV.' .-..:..;-r*!i.Vi':i:-i.....,..i.i-...-....-. • • • 'i'-i:'(>:.-i6.;i;v'.:--..-, .,;-V'.Vi->v.. . . . * * J :

yilll|llliljiyiliyU|jiimyj j||mj||||jjQll Q|j Qj 2jQ23l jQMSi3SSSttSttSSBSI iSS ii MM^ ^MHM H H I H H W H H M

H o , 輕

Figure 5.20(d): Editor to Create New English Test Papers (after manufacturing)

5.21 Modification of Questions for Teachers

To modify stored questions used for test papers, teacher can click on the item�修0$^

題 9 � i n Figure5.18.

Figure 5.21(a) shows the editor for teachers to insert new Chinese questions.

They can adjust the difficulty level inside the set of radio buttons beside the l a b e l �題

0 雞度� . T h e b u t t o n s � 消除 � a n d � 確走 � a r e used for them to cancel and confirm

the questions entered by them. The content and answer of each question are typed in

the box under the l a b e l �題 H 及答素 � .

Figure 5.21(b) shows the editor for teachers to delete existing Chinese

questions. They can selects questions with a specific difficulty level using the set of

radio buttons beside the l a b e l �題目難度� . S e l e c t e d questions are listed in the main

box under the radio buttons. To remove a question, teachers can highlight the

question listed in the main box followed by pressing the button�删除以上題目!〕.

91

_ | | | | ^ 瞧 醒 | 譯

•丽 I I j q ^ j

思目》^: < ? 高 級 • > 中 級 f ^ 初 級

丨产.碰……^:—………:…I 想目及答案:

r ~ ^ . ^

; • |, I 1^1 , -:-;"|':;;>:;.S:^^ :::;¾::::¾¾:;;:(,*^ ;: 了,::: :-: y'-^f-^ ‘::�ffi.:...- -•�{j - •• •:.[,丨[:I ‘

i i i j j m i j i i i i j j j i j i i m i i i i m i l j i i i i i i i i j j i i j j i i i j i i i j i i j j j i j j j j m i i m i i i ^ j j m

^p m ‘‘ Figure 5.21(a): Editor to Lisert New Chinese Questions

PSIBf ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^®^®^ ^ ^ ^ ^

. ~ t ^ ^ ^ I「 s s I 思 目 》 度 : 0 萵 級 ( 9 中 級 C 初 級

P ^ ^ ^ 5 S ^ p ^ ; f ^ f ^ 5 : 興 5 ^ 肩 _ _ _ 誓 , * ? P,..«!iii^i^g^f‘�if:—‘“'•';“�^--m<--^--^jil

‘ “ � . � ’ �: : . “ . ' “ ^ .�. — i i u ] i ^ i ! —:—::::r;::— • . _ . , • _ , ... , : . . . .. . . • . . • •

i^vmiWrtffrnrt-i"-"itifytf'fymvTi-f"-r \^iTi-m"-vvv'\••…i-rrvfTrvr-rrri-f•••••f ,-v-r•••••; , - r 7 r r t m r r i

«除想目: ^

I H l H I I I U j | j j j j l l ^ j ^ i i j l j j j i i i u i i i i j i i g i i i i i i i ^ i ^ ^ ^ ^

^p • “ Figure 5.21(b): Editor to Delete New Chinese Questions

92

Figure 5.21(c) shows the editor for teachers to insert new English questions.

They can adjust the difficulty level inside the set of radio buttons beside the label

�Level of Quest ions:�. The bu t tons� C l e a r � a n d � Conf i rm�a re used for them to

cancel and confirm the questions entered by them. The content and answer of each

question are typed in the box under the l a b e l � New Questions & A n s w e r : � .

Figure 5.21(d) shows the editor for teachers to delete existing English questions.

They can selects questions with a specific difficulty level using the set of radio

buttons beside the l a b e l � Level of Ques t ions�. Selected questions are listed in the

main box under the radio buttons. To remove a question, teachers can highlight the

question listed in the main box followed by pressing the b u t t o n � Delete the above

Ques t ion!�.

Pj||pp^||^PPffPPiiiP|PP^PPfPiiiWiiiiiiiiiliPiPiili!^^^^B^^Pi^^W^W

:Make Questions INSERT U DELETE

Level of QueKtions: (^ Haxd f:: Fair (8* [Ea |

.‘ M — .. I Hew Question & Ansnfex:

Question: ,|

i l — ::::::: — _ — j j ^

" il'ilillOlliilllilflllilllliiiil'iiir ^ ‘ ''-- '-"- ' •‘ .仏:.1.—..二-.-一“' . . ....... , ••

llilliljj|||||^j|^j|^l^^^{||^lliyyil|j|iy^l^||||||jjyj|^|m|^jjg||^l^y||||gjg|giyjllj^j^^|^yilj|j||^^^lgj|j|g|j^^^l^^^^^i^ill^^yy^il^ijl^^j^lljgii^^iiyiij^i^^jii^ij^iyyim^j^^

H o , * k

Figure 5.21(c): Editor to Insert New English Questions

93

PPPPPPP|^^piBWPiPipppij^jf*pp^pip^^^w^^^w^^^^^^^^w

Make Questions INSERT J J DELETE

Level of Questions: <f Haxd {S? Fair 广 Ea«y f r ^ j j r _ . a M w r t t r : : ^ l ^ , : _ _ , :: :. . 'T;rM8i^T] 3 E S B E 3 S 9 B 3 P H H B S S 3 I H H H H H H M t z j 9. She i» ahout to a lettex.^j^^^'Siv^^-W:^™^ -• 1 i n T h i - v a r r ^ K m i l " ^ ^ ^ " ; ^ B j ^ 4 n n P ^ ^ ^ ^ g S ^ " = : : . : _ ; _ g

LlJ___Lm f i P B ^ r , , ^ % M l f ^ i J J | | S l , | ^ Pel<5te the ^ove Que tiont .

Deleted questions;

ifliNMiiiiMHHKHKHMIHIMHIMHiiHBH9ifltlHHMMllHtlKHI MI HI H o , „ * k

Figure 5.21(d): Editor to Delete New English Questions

«

94

5.22 Flow of Services for Teachers

Figure 5.22 summarizes the flow of services provided for teachers and organizes all

the snapshots shown from Figure 5.14 to Figure 5.21 in a tree-based structure.

Login Dialog Box ^ ^ w t l ^ ^ ^ " ^ . for Tcachcrs Zi' ., \

mmmm^rrji-x mmm^mM r = ” • • I -:工 ™| Figurc 5.1(d)

Higure5.l(b) : : : • ! ^ ' ^ ' " T."n...;-:^. .:l~Unaurhvrizrd Teachers ..

AulhorizftTracfifrs Q. «

Higure 5.i4 ^ jg

r ~ ; ~ ~ r ~ ^ ~ ^ L.. !«•«?":"."''-• 湘 曲 Kegion2 hgure , .*.,., Figure « 冊 i nF igu rc5 . l 3 Higurc .¾ g S.I1 5.1« .® iSL s M “

»,.i »1 - • • I • . - • •'' - * . . - ,

厂 J ~ n r ^ ~ ^ ^ “^ ; Rcgi()n 3 1 _-% ;| Region 1 |

拽.服 inFigurc5.13 魄拽 if ^ ‘ ; in h'igurc5.13 Figurc „,,„11 : > 5.Ma) -

“ - ' — 二 :'1:_'1 - ‘ 1 - —

Mcnu for Subjccls Menu for|Subjccis HigureK.19(a) 1 ^

i > _{ } | J | : | 厂 ^T^ ^

1 ¾ ¾ | « ^ 1 p 2 q | # i ^ | _ : : i Hi,.e n ^ ^::::;;;r t ^ r ; ; ; r m,"_MV I '-‘,丄二•— ‘ "• •* 厂.:::•> I - - S..1(h) '一 — MaicriaU Materials • .丨-_ •* . “ -. 1 Figurc 5.l9(h) __•'!'•""*•"?""'• Higurc 5.20(a) Figure K.2()(c) Higurc 5.21(a) Higurcfi.21(c)

丨....4:-I j^[ 11»:¾__ , ¾ ( s j M | » | WWiJ«« _;.ilii! W**^r r",!|.""丨‘丨丨‘丨,“'_n 丨丨丨丨丨丨_ii,..i..1丨丨丨.1 取」 r ‘ � : . ” . . ; 宅 , 柳 . - : “ — ^ : , 1 J ^ :

Figurc 5.2()(h) Higurc 5.20(d) Kigure 5.21(h) Higure 5.21(d) -*•*•" -•"T-" .-.,:,:::,yL.. Figurcp. l6(a) Figure|5.l7(a)

^ £ : : : ^ : ^ _ X ; ; ; : ^ ^ ^ ‘ fc |iT

Online Hdilor for ’二:.:,… Online Edilor for * " * " * '

New Chinese - ; _,1,_,; New English „ # �;.::.(一…�-Malcrials . ! L ’ 1 Materials. “ -•. ~ -_

- : , , , : , : higure5.l6<M Maiemis ^ —啊…— Figure 5.17(h) >ii..w»:,ij_ii-,i»»ci miiniiivr-v.'^M

^ ‘ > r

i<W ; ,么:「I • • • * v ^ w r ^ r i f ' ^ - ; ; • * I

.«..-™- .™.j it^.-^W^., 1 •‘ !**MTjai|i 丨 …:.-.. I .i: . v|;!II.I !J ! ^ -)I'I, %- ^ i

Higure5_l6(cj Ti^f^]luT Figure 5.22: Flow of Services Provided for Teachers

95

5.23 Chapter Summary

In this chapter, we have shown a demonstration of the SIS Education Scenarios. The

demonstration consists of some snapshots of the SIS Client Applet. These snapshots

include the services provided for both teachers and students. In addition, we have

also structured the snapshots and their flows for teachers and students into two trees

respectively.

96

Chapter 6

System Implementation

Technically, SIS is a study of research and development of a distributed computer-

based educational system implemented by the Java [52] programming language. SIS

is implemented in pure Java. In such case, computer-assisted education can easily be

done on the World Wide Web. The reason for using Java is because we want to make

use of the resources on the World Wide Web effectively. The main components of

the World Wide Web are those hypertext documents (Web pages) which link each

other together. The hypertext documents can contain text, images, audio, hyperlinks,

etc. Those hypertext documents (Web pages) are constructed or created by HTML

(HyperText Markup Language) [37]. HTML makes it possible to describe how static

Web pages should appear, including tables and pictures.

With the help of CGI (Common Gateway Interface) [68], it is also possible to

have a limited amount of two-way interactions. However, this limited amount of

two-way interactions and the available user interfaces created by HTML are not

enough for a school information system. To make it possible to have a highly

interactive Web system, a different mechanism is needed. This is settled by Java in

SIS.

6.1 Characteristics of Java

Java is a general-purpose, concurrent, class-based and object-oriented programming

97

language for the World Wide Web, which means that people programming in Java

can develop more and more complex programs with great ease. It is designed to be

simple enough that many programmers can achieve fluency in the language [52].

Java is related to C and C++ but is organized rather differently, with a number of

aspects of C and C++ omitted and a few ideas from other languages. Java is intended

to be a production language, not a research language, and so, as C.

Due to its characteristics of object-oriented programming paradigm, new

software components in SIS can be developed quickly and existing components can

be maintained easily since Java code is inherently portable and dynamically

extensible [56]. So that, we can achieve the goal of software reuse which is an

important technique of software cost reduction and productivity improvement [11].

In programming languages' point of view, Java is strongly typed and it is a

relatively high-level language, in that the details of the machine representation are

not available through the language. It includes automatic storage management,

typically using a garbage collector, to avoid the safety problems of explicit

deallocation (as in C,s f r e e or C++'s delete) . High-performance garbage-collected

implementations of Java can have bounded pauses to support system programming

and real-time applications. Java does not include any unsafe constructs, such as array

accesses without index checking, since such unsafe constructs would cause a

program to behave in an unspecified way [56]. Thus, Java is selected for the

implementation of SIS.

6.2 Platform Independence

The computer world currently has many platforms, among them Microsoft Windows,

Macintosh, OS/2, UNIX, JavaOS and NetWare; software must be compiled

separately to run on each platform. The executable files for an application that run on

one platform cannot run on another platform, because the executable files are

platform-specific. However, this problem can be solved by Java.

Clients of SIS may be connected from different kinds of computer terminals

(workstations or personal computers) with different platforms on the Intemet. As

98

mentioned before, SIS is implemented in pure Java so that, we can achieve the goal

of platform independence, making our school information system more flexible,

convenient and efficient. It is because Java Platform is a new software platform for

delivering highly interactive, dynamic and secure applets, and running applications

on networked computer systems. It sits on the top of existing platforms and executes

bytecodes. The bytecodes are not specific to any physical machine. They are only the

machine instructions for a virtual machine [70].

, .."... \ .. ““.---—-.:..,

.Clas8 Loader Java Ciass -„jii»~n. m m m ^ ^ m m ^ Bytecode 譯 Libraries :

^ ^ d i m ^ I Verifier 丨....二. :

J^*ii|j[4^y • .•..寺一

ttlBSI^ / ^ ^ ^ ^ £ ^ , Java 1 Jual In-TIm^ igva 等 m r = j ; y | ^ interpriter| Complier^ virtSal

J P P H ^ V ^ J j ^ ^ ^ ~ # ~ * - ' _ | ^ _ • ' � M a c h i n e ^ 2 S t ^ ^ B • . RuntlmeSyfttem \

^ ^ ^ ^ ^ H ^ a n ^ ^ ^ o ^ ^ ^ | ^ M ^ ^ ^ A g | ^ g g U y ^ M M | ^ ; 4 ^ M M M | K j | g j | | j & ^ ^ H f i ^ l | | ^

<a 9&*i I J B E S B J Q S S I J S H S R ^^^^mmmM J H B I : mBB ^ ^ ^ F ^ ^ ^ ^ ^ ^

Compile-time Runtime

Figure 6.1: Compile-time and Runtime Environments of Java

Figure 6.1 shows the compile-time environment and runtime environment of

Java. The Java Platform is represented by the runtime environment. Source code of

Java programs (.java files) is compiled into bytecodes (.ciass files). These

bytecodes are instructions for the Java Virtual Machine, which is a soft computer that

can be implemented in software or hardware. It is an abstract machine designed to be

implemented on top of existing processors. The bytecode files are stored on an HTTP

server after compilation. When an end user visits a page containing the tag <applet>,

the bytecode files are transported over the network from the server to the end user's

browser in the Java Platform. At this end, the bytecodes are loaded into memory and

then verified for security before they enter the Virtual Machine. Once in the Virtual

Machine, the bytecodes are interpreted by the Interpreter, or optionally tumed into

machine code by the just-in-time (JIT) code generator, called the JIT Compiler. The

99

Interpreter and JIT Compiler operate in the context of the runtime system (threads,

memory, other system resources). Later on, any classes from the Java Class Libraries

are dynamically loaded by the applet as needed.

6.3 Integration with Existing Packages for Java

Technology

Java has a number of predefined classes and existing packages supporting such

features as threads, multimedia, graphical user interfaces, internationalization,

networking, security, IA3, exception handling and a vast variety of other tools. We

have made use of these classes and packages during the implementation of SIS.

y / ^ eic TT~~A .U- • •. T SIS Graphical U s e r ~ l | ’ ^ \ / SIS User Authorization , / . \ / , . , 。 . 、 Interfaces \

/ («.mg ygyg 5 . c . n r y ) (“发乂;^口““尸(:)j SIS Cliept \

/ [SIS Networking and I / 0 | „ „ „ , . ~ ~ " T T l i A p — t \ / ( . Diu, 0 « , j SIS Multimedia Part ! \

(using RMI, Servlet and , . , , . „ , i , . 6 , . ,ni^� (usingJMF) basic classes in JDK) J ; I

( i . . i ^ ^ 、

•• \ Java Vir tual Machine (embedded in Web browsers) /

\ Existing Host Operating Systems (Windows, MacOS, Solaris) /

W T : > ^ \ , - ' ’ Java Applet Running

\ z ' ' ' on Client Side ��� ’ ' ' ' ' ’ fF=n

Java Ap'p>let Running , ' ' ' | I on Cli>^nt Side , ' ' ' f ^ ^ ' l

虹 " ^ ^

^ ^ ^ ^ f f l ^ Java Programs Running

on Server Side

Figure 6.2: Internal Structure of a SIS Client Applet

100

Figure 6.2 shows the intemal structure of a SIS Client Applet and organizes the

packages adopted in the client applet in a graphical way. One of the largest pieces of

SIS functionality is the windowing and graphics subsystem. We use the AWT

(Abstract Window Toolkit) library in JDK Version 1.2 (Java Development Kit) [47]

and the package JFC (Java Foundation Classes) Release 1.1 [49] to design friendly

user interfaces for SIS. AWT provides Java based implementation of primitive

widgets such as buttons, check boxes, choices, lists, menus, text fields, scrollbars,

text labels and dialog boxes. This graphics library also provides routines for drawing

and filling lines, arcs and polygons, and handling events driven from users. JFC

extends the original AWT by adding a comprehensive set of graphical user interface

class libraries that are completely portable and compatible with all AWT-based

applications.

In dealing with the multimedia data, such as displaying digital images, playing

audio music, and loading/playing the MPEG files from remote servers for the

educational TV, we use the multimedia package JMF (Java Media Framework)

Release 1.0 [50] to reduce our workload during programming. This package specifies

a simple, unified architecture, messaging protocol, and programming interface for

media playback. We take advantages of JMF to give more natural and life-like user

interfaces and to make interesting and attractive teaching materials.

The Java environment is highly regarded in part because of its suitability for

writing programs that use and interact with the resources on the Intemet and the

World Wide Web. We exploit this ability of the Java environment to transport and

run applets over the net. Hence, network programming can be achieved easily in Java.

For an educational system on the World Wide Web, the network part is one of the

main concems of the whole system. The word networking strikes fear in the hearts of

many programmers [72]. We find that using the networking capabilities provided in

the Java environment is relatively easy.

We accomplish the networking tasks of SIS using the package RMI (Java

Remote Method Invocation) in JDK 1.2 [47], the package Java Servlet Version 2.1

[51] and the set of primitive classes provided in JDK 1.2 [47]. Those tasks include

socket creation, message handling, data transfer, object serialization and remote

101

procedure call. By the primitive classes provided in JDK 1.2,a set of popular

network protocols can be programmed in SIS without too much difficulty. These

network protocols include the basic transport and routing mechanisms specified by

the TCP (Transmission Control Protocol), UDP (User Datagram Protocol), IP

(Internet Protocol) and ICMP (Internet Control Message Protocol) standards [15].

We take advantages of the packages RMI and Java Servlet to create distributed

Java-to-Java applications for SIS, in which the methods of remote Java objects can

be invoked from other Java virtual machines, possibly on different hosts. The

underlying technique of such Java-to-Java applications in our implementation is to

let a Java program being able to make a call on a remote object once it obtains a

reference to the remote object. The reference can be obtained either by looking up

the remote object in the bootstrap naming service provided by RMI or by receiving

the reference as an argument or a retum value. Using such technique, a client can call

a remote object in a server, and that server can also be a client of other remote

objects. We use Object Serialization in Java to marshal and unmarshal parameters so

that, types are not truncated and pure object-oriented polymorphism can still be

reserved.

On the server side, Java Servlet helps us by providing a simple consistent

mechanism for extending the functionality of the HTTP server, which can almost be

thought of as applets that run on the server side without a user interface. In

cooperating with threads in Java, we make the SIS Central Server able to support

multiple users.

For security purpose, the Java Security API in JDK 1.2 is used to encrypt users'

passwords before storing them on the server side. In our early design, the package

JCE (Java Cryptography Extension) Version 1.2 [48] is chosen for this task. JCE

provides a framework and implementations for encryption, key generation and

agreement, and Message Authentication Code (MAC) [10] algorithms. Support for

encryption by JCE includes symmetric, asymmetric, block, and stream ciphers. This

package also supports secure streams and sealed objects for Java. However, this

package is currently prohibited from publishing and releasing outside the United

States because it contains technical information related to encryption technology that

102

is not approved for worldwide export. Only people resided in the United States or

Canada are allowed to download this package.

6.4 Cryptography of User Passwords

In our implementation, all usemames and passwords are stored in a file Fshadow (with

filename shadow) which is located on the server machine. This approach is similar to

the system file /etc/shadow in most UNIX systems. Fshadow is an access-restricted

ASCII system file that stores users' encrypted passwords and related information.

The fields for each user entry are separated by colons. Each user is separated from

the next by a newline character ('\n'). The file is delimited by a string #EOF# in the

last line. Each entry in Fshadow has the form:

username:password:group

The fields are defined as follows:

• username - the user's login name

• password - an encrypted password for the user

• group - an identifier between ordinary users and administrators, in which 1

is used for ordinary users and 2 is used for administrators

The encrypted password is a hash code value calculated from the original

string. The following text block (Figure 6.3) shows a sample of Fshadow, In this

sample file, there are six user entries. Among the six entries, users with usemames

spwong and pgfong belong to administrators and users with usemames sappho,

donald, leanne and gordan belong to ordinary users.

103

spwong:187624178:2 “ pgfong:-1564101367:2 sappho:-1896072448:1 donald:-399690549:l leanne:193140770:l gordan:232560533:1 #EOF#

Figure 6.3: A Sample Password File

Encrypted passwords in Fshadow are constructed and stored by the class

Hashtable in JDK 1.2 under java.util.Hashtable incorporating with the method

hashCode () in this class. First, a hash table shadow is created and filled by the

program segment shown in Figure 6.4. In this program segment, password[] is an

array to strings storing the normal passwords.

Hashtable shadow = new Hashtable(); shadow.put(password[0], new lnteger(password[0].hashCode())); shadow.put(password[l], new Integer(password[1].hashCode())); shadow.put(password[2], new Integer(password[2].hashCode()));

Figure 6.4: Program Segment for Constructing a Hash Table

After that, the content in shadow is written into Fshadow Figure 6.5 shows a

conceptual view of shadow mingled with the normal passwords.

Usemames i Passwords i Hash Codes spwong ; apple ; 187624178

pgfong : sum09c8 ; -1564101367

sappho ; spstdnt ; -1896072448

donald ; sports ; -399690549

leanne ! 19970701 | 193140770

gordan ; youth i 232560533

Figure 6.5: Conceptual View of Hash Table shadow

Each time when a user enters his/her usemame and password in the login

dialog box, the usemame is sent from the SIS Client Applet (SCA) to the SIS Central

Server (SCS) running on the server machine. SCS retrieves the corresponding hash

104

code value from Fshadow and then retums it to SCA. SCA performs the checking task

on the client machine. A signal of success is sent to SCS from SCA only if the

password and the hash code are matched. Finally, a package of the front menu is sent

from SCS to SCA. Figure 6.6 shows an overview of the communication between

SCA and SCS for the login process.

SIS Client Applet

get username : g [ i = ^ ‘ andpasswordi y U ; - - - . . . SIS Central

: • ‘ : usernaflie i>erver : r L ; "---.>fSra:

J • : =至 : re t r i eve corresponding i \m ! corresponding .....: § M \ ^''^ 'ode from F!,— :B • hash.ccMie-""" : ^ ^ ^ ^ :

check password; g|p=^|^....----"" ; j ^ j with hash code : L i L ^ \.. • „ \ J L :

:两 r*i ; sip.al of ^ ^ : : ^ ; succes's"----....,^: p=?y^^:

. _ : ^ 3 1 ¾ : bundle the X A ' : • ^ ^ ^ ^ : front menu

: g f 丨 packag.e.Af "" '- .¾^:^." dismantle : gb=== : ,....-fTtfrtt"menu

the package : L| | l—:

Figure 6.6: Communication between SCA and SCS in Login Procedure

6.5 Transmission of Data Packages

In designing user interfaces, we keep the least typing input from users. Most of the

actions are done by putting mouse clicks on the icons or images. At the same time,

this introduces another problem. It makes the network traffic become heavier and

increases the transmission time. It is because more data files (icons/images) are

transmitted through the network. To reduce the transmission time as well as the

number of transactions, JAR (Java Archive) [45] is drawn into our implementation.

JAR, which is introduced in JDK 1.2’ stands for Java ARchive. It is a platform-

independent file format that aggregates many files into one. Multiple objects

(.class files) of the SIS Client Applet and its requisite components (images and

105

sounds) are bundled in a JAR file on the server side. Rather than opening a new

transaction for each piece, the JAR file is transmitted to the SIS Client Applet in a

single transaction. This primarily reduces the number of transactions. Secondarily,

the JAR format also supports compression, which reduces the file size, so that the

transmission time can be reduced. It is because JAR is a file format based on the

popular ZIP file format which was introduced and defined by PKWARE [64] in 1989.

For maintenance, JAR is fully extensible since it is written in Java.

Once the JAR file is delivered from the SIS Central Server, it is dismantled on

the client side. During the execution of the SIS Client Applet, when a new class,

image or audio clip is requested by the SIS Client Applet, it is searched for first in

the JAR archives. If the file is not found amongst the archives that were delivered, it

is searched for on the SIS Central Server. Taking the front menu for student as

instance, Figure 6.7 shows the layout of this menu.

Watermark 1: W ^ Watermark 2: W Watermark 3: W Iconl:/, \ Icon2:/^ / Icon3:/^ I

^|^^fw«y^^^f^!p^^«^w^ nv-f"/vv- • “' , Iiu"�W …-' < - ^ - ^

Top B a r : / ^ ^ , . / 測 驗 ^ % ^ ; ^ 7

B 奢 u / m , Test , ^ J TestRe$uft

讨論區 : ® 課外趣談 Appl Layout:

P53P : 1 e a d M _ 0—丨

Bot_Bar 、、]^^广 ^ ¾ \ 2 \ |^ESK>ea lnterestinXTopics � \

^ i ^ l ^ f t ^ | j t e i ^ # i i f t i g ^ ^ M i ^ t e i M i i i f r m X ^ - .- \

n n j Icon 4: 1 I Icon 6: 1 Icon 5: 1 \ Watermark 4: W Watermark 5: W

Figure 6.7: Layout of Front Menu for Students 106

In Figure 6.7,we have the following content:

• /;, I2, ..., I5 - five images representing five main icons

• Wi, W2, ..., Wj - five images representing the watermarks of the main icons

• B] - an image representing the horizontal bars placed on the top

• B2 - an image representing the horizontal bars placed at the bottom

• h - an image representing the i c o n � Home〕

• Oiayout - an object managing the layout of the menu.

;' p>iWffiiii ;igf*Pi wgPWHW PigP<> WWWi ^ __A,...

: ^¾>^ 测气結果

® 咖 又 H t ® '''""' i

i 討論區-'• ^- ^ ^ :* ;寒;'!、傳汝、:\ ;

f f ^ ReadText- | » , -9 , : , � _ " " ^ r i P ) i l l ;

发6 Ois onArea ^I^ ^ ^ lnterestingTopics :

i :尽 GD '•‘ i : &M^A^rn^rn^,>^^fy^^mm^fM^mm^ : i ® ^ v g T - i I — \ © . . ^ : : - “ ^ : 1^ ^..--"..-;; .---Stage 1 •••. jsis Client 1 fp=FL"'""''-"" ' f r r Y ^ “ ^ V - L^~^\ i A _ ^ y F f ^ ® ® n ] ; SISs=al;0

•. i GYS^W flB^e: i . ^ ^ ^ l ^ i

•— S(age 2 •---• : ^>~�J . :

@.S ...: Figure 6.8: Procedure of Bundling and Dismantling a JAR File

These images ( I � - h, Wi - W5, Bj and B2) and object {Oiayout) are first packed

107

into a JAR file Fjar by the SIS Central Server, as shown in Stage 1 of Figure 6.8. Fjar

is transmitted to the SIS Client Applet by a single transaction, which is shown in

Stage 2 of Figure 6.8. Finally, as shown in Stage 3 of Figure 6.8, Fjar is unpacked by

the SIS Client Applet. After unpacking Fjar, Oiayout is launched and the enclosed

images are placed to their corresponding locations by the SIS Client Applet.

JAR files on the server side are created and represented using the classes

JarEntry and JarOutputStream in JDK 1.2 under j ava. uti 1. j ar. JarEntry and

j ava . util .jar. JarOutputStream respectively. The class JarEntry is USed for

representing a JAR file entry while the class JarOutputstream is used for writing

the content of a JAR file to the output stream. JAR files on the client side are read

and dismantled using the class JarFile and Jarinputstream in JDK 1.2 under

j a v a . u t i l . jar .JarFi le and j a v a . u t i l .jar.JarInputStream respectively. The

class JarFile is used for reading the contents of a JAR file while the class

jarinputstream is used for reading the contents of a JAR file from any input

stream.

6.6 Multithreading for Multitasking

Threads are used on the server side so that it can support multiple users. A thread is

a thread of execution in a program. The Java Virtual Machine (VM) embedded in

Web browsers allows an application to have multiple threads of execution running

concurrently. We make use of this characteristic of the Java VM to accomplish

multitasking using the class Thread in JDK 1.2 under java.iang.Thread. In our

implementation, every thread has a priority (adjusted by the method

setPriorityO). Threads with higher priority are executed in preference to threads

with lower priority. Each thread may or may not also be marked as a daemon (using

the method setDaemon ()). During execution, when a new thread is created by

another thread, the new thread has its priority initially set equal to the priority of the

creating thread, and is a daemon thread if and only if the creating thread is marked to

be a daemon. There are two ways to create a new thread of execution in Java, which

are:

108

• Declaring a class to be a subclass of Thread - This subclass should override

the method run () in the class Thread. An instance of this subclass can then

be allocated and started.

• Declaring a class that implements the interface Runnabie - This class

implements the method run () by itself. An instance of this class can then be

allocated, passed as an argument when creating the class Thread, and started.

The first approach is adopted by us to create threads. Figure 6.9 shows a

program segment to this approach.

public class CentralServer extends Thread {

public CentralServer() { }

public void run() {

}‘‘ . }

CentralServer svr = new CentralServer; svr.setDaemon(true); svr.start();

Figure 6.9: Program Segment for Creating Threads

In our implementation, the SIS Central Server is a daemon thread Tdaemon,

which stays on the server machine waiting for any incoming requests. It is

constructed by the program segment shown in Figure 6.9. Where there is an

incoming request R from a client C, a new thread (i.e. a new object) 丁瞻’ which is

not a daemon, of the same class is created by Tdaemon- Then, R is passed to T_ by

Tdaemon fot handling. Stage 1 of Figure 6.10 illustrates the flow of this process. Later

on, any requests made by C are all processed by Tnew until the connection with C is

lost. By this approach, as shown in Stage 2 of Figure 6.10, multiple users t//s (i = 1,

2, ...,n, where n is a positive integer) can each be served by a thread T, while the

daemon thread Tdaemon can still wait and process for new incoming connections.

109

, - ;:二=:::二:二::=::; :‘ i daemon thread『彻删 b SIS Central '•.、

: waits for requests _ . . Server :

Stage 1 . ^ W W W ^ i � � � � K [ ^ r a V i Qjo^moj) ^ ^ ^ ^ | _丨

— feZSS^ I BB • j request R comes L ^ = - ^ = J • : i from client side S J ^ _ i

:SIS Client . i M P W p M P i B \ ^ | : : A p p l e t '; • j :

i B n j - - - - z : z : z : z : - : z : - > f J ^ o S ^ l i 1 * = ^ I R is passed by h . . . - - - " ^ ^ j ^ H B :丨;

', i ^daemon ^^ ^new |s ^C^net^y . *^ ’_.miiiiiiiiiiiiiiill . . - • " ^~" .-• ^1

."|_|||||||_|||"™'L.::::::— ••… | L I ••...丨 new thread r „ 〜 _ 丨 \ ^ |

is created • : M

v : - 4 . : <4 i ‘ • i

,• •二 '*-• ― ― ‘ … • . -Vi •

• _ _ _ V h^ • •

丨 1 - + 一 • _ i i :incoming connecfio,__^^^^^^^^^^J^^ _ j | j :

Stage 2 . ; r C ^ ^ ^ ) ^ S ) i

I B " rf^V^ ; - r " , ^ . E i ••.. User U2 User U^ :•

* • • ‘ » • • •

Figure 6.10: Flow of Creating New Threads for Incoming Requests

6.7 Management of User Interfaces

The SIS Client Applet is displayed in a fixed area A (shown in Figure 6.11) of a Web

browser. All the user interfaces and screens are changed and updated within this area.

We use the class CardLayout in JDK 1.2 under j ava. lang. CardLayout for

manipulating the layout of user interfaces and screens. The class CardLayout is a

layout manager for a container. In Java, a container is an AWT (Abstract Window

Toolkit) component that can contain other AWT components, such as buttons,

checkboxes, labels, scrollbars, etc. In our implementation, components added to the

container (i.e. area A) are tracked in a list. The order of the list defines the

110

components' front-to-back stacking order within the container. If no index is

specified when adding a component to the container, it is added to the end of the list

and, hence, to the bottom of the stacking order.

,, 、、 / j \ ( \

/ •••'^ I visited cards are .. I d 1 I

.••• / I main memory 丨 .•••• , / I—.i 丨 1 丨、,… T - h

/ / 丨 丨丨 I Z / , / ppip^bw^i 'wu--f t____* ‘...,.::,.“..- ^ I y ^

••' / .,,.» '^-^'t^-t'. ^ / / [ : 」 : . . p i

.../ piiBI MWypiiiapWWWaUHPWWM4M1 Ntrft • I _ :I I 广 , ; I - ! C| J \ I ,龙親雄之7 _„ i.... .......... / ; I »,, «•«« ^ / :I / • I �,„:,. I / • • .i .;i ?11|1船細》1>"* z

:] 6n^luh nRTHEriRTICS r •^‘

H 二:一.一———W>^ri^^..^^ I IWWWPW8WWWWW_mB_BWW WW8WBWWWWBWB ^ iMiWUi_:)lWtlftaWWHtiW / N ^ gi.#<ygTWTO STgW8SB -—--»,、"r,"""?3y'i.,_•?_•,__ |'

• I "•,,) *•« 〔丨.丨 / \^p^“::;』: ' ~ ~ ^ V : .

\:::、-/-——4」')z 11¾-! m'i y � C N .. : ijiVi W^ i»�. a :

jump to Ci “ back to previous �••• ^ ^ ' : Q ,國""〉: „ I rapidly « I card C. j y^ ^ ^ \ | ^mhu w™&«i»te :

^ ^ w 1¾ ‘ iw ^~~-"^:i s m ^ ^ ^ ^ H….—............:一....〜.“..,...〜—••

^ 乙 � 'i 一 . / \ i-. </• .' area k (an AWT container) i ••• ••‘

acts as a stack of cards C,.'s y r"—»g g———"""——>»*## <f V :.., '__y

Figure 6.11: Conceptual View of Screens Management in the SIS Client Applet

Using the class CardLayout, we treat each screen, which is actually a nested

AWT component, in the container as a card. Only one card is visible at a time, and

the container (area A in Figure 6.11) acts as a stack of cards. The first card (C; in

Figure 6.11) added to an object of CardLayout is the visible card when the container

is first displayed (i.e. when the SIS Client Applet is first launched). Later on, when

the screen is changed/updated from a card, says Cj, the new screen (a new card Cy+y)

is pushed on the top of the container and is set to be visible by the container. Figure

6.11 shows a conceptual view of this technique. In this figure, the icon[ Home�on Q 111

engenders a quick jump to the first card. It causes C; to be visible by sending a

request to the container. Similarly, the i c o n � B a c k � o n Q engenders a retum to the

previous card. It causes Ci_j to be visible by sending a request to the container.

Each card Q in the container contains a number of images and an object

managing the layout of C,. As depicted before, these images and object are bundled

in a package (a JAR file) for the transmission from the SIS Central Server to the SIS

Client Applet. After receiving the package, it is dismantled and displayed as a card

by the container. To increase the efficiency for backward retrieval, all the transmitted

packages (i.e. all the visited cards) are retained in the main memory of the client

machine so that, they can be picked up and displayed by the container rapidly,

without re-transmitting through the network.

In our implementation, the ordering of cards is primarily determined by the

container's internal ordering. We use the method addLayoutComponent () to flip

through the cards sequentially, and to show a specified card. The method

addLayoutComponent () is used for associating a string identifier with a given card

for fast random access. It is used by incorporating with the method show {) which is

used for flipping to the card that is added to the container with a specified string

using addLayoutComponent (). Methods f i r s t (),previous (),next () and l a s t ()

are used for flipping to the first card, the previous card, the next card and the last

card in the container respectively.

6.8 Data Structures for Temporary Storage

The class vector in JDK 1.2 under java.util.Vector -is widely used in our

implementation. The class vector is a growable array of objects. Like an array, it

contains components that can be accessed using an index of integers. Size of a

Vector can grow or shrink as needed to accommodate adding and removing items

after the vector is created. Due to its characteristics, the class Vector plays a role of

temporary storage in many cases. There are two reasons for adopting this class as

temporary storage in our implementation. Both of them are explained soon

afterwards in this part.

112

As mentioned in the previous chapter, to prevent cheating, users are not

allowed for double-login. The login status of current users is recorded on the server

side. This information varies from time to time as well as the number of records. It is

kept in a vector Viogin which stays in the main memory of server machine. Each

element in Viogin is an array to strings containing the usemame, hostname, IP address

and login time about a incoming connection. Figure 6.12 illustrates the structure of

^logiri'

Vector V , _ S t a y s 、 f e a c h e l e m e n t is a n \

in server's main t ^ , ^ ^ _ ^ | arraytostr ings | 、 memory 急 ^ ^ ^ ' i o ,• ^ ¾ ^ ^ ¾ ^ " * ^ ¾ ^

^ I 广 ^ ~ ~ \ | , 1 J element 1 username

/ C ^ hostname r , “ ^ / 7f element 2 <

size of a Vector can W y ^ \ / IP address grow or shrink 【 I login time

dynamically 量.、, . ^

— t ^ » « « a ^ # \ .一 . i

. . \ ^

�element ti^ )

Figure 6.12: Structure of V/o ,n Recording Login Status .

The login information of a valid connection is filled into the array of strings as

an element Enew of Viogin. Enew is appended to the end of Viogm using the method

addElement () provided in the class Vector. It can also be inserted at a specified

position in Viogin using the method insertEiementAt {). Stage 1 of Figure 6.13

shows the situation when a new element Enew is being added to Viogm. An element is

removed from Viogin using the method removeElementAt () when its representing

connection is closed or lost. A set of neighbor elements can also be removed from

Viogin using the method removeRange () provided in the class vec to r . After

removing an element Eremove, as shown in Stage 2 of Figure 6.13, elements below

Eremove arc shiftcd upward and the size of Viogin is decrement by 1. These two

operations are done by the class vector automatically.

113

Stage 1 •, .- Stage 2 �

^loiin ! ^login : ! ^ W ' " :

/ N / \ r \ 〔 、 _ , ) new element £ „ , , 〔 〜 • , ) 〔五例〕 > < is appended to ^ ^~ < 、 > < ^

Egordan ^login ^gordan ^ “^[ ^gordan j ^sappho y^—^ ^ y^—< ^ ‘ / S

p ^ \ ^ E \ " \ E elements below ^^sappho > > .^sappho > > > icwongJ > - ^ ^ ^ ^ ^ - - p X : > - ^ ^ ^ 乙~"^X ( ^ ^ ( E _ are

E _ “ ^,c.on, 1 “: [ ^ ^ - / < / J shifted upward \ V \ V user gordan \ <^ ( F 1 E 1 closes connection E i^donaldJ \^^donaldJ 1^ "<>^ J J

V J C S \ J 丨 E 4f~— E : . new new . • V J .

V . y : » • ‘ • * * ‘ •

••• Stage 1 •'' '.. Stage 2 ••• Figure 6.13: Flow of Adding/Removing an Element into/from Viogm

Besides, the class vector is also used in:

1. checking the status of teaching materials when they are being modified

2. holding the questions of test papers

For the first one listed above, usage of the class vector is similar to that used

for checking login status. When a Chinese or an English chapter C is being modified,

the title T of C is first put into a vector Vutie before C is delivered to the client. T is

removed from Vtuie right after C is modified by and returned from the client. A

request for modifying a chapter C is rejected, as shown in Figure 5.16(b) and Figure

5.17(b), if the title of C is present in Vutie.

For the second usage, all questions in the test papers belong to the type of

multiple choices. In transferring the questions of a test paper, they are all placed in a

nested vector Vquestion (i.e. a vector containing a set of vector's) in which each

element is another vector Vi (i = 1, 2, ..., n, where n is the number of questions in

the test paper) storing all related stuff about question i. The structure of V,- is shown

in Part 1 of Figure 6.14 while Part 2 of this figure shows the structure of Vguestion- In

each Vi, the first element stores the content of question i while the second element

stores the answer (i.e. the correct choice). The third, forth, fifth and sixth elements in

Vi hold the four choices of question i,

114

. - • •• :广 N •. : a Vector contains '• Part 2 :I a set of Vector's P^^v^ ,.. ; ' [ C r ^ T " ^ ^ S t t # ^<,uestion I

^5Q--@---Ej)i • ’ . . ' \ . . • •

•'', N ‘•.

: V e c t o r Vp contains all relati d ^ ^ :x v :

; [ s t u f f about Question 9 j ~ ^ r i n . . t i n n l W 以!丨丨,+丨丨+:+=++:::+�H||SiHiiiiin II '' : " ~ - " "、 ^ ^ . x p - M ^ p y - \^. ^Y^'^^^^^ ^ ) � ' . i ^ w i i a i ^ ^ ^ ^ ^ ^ ^ ^ W W ^ ^ i � - , :

\£ y\\U\ | ^ ( A n s w c r ] - e - f e ! ^ i ^ ^ j 豪(》._鼠《<»|^ ^ ^ ^ _^ /choice 1 \ 1"“ (fl/J:,:老^ : : 氣 ^ __ ,. ^ <-"•--"•一 V y ^s>^^ i PMi P :

t Q | ^ _ _ i/ni—eAd^g:故,^ Van 1 : 8 . 4. wM """""----->>><> ^ _ V J ^RISP^^^^SBB!^^ • :

: i l s ^ ; j ; ; ; ^ > { ^ i ; ^ ^ < ^ ^ ^ b j : y 下-《 _ i \ ^^^ V, y w ^ ^ i ^ « ^ ' : : ,>*wte*#iWi%#Uv,i.. . I,i ^^"r^".,.,._K^^Choice 4 ^ t ^ f l "rt�g: ^ ^ ^ ; : 1 )J W » i » i » i ^ ^ \ "••. .'•

Figure 6.14: Structure of V _ — and V�Containing Questions of a Test Paper

The above paragraphs have recounted one of the characteristics of the class

Vector. Objects of Vector can grow or shrink in size dynamically. This is the first

reason for adopting this class as temporary storage in our implementation. The

second one is explained in the following paragraph.

Another characteristic of the class vec to r is polymorphism. That means

elements in a vector can be different typed, which is different from the traditional

concept on arrays in many programming languages. Taking the Chinese chapters as

an instance, all stuff about a Chinese chapter C is put in a vector Vchapter when it is

retrieved by clients. Figure 6.15 shows the structure of Vchapter and the corresponding

user interface. The first element in Vchapter is a string representing the title of C while

the second element is an integer containing the call number of C. The third element,

which contains all the paragraphs in C, is an object of the class TextArea in JDK 1.2

under java.awt.TextArea. The class TextArea is a multi-line region that displays

text. The region can be set to allow editing or to be read-only. The fourth and fifth

elements in Vchapter are two strings containing the description and URL of a

multimedia picture respectively. The sixth and seventh elements are another pair of

115

strings containing the description and URL of another multimedia picture. The

remaining elements in V—ter are N pairs of TextArea's, where N is the number of

questions in the Q&A Section of C. Each pair of TextArea's stores the content and

answer of a question.

f 7 > ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ f f l S I P " " " " " ^ f f f i j 、s("� > - f w ^ S ^

� : _ � | - < i ^ . ; J _ 扉 ^

“ p * : 闺 7 | 麟 狐

# f S B r ^ 4 ^ ^ & ^ 纖 园 、 3

^ H ^ ^ ^ C ^ , _ 臓 3 - ^ « « ^ ' - - 細 嘱 i ^ _ 3 r ^ ^ ^ : ^ : ^ . ― 二 . " 狄 ,

«: ^ i w r a r | ^ s S ^ \ ^ ^ ^ ^ ^ ^ ,--¾ 下--场}Kt ’缘“ >\T€xtAreaJ >ii,””._.jL‘wiiJ»jwiii“.iM

««: ^;^t;^^-;.J7- (TextAreaS . fli± „„f.lr<lj„~.ttJ.a:WM,;i.m,)IIM..IH V tXinrtUI |WOTty/H>pWWfcKk>> „^ C[::«n:‘tuwM»,i»~.m!u.iM — (rextAreaj

iK <. fci*l • <OT>>ffi >pMWn<kw

....... •

‘ V J

Figure 6.15: Structure of Vchapter with Corresponding User Interface

6.9 Messages Broadcasting in Chat Rooms

As mentioned before, the SIS Central Server is a daemon thread, which stays on the

server machine, listening to TCP port 6022 for incoming connections. Other than this

one, there is another daemon thread Tchatmom, which listens to TCP port 2217, serving

all the chat rooms in discussion area. Tchatroom does not deal with any messages

entered by the clients. Its job is to create a new thread /?, {i = 0, 1,2, or 3),which is a

non-daemon thread, when a client accesses an empty chat room. Here, Ro is used to

serve the chat room Rextracumcuiar for extracurricular topics, Rj is used to serve the

chat room Rchinese for Chinese-related topics, R2 is used to serve the chat room REngHsh

for English-related topics and R3 is used to serve the chat room RMathematics for

Mathematics-related topics.

When the system starts, there is no Ri running on the server machine, as shown

116

in Stage 1 of Figure 6.16. In Stage 2 of Figure 6.16, it shows that Ri is created by

Tchatroom whcTi there is a client entering Rchinese. Messages broadcasted in this chat

room are all taken over by Ri. Later on, when other clients connect to Rchinese, they

are all taken in by Ri without starting a new thread, as Ri has already been created.

Stage 3 of Figure 6.16 shows a situation that R�is serving three clients (i.e. three

users join the chat room Rchinese)- Messages entered in a chat room are broadcasted

by its corresponding Ri.

.- .•• :I SIS Central : i I daemon thread T—�„ n Server : i ! waits for connections -:1.--.人 \ ^g^^^^ : ! "*"^™*T"1 . ; ~ -.— .,., ».,• (^ ^ ^ 2Z I s • ‘ VLc*oroo5 I I I I

s t - i _ _ | i

SIS Client < ^ client connects L Applet ^ ^

i . to/?cA,"e« P i"-^[ r=a ' " 7 r ^ " F ^ f ^ V ' . : i w C T i i ^ m ^ -^^j^^^ = rm\ :

: clientis n . . - - - - - " " ' , . ^ Q D ^ Q i : passed to R, P , -'.":...:•....... ".^1--' \ ^ T T T ^ I I n e w t h r e a d / ? , . ; : . . 凡

Stage 2 is created > ^ <^ji : . . . ^ ^ s i " s z L : • • • ‘ _ • ' ' ' • * * • * ' * ' ' ' ‘ • • * ' * ‘«

” .•‘ 1 ^^^d r g : :incoming connectionsp.'J:^^^^ ^3 ^¾ ;

: L a J " : X ^ ^ " ^ ^ ( iD^.^ f=n j i 0 / / - Y x t ^ i 1 : ^ d h fc ' a I

e ^ a i E y J a i Stage 3 ^ ' ^ ^ ^ . . , :

: i clients connected to i?c*,„„. _ ! : are served by R, _ ;

:,.. g ^ ^ g ^ w ^ ^ ^ ' ^ ! - w ^ O ,:

Figure 6.16: Flow of Creating New Threads for Chat Rooms

Ri is terminated by itself after the last client closes connection with it. The

principle of this is to keep track of the number of connections Ni made to Ri. This is

done by putting a while () route in the method run () of Ri. Figure 6.17 shows such

117

a program segment. When Ni equals to zero, execution of Ri terminates. It is because,

in Java, the lifetime of a thread is totally determined by its method run (). After

termination, resources allocated to Ri are all released by the class Runtime. This is

the mechanism of the Java Virtual Machine. Every Java application has a single

instance of the class Runtime that allows the application to interface with the

environment in which the application is running. Moreover, an application cannot

create its own instance of this class.

public class ChatRoom extends Thread {

private N=1; II N is number of connections

ChatRoom() {

}

public void run{) { while (N != 0) {

. . . I I waits and processes users' messages

} } •“

i _ Figure 6.17: Program Segment for Managing the Lifetime of Ri

For the communication between clients, the concept of distributed objects is

applied in the implementation of chat rooms, using the package RMI (Java Remote

Method Invocation) in JDK 1.2. Such a concept is to enable an object running in one

Java Virtual Machine to invoke methods on an object running in another Java Virtual

Machine. In our implementation, Ri is such an object which invokes methods on its

connected clients (objects for chat rooms in the SIS Client Applet). Figure 6.18

shows the framework of a chat room. On the client side, Oiayout is the applet layout,

which is also called a card, managing the layout and user inputs of the discussion

area. Oiayout consists of a message board B, a user list L, a typing area A and a set of

check boxes C/s {i = 0,1,2,3). B and L are constructed by the class TextArea in

JDK 1.2 under j ava . awt. TextArea. A is constructed by the class TextField in

JDK 1.2 under j ava. awt. TextField and C/s are constructed by the class checkbox

in JDK 1.2 under java.awt.checkbox.

118

/ • \ ( R ) ^ \ client applet K V j ^ ^ client applet

connected to ,. V ^...-"^^^^^ ^^^‘^ connected to /?;

^ ^ V ^ 7 ^ ^ ^""—^ (y2^^^ |^ | ^ . . . . . . " ( s^^^^^ |^^ . . . . . . . . :'| r77^ 1: Set of Check Boxes: ; 討 論 區 丨,《" U“^i c.'s . I. 7 : r mxft • ; I

搬:鍋严圓 | k — , , _ , • IS*> 1^P«l«3>fl»77 gs ‘ •

Message Board: : 纽》 « « : B 二 I p r a :

: i ^-""^ i ^ se r List: ; ^ :• ;

Typing Area: : i g ; ^ A X f ^ :

: \ hl "-V. !sV,k"' •• • "•• «: '1^ '• N?«*(»x») j

: r* b jja : V ': \ Applet Layout: y 0�

layout

Figure 6.18: Framework of a Chat Room

When Oiayout connects to Ri, the hostname, port number (2217) and usemame of

Oiayout is send to /?,. By theseJnformation, R( obtains the reference to remote object

Oiayout in the remote object registry using the class Naming in RMI under

j ava. rmi. Naming. It is because the methods, such as bind(), unbind () and

rebind (),provided in the class Naming take, as one of the arguments, a string of the

form:

//host:port/name

where host is the host of a remote object, port is the port number on which the

remote object accepts calls, and name is a simple string uninterpreted by the registry.

Both host and port are optional. If host is omitted, the host defaults to the local host.

If port is omitted, the port defaults to 1099. In our implementation, host is filled by

the hostname of Oiayouu port is set to be 2217 and name is filled by the usemame of

Oiayout' The remote object Oiayout is associated in the registry by the class Naming

incorporating with its method bind ().

After binding the remote object O—t , it becomes a distributed object of /?,.

Therefore, Ri can invoke the remote methods updateBoard() and refreshList{)

119

on Oiayout directly. updateBoard() and r e f r e s h L i s t () are two class methods of

0[ayout, where updateBoard() is to append a new entered message to B and

refreshList ( ) is to reset the content (list of usemames) in L. The method

updateBoard () is invoked when the client has submitted a message. Figure 6.19

shows such an example. When a user has typed a message (a string S) followed by

pressing the k e y � E n t e r � i n A, S is send to Ri for broadcasting. Ri broadcasts the

message by invoking the method updateBoard() in each Oiayout connected to it and

putting the string S as an argument of updateBoard(). The argument (string S) is

marshaled and sent from the local virtual machine (running Ri) to the remote one

(running Oiayout), where the argument is unmarshaled.

i 〜 - , s u b m i t s i ( T ^ a message S p - - . ^ ^ > ^ c , ^ _ ^ ^ — ^ ^ ^ ^ ^ ^ j ^ ^ ^ ^ ^ ^ ^ ^ ^

C ^ J ^ ^ || |J C^Jay^ H | r ~ n C^_|^o^

S M J B ^ \

丨 r y — \ — — R. invokes updateBoard()丨,; • i O—'isadistributed ’

o f e a c h c o n n e c t e d O — , f \ \ ^ ^ ^ object of R. ., :!I ^SX, ^m!! ""miZZ!ZrU '• ^ ^ ^ ^ . — ’ 广 . 《 — « : : . 』 - 厂 “ ' - — ,

0,^,,.u^teBoard(5 丨 o i ^ ^ ^ O / _ . _ a t e B o a r d ; ^ ;

0/<iyoi<<.ul2 teBoard") :

^^ < J ^ I ]C J»«i) &p^|C^J^ ^ ^ _ J ^ H j J a t i j

.,„,.,.£*.»............I i rn .,,,...L*...........I T=n .�.•.....:」1 KHK. r » 广一 mWCi S » ••供 UtmCSt 」'一

?¾ fn jS^ f + 1 t

r ..^.»>.>%-.'i-xv.jil » . . . ..4^ s> ^

— I L jt r^ L j! ~" L jf Figure 6.19: Graphical View of Invoking Remote Methods on Distributed Objects

The method refreshList () of each connected Oiayout is invoked when there is

a new Oiayout connected to Ri (i.e. when there is a new userjoining the chat room). In

each chat room, users can switch to another room by clicking on one of the check

120

boxes in C/s. When switching between two chat rooms, from Ri to Rj, the layout of

user interface {Oiayout) is retained. The reference made in the registry of Ri is removed

and it is rebinded by Rj. That means the privilege of invoking methods on B and C in

Oiayout is shifted from Ri to Rj. This approach gives the minimum changes on user

interface as the card is unchanged. So that, users can switch to another chat room

rapidly.

6.10 Playback of Audio and Video Data Files

Playback of compressed streaming and stored timed-media is supported in the

educational TV of SIS. A media player MP, which receives and plays multimedia

data from sources stored on the network, has been implemented by the help of the

package JMF (Java Media Framework). This media player supports cross-platform

rendering, control, and synchronization of MPEG Layer 1 and MPEG Layer 2 media

types. In MP, users can have a certain degree of control on the media source being

presented. For example, the media source can be repositioned. MP allows users to

replay the media stream or seek to a new location in the stream.

W W M i f f l m 4 M - I M x j

^ ^ ^ 編 叫 ‘ 到

^ ^ ^ l e s 3 ; ^^^^^ffii^Bill^^^^^siiMii^ ^^^^^j^ig^^m^^^^ipj^^i^^m^i^^nif™^# seff->>;-'::'j B^EpH^^ffi^^^|]^Wite^ 纏

_^^^^mmwm. ^ m a t K g t K | ^ ^ S t K K r i ~ — ~ ^ s "

jwamir>g; Applet wirvaow 'j- ^ 广Control Component、

1 ofMP J Figure 6.20: User Interface of Media Player MP

User interface of MP includes both a visual component and a control

component, as show in Figure 6.20. The media source is presented in the visual

component of MP while it is controlled by the buttons in the control component. In

121

our implementation, the location of the media source is identified by its URL and it

is transferred by Hypertext Transfer Protocol (HTTP), so that the media source can

be located anywhere on the Web. In addition, media source transferred by HTTP is

regarded as a reliable data source in which the client is guaranteed to receive every

packet.

MP is an object that processes a stream of data, reading data from a media

source and rendering it at a precise point in time. MP implements the methods

defined by the following four interfaces:

• The interface ciock in JMF under javax.media.ciock defines the basic

timing and synchronization operations that the interface Player uses to

control the presentation of media data. This interface is implemented by

objects, such as MP, that decode and render MPEG movies.

• The interface Controller in JMF under javax.media. Controller extends

the interface ciock to provide methods for obtaining system resources and

preloading data. We use this interface to acquire the resource-allocation state

information. It also provides a listening mechanism that allows MP to receive

notification of media events (i.e. events generation).

• The interface Duration in JMF under j avax. media . Durat ion provides a

way to determine the duration of the media being played by MP.

• The interface Player in JMF under j avax. media. Player, which gives the

major support in our implementation, extends the interfaces c o n t r o l l e r and

Clock to support standardized user controls. This interface also relaxes some

of the operational restrictions imposed by the interface Con t ro l l e r . In our

implementation, it is used to read and manage time-based media data

delivered from a source for rendering and controlling.

Execution of MP is divided into six states. The primary two states {Stopped

and Started) are defined by the interface ciock. The state Stopped is broken down by

the interface Controller into five standby states, which are Unrealized, Realizing,

122

Realized, Prefetching and Prefetched. In normal operation, MP steps through each

state until it reaches the state Started.

Stopped ..... Started •••...

by method by method by method start () or realize () prefetch() syncStart ()

i广 N 广 ‘ N 广 ‘ N 广 N ( N i ^ N Unrealized L Realizing | . Realized 1^ Prefetching 1 Prefetched H Started •:.

1 I (State 1) t j ^ (State 2) J ^ ( S t a t e 3) j 7 \ (State 4) J ^ (State 5) J | | n ^ (State 6) j:;

I "~W““ f3 ^ ‘ .. •;

by event by event \ RealizeCompleteEvent() PrefetchCompleteEvent() .A. "'•••••• .•••'••••

Figure 6.21: Flow of the Six States in the Execution of MP

Figure 6.21 shows the flow of the six states in the execution of MP. In State 1,

MP has been instantiated, but it does not yet know anything about its media other

than its URL. When MP is first created, it is Unrealized (i.e. it is in State 1). When

the method realize () of the interface Controller is called, MP moves from State

1 into State 2.

In State 2,MP is in the process of determining its resource requirements.

During realization, MP acquires the resources that it only needs to acquire once.

These might include rendering resources other than exclusive-use resources. It is

because MP must give up exclusive-use resources when it is not actually rendering

media; these resources are acquired in State 4. When MP finishes Realizing, it moves

into State 3 by the event ReaiizeCompieteEvent() posted by the interface

Controller. This event acts as an acknowledgement that the method realize()

was called and the interface Controller is already Realized.

In State 3,MP knows what resources it needs and something about the media,

such as type, resolution, width and height, it is to present. These information are used

to determine the size of the visual component. When Realized, MP knows how to

render itself and it is able to provide its visual components and controls. Its

connections to other objects in the system are in place, but it does not own any

resources that would prevent another media player from starting. When the method

prefetch {) of the interface Controller is called, MP moves from State 3 into State

123

4.

In order to produce continuous frame rate for video playback, MP is preparing

to present its media by preloading its media data (prefetching some frames) in State 4.

In the meantime, it obtains exclusive-use resources, and performs anything else that

it must do every time it prepares to play. Prefetching might have to recur if the media

presentation of MP is repositioned, or if a change in MFs rate requires that

additional buffers be acquired. When MP finishes Prefetching, it moves into State 5

by the event PrefetchCompleteEvent () posted by the interface Controller. This

event acts as an acknowledgement that the method prefetch () was called and the

interface Controller is already Prefetched.

In State 5, MP is ready to be started; it is as ready to play as it can be without

actually being started. It is put into State 6 (final state) by calling the method s t a r t ()

of the interface Piayer or the method syncStart () of the interface ciock.

MP shares a common model for timekeeping and synchronization. The media

time of MP represents the current position in the media stream. Other than that, MP

has a time base that defines the flow of time for itself. When it is started, its media

time is mapped to its time-base time. To be synchronized, it is a must for MP to use

the same time base. In State 6,MP's time-base time and media time have been

mapped and its clock is running, though MP might be waiting for a particular time to

begin presenting its media data.

Stopped \ Started

/ \ C I \ (^ ‘ \ 广 N / \ :广 N Unrealized V^ Realizing |^ Realized [:¾ Prefetching •;,- Prefetched | ,; Started

(State 1) ,.; (State 2 ) 幕 ( S t a t e 3) ? : (State 4) ^ (State 5) ":• (State 6) V 二:二..如 V . > V. . . ._ J V J V _ ' J > V ' 乂

Tl^^T^^^^^7^ ^ e ^p^:z:^^^^^^^^^^^^^^^^' I^^^^^^^^^y by method by method deallocate() by method stop() or

deallocate ( ) or setMediaTime() event StopEvent()

Figure 6.22: Backward Process of MP in the Six States

After the media source is presented, the methods stop() and deallocate()

are called orderly. The method stop() releases the interface c iock from

synchronization. This causes MP back to State 5,as shown in Figure 6.22. The

124

method deallocate() releases any exclusive resources acquired by MP and

minimizes its use of non-exclusive resources. This causes MP returning to State 3,as

shown in Figure 6.22. Deallocating MP releases any resources that would prevent

another media player from being started. For example, if MP uses a hardware device

to present its media, deallocate () frees that device so that other media players can

use it.

6.11 Progress of System Implementation

Due to the limitation of time and resources, the education scen^os of SIS mentioned

in Chapter 3 are not fully implemented but most of them (80%) are done. The

following table summarizes the progress of system implementation for SIS.

Components and Functions in SIS Status and ApprQftCh

done (using NCSA HTTPd Server • setup of HTTP server

1.5.2 [71])

Library System

• multimedia presentation tools fully implemented

done (in pure Java with AWT and • online editor for teaching materials

JFC)

done (in pure Java with AWT and • content manager for teaching materials 。)

done (in pure Java with AWT and • browser for teaching materials

JFC)

• available subjects of teaching materials Chinese, English and Mathematics

Secondary 1, Secondary 2 and • levels of available teaching materials

Secondary 3

• real time educational TV player done (in pure Java with JMF)

125

• available educational TV 2 sets for Chinese subject

done (in pure Java with AWT and • user menus by mouse clicks

JFC)

• online examination center fully implemented

• available subjects of online test papers Chinese and English

Secondary 1, Secondary 2 and • levels of online test papers

Secondary 3

• automatic grading procedure for test done (in pure Java with JDK 1.2)

papers

• automatic answering procedure for test done (in pure Java with JDK 1.2)

papers

• automatic recording procedure for test done (in pure Java with JDK 1.2)

papers

• intelligent question selector fully implemented

done (in pure Java with AWT and • online editor for questions modification

JFC)

• available number of questions 200 questions

Secondary 1, Secondary 2 and • levels of available questions

Secondary 3

Student-Monitoring System

• date of each online test

• questions of each online test

“ . , ^ ., Li • . j 1 r-i • difficulty level of each online • attributes available in student profiles

test - • chosen answers of each online

test 126

• correctness of each online test

• evaluation of student performances not yet implemented

• online inquiry service for student done (in pure Java with JDK 1.2)

profiles

not yet implemented (JavaMail • electronic mail manager

[54] can be used)

• integration of email-to-pager or email-not yet implemented

to-fax

not yet implemented (JavaMail • automatic email notification

[54] can be used)

Groupware System

• group activity area partially implemented

• synchronous chat rooms for text done (in pure Java with RMI)

messages

• synchronous chat rooms for graphical not yet implemented (AWT and

characters JFC can be used)

• asynchronous chat rooms for text not yet implemented (JDBC [69]

messages can be used)

• asynchronous chat rooms for graphical not yet implemented (AWT, JFC

characters and JDBC [69] can be used)

Management System

done (in pure Java with Java • user authorization check

Security)

• double-login check from same host or done (in pure Java with JDK 1.2)

other hosts

• reviewing the questions set by teachers done (in pure Java with AWT and

127

["jFC)

• monitoring of the teaching progress of not yet implemented

teachers

• making announcements to teachers not yet implemented

• assisting teachers to use computers not yet implemented

6.12 Chapter Summary

In this chapter, we have illustrated the system implementation adopted in SIS. SIS is

implemented in pure Java. We have explained the reasons for this strategy by

narrating the characteristics of Java, and its suitability and execution principle. We

have also reported the existing packages for Java programming used in our

implementation, and highlighted the programming techniques used for security,

transmitting data packages, multithreading, managing user interfaces, temporary data

storage, broadcasting messages and handling media sources from remote sites.

Finally, the progress of system implementation is listed.

128

Chapter 7

Discussion and Future Work

Generally, children do not have any fear on computers. However, some elder

teachers or principals may be reluctant on using computers and the Intemet. SIS

provides friendly user interfaces in order to get rid of the fear and resistance from

those people, and helps them to use computers as well as the Intemet.

7.1 Wide Spread of the World Wide Web

SIS makes use of the World Wide Web technology and information super highway to

assist the students and teachers in primary schools and secondary schools. It

popularizes computers and brings the World Wide Web into the primary schools and

secondary schools. As the development of the World Wide Web grows with giant

strides, the growth of the World Wide Web technology impacts the growth of our

society directly. Thus, it is essential to promote the World Wide Web to the new

generation of our society. The best way for the students to get in touch with the

World Wide Web is starting from their study [76]. SIS delivers it by bringing

benefits to the principal, teachers, students and parents of the students. The principal

can keep track of the individual record for each student/teacher starting from the first

day he/she joins the school. Teachers can also keep track of the students and their

progresses. Students can take their sample tests or examinations anytime anywhere.

For example, they can prepare for the new academic year at home during the summer

129

vocation. Student's parents can have an easy way to keep track of the progresses of

their children through the whole academic year over the Intemet, and know about

any upcoming school events such as the examination result announcement day,

sports day, commencement day and examination day. This opens up a new channel

for parental watch for their kids.

7.2 Communication between Schools and Families

Concerning the social problems between families and schools, SIS enhances the

communication between schools and families using the World Wide Web technology

plus electronic mail. It automatically sends the results to the parents after each

exercise, test and examination and provides online query function for the parents to

inquire about several performances of their children in the school. All of these

heighten the transparency of the school greatly. Thus, parents can understand more

and more about the circumstances of their children in the school. Besides, SIS also

enhances the human communication. It narrows the distances between people

geographically in different places. For instance, teachers and students can

geographically locate at different places but join the same educational activities.

Teachers can make up the examinations on the Web during the weekend, students

can work on their homework on the Web from home, and parents of the students can

check on their kids' progress from their office.

7.3 Pedagogical Uses

As a teaching environment, SIS is provided with its own set of multimedia

presentation tools for teachers to manufacture and deliver course materials, and

structure learning experiences. Its characteristics are merely potential, just as the

empty classroom with its chalkboards and desks awaiting the effort and creativity of •

the teacher and the students to make it come alive. These software tools adopt pure

Java solution, in which there is no hypertext and hyperlink involved. From

pedagogical point of view, this leads the students to concentrate on their studies and

130

prevents accidental learning from them [3]. Just browsing through the Web is

already an educational experience in itself. Many people have lived this phenomenon

by which they start browsing through the Web with something specific in mind and

end up diverted from their initial goal for a while because they found something

interesting on the way, that they were not explicitly looking for. This is what

pedagogical researchers call accidental learning.

The educational TV provided in SIS offers a clear advantage: it enables

students to take pauses, to either read additional related information or to consult the

course literature. Student learning can be considerably enhanced by moving beyond

the familiar static words and diagrams on the printed pages pr computer screens.

Real-time animated simulations can often add a completely new dimension to the

level of students' comprehension. A ten-second, screen-based, animated simulation

can be more effective than a thousand-word description. Examples include the

movement of particles in chemistry and the induced current mechanisms in physics.

By the target oriented teaching paradigm implemented in SIS, it improves the

quality of teaching and learning through clear and well-developed targets and

objectives, learner-based strategies and criterion-referenced assessment. In addition,

it addresses the weaknesses and enhances the strengths of students in learning.

Students can also gain the extracurricular information from SIS.

7.4 Virtual Student Community

By the joint efficacy of group activity area and electronic mail manager in SlS, a

virtual student community can easily be formed. In this virtual student community,

students can help each other for study, and participate in course related discussions.

Students are able to cooperate and interact with each other using the tools mentioned

in electronic mail manager and group activity area. Helping other students with study,

course questions or simply sharing experiences add a collaboration dimension to SIS.

Creating such a community can effectively alleviate both students' and

teachers' workload [6]. It might also compensate the physical isolation brought forth

by sitting alone in front of a desktop computer. A survey found that by encouraging

131

the use of different means of communication electronically, such as email or Web-

based discussion media, students tend to help each other [14]. This form of social

clustering, a small community within itself, is very interesting. Not all choose to take

part, but since a large number does, it lessens the traditional burden of a teacher.

Students with additional knowledge have also the opportunity to share it with the rest

of the class and the teacher. The fact that students are able to share this knowledge

with the group is an enormous advantage to traditional teaching, where students

seem to rarely form groups with more than five members.

7.5 Differences between SIS and Other Web-based

Educational Systems

As mentioned in Chapter 2’ there are many ongoing research projects working on the

computer technologies for Web-based education. In this section, the differences

between SIS and other Web-based educational systems, from both pedagogical and

technical points of view, are presented.

1. First, most of the current Web-based educational systems target for tertiary

.. institutions. They aim to provide higher education, especially in the subjects

of engineering and science, such as introducing solid-state material concepts

and device principles in physics [17], teaching computer science related

courses [78], presenting the concepts of data compression in image systems

engineering [12], illustrating transistor amplifier circuits, design and analysis

of control systems in electronic engineering [4], etc. SIS is different from

them in this point. It targets for the primary schools and secondary schools,

currently providing three fundamental subjects: Chinese, English and

Mathematics.

2. Secondly, most of these educational systems are mainly designed for lecture

delivery only. Nevertheless, a synthetical educational system is lacked. SIS

surmounts this border and breaks the form of traditional Web-based lecturing

paradigm by providing a comprehensive educational environment, which is

132

not only designed for structuring and delivering the course materials but also

planed for carrying out the collaborative activities and examination tasks, and

monitoring the students.

3. Thirdly, many educational systems utilize the multimedia technology and

self-developed software tools in their courseware. Using these technologies

causes a problem of software support on the client side, where the

corresponding plugins or external players should be first installed. In addition,

these external players or plugins are platform-dependent. Clients from

different platforms require the plugins or players of different versions. Some

plugins or players for a particular platform are even unsupported. SIS uses the

Java technology to eliminate all these technical obstacles but retains the use

of multimedia technology and self-developed software tools in the

courseware. By the same principle, it also archives the result of platform

independence that clients of SIS can be operated in a heterogeneous

computing environment. From users' point of view, everything becomes

simple. They don't need to worry about the client-side support, and

understand any underlying principles of HTML, JavaScript and CGI

programming. They can accomplish everything inside a single Web browser,

which is an ideal idea for them.

7.6 Future Work

Chapter 4 and Chapter 6 of this thesis have reported the technical issues in software

configuration and system implementation of SIS respectively. There are some

propositions for configuring the SIS Central Server, managing stored data, and

encrypting users' passwords.

To get improvement in security, the package JCE (Java Cryptography

Extension) Version 1.2 [48] can be used in the implementation. By this, encrypted

passwords in FsiwcU>w, which is mentioned in the previous chapter, can be constructed

using the class c ipher in JCE 1.2 under j avax. crypto . cipher. The class cipher ,

133

which forms the core of the JCE framework, is able to provide the functionality of a

cryptographic cipher for encryption and decryption. In order to make use of the class

cipher, method getinstance in it should be called, and the name of the requested

transformation should also be passed to it. In JCE, a transformation, which includes

the name of a cryptographic algorithm, is defined by a string that describes the set of

operations to be performed on the given input, to produce some output.

Another reason for introducing JCE is that, in JCE, the Data Encryption

Standard (DES) [31] algorithm is applied into the transformation. DES, the most

widely used commercial encryption algorithm, protects electronic communications

worldwide. It was developed by the U.S. Government and IBM in the 1970s and it

was adopted as a standard in 1976. DES is the government-approved symmetric

algorithm for protecting sensitive information. Message from DES is divided into

blocks of characters and these blocks are mathematically transformed together using

a key, where a key is just a series of characters that the sender and receiver both

know. The DES algorithm uses a 56-bit encryption key, meaning that there are

72,057,594,037,927,936 possible keys. Therefore, by drawing DES into the

implementation, security of SIS can get further improvement.

incoming requests from clients C,, C^, C, , C^

j -‘ >fr~>^

[ ^ v i r tual server machine M ^ O a [ ^ ^ w i th host name N _ i-^^Jp^j iWWSIiliPM^ WMgSWiPBI

: ^ ^ ' ^ ' ' ^ / \ ^ ^ - ^ ^ ^ requests C.'s are evenly ; ^ ^ " ' ^ ^ ^ ^ ^ Q / ^ \ s i ^ ^ ^ " ^ ^ distr ibuted among a set : ^ J - ^ y \ ^ ^ ^ < . ^ of machines '•.卜一一^"!^*" ^ I ‘ ‘ • f f f | ^ j » ^*~i p« ':

• _ _ _ • 圓 • _ ^ S gS3 I ^ ^ f ^ ^ I ^ S g B I ^ ¾ ^ ^

server machine M^ server machine M^ server machine M , server machine M^ wi th IP address /^ wi th IP address /^ wi th IP address / , w i th IP address /^

Figure 7.1: Conceptual View ofBinding a Virtual Server to a Collection of Machines

The SIS Central Server is now running on a single machine. To reduce the

134

workload of the server machine, a distributed configuration of servers can be adopted,

in which loading is evenly distributed among a set of machines. Figure 7.1 shows the

conceptual view of such configuration. Technically, this can be done by mapping

several IP addresses to the same host name. This approach is commonly used for

setting up the proxy servers [7]. Conceptually, there is a virtual server machine M

with host name N. The virtual server machine, actually, consists of a collection of

machines M/s (i = 1,2, ...,n, where n is a positive integer) having corresponding IP

addresses //s {i = 1,2, ...,n, where n is a positive integer). A binding, which is a

one-to-many mapping, is made on N to /,_s so that, a single host name is pointing to a

number of IP addresses. When there are requests from clients, they are distributed by

M to Mi evenly for handling/processing.

In the discussion area, a one-to-one talk service, in which two users {UA and Us)

can communicate/talk to each other privately, can be added into each chat room. In

such case, a direct connection is established between U � a n d Us rather than

communicating through the server process (a thread) running on the server machine.

:connections to ^ /?areclosed L'

^/''^'^erveP^ ^/''^erve7""^ �’ :.:: ^^^^erveT~"X ^ j ^ s s o f ^ ^——^\^^ ^ roccss ojjJ ^——^^\^--^ro«sso^^

‘ ^ ^ ¾ ^ ^ ¾ ¾ ^ ^

fk^>i^ Appie^^ |^lppieN .'|^pretN AppieI\ ': ^ Applet\ V o f j y V o ^ V o ^ / V o f J ^ V o ^ : V o f ^

P— ~ • i • D i • s ; Cm e cm

.....'.•., ,•:....._ • : ,

I U^ and Ug 'm | Ug sends talk request, _ ! direct connection is made -i connect to R • i etc to U^ through R H between U^ and Ug f ''…®^^HI^H r ; ^ ^ F l ^ g ^ ' ^ , f ^ ^ ‘ rr^'^^'" '• ::'::':':7_'x:"r:^-

Figure 7.2: Illustration of Constructing a Direct Connection for Private Talk

Figure 7.2 shows this idea in a graphical way. First, U^ and Us connect to a

chat room R. After connecting, the caller (either "A or Us) can make a talk request to

the recipient by sending the hostname, port number and username to the recipient

through the server process of R. The recipient accepts the talk request by opening a

135

direct connection to the caller. Afterward, connections made to the server process of

R from UA and Us are closed. That means the server process of R no longer serves

these two clients.

In our current implementation, the email system for non-interactive

communication is not implemented. The packages JavaMail Release 1.1.2 [54] and

POP3 Provider for JavaMail 1.1 [54] can help in implementing the email

applications. These packages provide a set of abstract classes that model an email

system. They provide a protocol independent framework to build email and

messaging applications in developing the IMAP (Interactive Mail Access Protocol),

POP3 (Post Office Protocol-3) and SMTP (Simple Mail Transfer Protocol) services

[15].

For the educational TV, it is now supporting MPEG Layer 1 and MPEG Layer

2 media types. In the new version (Version 2.0) of JMF (Java Media Framework),

various media types for audio and video are supported, including QuickTime, AVI,

WAV, AU, and MIDI. These formats of multimedia data can be poured into the

educational TV in order to produce a rich multimedia learning environment. Other

than playback, capabilities provided in the new version of JMF can help also for

programming in capture, conferencing, animation, and speech recognition and

synthesis. These new features from JMF are useful and attractive to SIS.

Other than handling incoming requests and transferring data, the SIS Central

Server is also playing the role of a database server. The teaching materials (contents

and Q&A sections) and the questions for test papers are currently saved as data files

on the server side. The U0 operations for these data files are mainly handled and

manipulated by the SIS Central Server. In others words, they are loaded/saved

from/to the harddisk by the SIS Central Server directly. To reduce its workload from

handling these I/O operations, a database system can be introduced to replace the

data files. If so, operations like data selections, data retrievals and data restorations

can all be submitted to the database server so that, the SIS Central Server can get rid

of these I/O operations to/from the harddisk.

For establishing a database system, the package JDBC (Java Database

Connectivity) Version 2.0 [69] can be adopted in the system implementation. JDBC

136

is a standard data access interface for accessing a number of relational databases,

such as Sybase [67], Oracle [63] and Informix [42]. It defines a set of classes (in Java)

to represent database connections, SQL (Structured Query Language) statements,

result sets, database metadata, etc. These classes can help the SIS Central Server in

doing the following three tasks:

• establishing a connection with a database

• sending SQL statements to a database server

• processing the results returned by a database server

By drawing JDBC into the implementation, the whole system is still conserved

in pure Java. The original client-server model becomes a three-tier model which is

shown in Figure 7.3.

^SIS Client ) | [ Applet j 1 ^ ^ ^ Client Machine

i i

TCP Connection

J r rm m

^SIS Central^ ='I' Server ]°~f p ^

L JPpC J ^ ^ ^ q Server Machine i k ^ ^ ^ - = = ^

DBMS-proprietary Protocol

( ^ " ~ ^ ^ | _ I I O DBMS • 。 •

V J 丨圓 Database Server

Figure 7.3: Overview of a Three-tier Model

In this model, when there is an incoming request for retrieving/restoring the

stored materials from the SIS Client Applet, its corresponding SQL statements are

sent to the database by the SIS Central Server using the classes and methods

provided in JDBC. The database processes the SQL statements followed by sending

the results back to the SIS Central Server, which then returns the results to the SIS

137

Client Applet.

7.7 Chapter Summary

We have discussed the issues and effects made by SIS in this chapter. Moreover, we

have also discussed the differences between SIS and other Web-based educational

system from both pedagogical and technical points of view, and suggested some

technical propositions for future work. Pedagogically, SIS brings the World Wide

Web into schools and prevents students from accidental learning. It is possible to

form a virtual student community in SIS. For the communication problems between

schools and families, it heightens the transparency of schools. Technically, SIS uses

the Java technology to eliminate all the technical obstacles about client-side support

but retains the use of multimedia technology and self-developed software tools. By

the same principle, it also archives the peculiarity of platform independence. The

configuration of the SIS Central Server, management of stored data and

cryptography of users' passwords are the possible directions for future work.

138

Chapter 8

Summary

Alone with the consummate development of the World Wide Web, many real life

systems based on the World Wide Web have been developed, such as Internet

shopping systems, Internet stock systems, Intemet accounting systems, Intemet

banking systems, Intemet registration systems, Intemet games, etc. In this thesis, we

have proposed an applicative model, along with its education scenarios, for a

computer-supported educational system with local and remote users from the World

Wide Web.

SIS is a study of research and development of a distributed computer-based

educational system designed and implemented using the Java technology. It also

means the study of software tools and computer techniques used for education as

well as their psychological, social and organizational effects. The objectives of SIS

are to make improvements on the traditional Web-based educational systems by

designing and adopting a different methodology and technology.

The SIS Education Scenarios are to provide new ways and new media for a

school to provide quality education to students through the World Wide Web. The

entire system is divided into four subsystems, which are the library system, the

groupware system, the student-monitoring system and the management system. Each

of these subsystems is to build an axis on which the educational use the World Wide

Web can evolve.

• The library system provides a set of multimedia presentation tools for

139

teachers to prepare and deliver course materials. It lets students to read the

course materials and watch educational TV on the Web. The online

examination center divides the stored questions into different difficulty levels.

It is able to give online examination targeting for an assigned student (using

his/her ability stored in the student profile) and a specified difficulty level.

• The groupware system fumishes facilities for group work. It provides email

facilities to each user for sending/receiving emails to/from the Internet. It

establishes a group activity area in two modes: synchronous and

asynchronous. The group activity area is partitioned into six activity rooms

for different levels of students. Each activity room is sub-divided into four

regions for four different motifs. In synchronous modes, users can perform

simultaneous discussion provided with tools for test messages and graphical

characters. In asynchronous mode, users can leave their messages in the

activity room for late replies and comments.

• The student-monitoring system takes care of the students. Each student is

given a history profile which keeps a lot of detailed information, for both

academic and extracurricular, about the student. The student-monitoring

system evaluates the performance of each student periodically and it will

automatically notify the student's parents and teachers by emails if the

performance of the student goes below a certain level. Besides, it opens up a

new channel for parental watch for their kids and heightens the transparency

of the school by providing online query service for parents to access the

profiles of their children and informing the parents by emails about any

upcoming school events.

• The management system takes over the administration and management

processes, such as assisting the principal or subject panels to monitor the

teaching progress of the teachers, etc. It is also responsible for the access

control procedures. Users of SIS are divided by the management system into

four groups which are students, parents of students, teachers and the principal

140

of the school. Students and parents are further classified into a category called

ordinary users. Teachers and the principal are classified into another category

called administrators.

While putting the SIS Education Scenarios on the stage, the client-server

model is adopted in the implementation. In our model, the structure is simple. It

contains only the SIS Client Applet and the SIS Central Server. The SIS Client

Applet is launched on the client side by the Web browser and the SIS Central Server

is running on the server side. After the SIS Client Applet is launched in the client

machine, no more HTTP connections are needed between the client and the server.

Instead, a direct TCP connection is build by the SIS Client Applet and the SIS

Central Server.

The HTTP server used for SIS can be any HTTP/1.0 compatible servers

running on their relevant platforms. On the client side, users can use any standard

Web browsers, which support Java, running on any platforms to access the services

ofSIS. ‘

For the software design, SIS adopts function-oriented design which

decomposes the entire design into ten interacting modules. They are Access

Authorization Identifier (AAI), Multimedia Presentation Tools (MPT), Intelligent

Questions Selector (IQS), Online Examination Center (OEC), Student History

Recorder (SHR), Student Performance Analyzer (SPA), Electronic Mail Manager

(EMM), Result Querying Agent (RQA), Group Activity Area (GAA) and Integrated

Systems Logger (ISL). Each module is responsible for a set of major functions of the

system and performing a part of the SIS Education Scenarios.

While manufacturing the software products, Java is. the only programming

language used in our implementation. Both of the SIS Central Server and the SIS

Client Applet are programmed in pure Java. System implementation of SIS is done

by making use of the basic software development tools for Java, Java Development

Kit (JDK) Version 1.2,incorporating with some existing packages, which are the

Abstract Window Toolkit (AWT) library, the Java Security API, Remote Method

Invocation (RMI), Java Foundation Classes (JFC) Release 1.1 and Java Media

141

Framework (JMF) Release 1.0. Some of the programming techniques applied in our

implementation are highlighted below:

• A hash table is used to store the encrypted user passwords.

• Before transmitting a new screen to the client, all the requisite components of

the screen are bundled into a JAR file, which is transmitted to the client in a

single transaction.

• On the server side, multithread programming are used to support multiple

users. The SIS Central Server is programmed as a daemon thread staying on

the server machine and listening to the TCP port 6022. It creates its instances

as non-daemon threads when there are new clients connecting to it. Afterward,

these new clients are served by the non-daemon threads.

• In screen management, each screen of the SIS Client Applet is treated a card.

Only one card is visible at a time, others are stacked in the container and

retained in the main memory of the client machine.

• For temporary storage, the class vector is broadly used in many cases, which

include recording the login status, holding the status of teaching materials

when they are being modified, etc.

• During the implementation of the chat rooms, the concept of distributed

objects is applied in the programming. The server process of a chat room

broadcasts the messages by invoking the remote methods on its distributed

objects (i.e. its connected clients). .

• While implementing the media player, we divide its execution into six states,

which are Unrealized, Realizing, Realized, Prefetching, Prefetched and

Started. In normal operation, the media player steps through each state until it

reaches the state Started.

Effects made by SIS can be discussed along two aspects. For student

142

management, SIS takes care of the principal, teachers, students and parents by

bringing benefits to them. The principal can keep track of the individual record for

each student/teacher starting from the first day he/she joins the school. Teachers can

also keep track of the students and their progresses. Students can take their sample

tests or examinations anytime anywhere. Parents can have an easy way to keep track

of the progresses of their children through the whole academic year, and know about

any upcoming school events. By the group work facilities provided in SIS, a virtual

student community can easily be formed. On technical aspect, SIS uses new

technology, Java, so that good presentation and platform independence are achieved.

It breaks the barriers of software support on the client side but retains the use of

multimedia technology and self-developed software tools. In addition, clients of SIS

are not bound by a set of particular platforms. Advantages of SIS can be found on

these two aspects. However, we still have to wait for its user experience to justify its

wide acceptance.

The focus of SIS is not only on the computer technology itself but also the

social interaction of people. Various research on this topic will further explore the

possibilities of using the World Wide Web technology to expand educational

opportunities in the next century. The future goal of SIS is to create an educational

, environment that can bring normal everyday situations such as interacting, learning

and collaboration, even the whole school, to the Internet. The expectation of this

topic is to cause stimulation and give contribution to the society.

143

Bibliography

[1]王吉庚,段葱各,計算機辅助教學的评谓與责驗研兔,電子工紫出板社,

1995.

[2] Murray W. Goldberg, Sasan Salari, Paul Swoboda, "World Wide Web -

Course Tool: An Environment for Building WWW-Based Courses", in

Proceedings ofFifth International World Wide Web Conference, Paris, France,

1996.

[3] Bertrand Ibrahim and Stephen D. Franklin, "Advanced Educational Uses of the

World-Wide Web", in Proceedings of Third International WWW Conference

(WWW3), Darmstadt, Germany, 1995.

[4] I. Kaminskyj and J. B. Chapman, "Mechanistic Simulation in Electronic

Engineering Education", in Proceedings of Pacific Region Conference on

Electrical Engineering Education, Wollongong, Australia, February 17-18,

1997.

[5] Wing-kay Kan, Yuen Tsui, Yiu-sang Moon, "Design and Implementation of a

Web-based Cooperative School Information System", in Proceedings of

Global Chinese Conference on Computers in Education (GCCCE'99), Macau,

June 7-9, 1999.

[6] M. Lai, B. Chen and S. Yuan, "Toward A New Educational Environment", in

Proceedings of Fourth International WWW Conference (WWW4), Boston,

USA, 1995.

144

[7] Ari Luotonen, Kevin Altis, "World-Wide Web Proxies", in Proceedings of

First International Conference on the World-Wide Web, Geneva, Switzerland,

1994.

[8] Joe Old, "High-tech Living on a Low-Tech Budget: Multiplying Possibilities

by Bringing the WWW into the Classroom", in Proceedings of Asia Pacific

Web Conference (APWeb98), Beijing, China, 1998.

[9] Damien De Paoli, "TkAnim: A User-Friendly Cross-Platform Web Animation

Tool", in Proceedings of Asia Pacific Web Conference (APWeb98), Beijing,

China, 1998.

[10] Phillip Rogaway, "Design and Analysis of Message Authentication Codes", in

Proceedings ofThe 1996 RSA Data Security Conference, San Francisco, USA,

1996.

[11] Ian Sommerville, Software Engineering (Fourth Edition), Addision-Wesley

Publishing Company, 1992.

[12] Milan Sonka, Edwin L. Dove and Steve M. Collins, in IEEE Transactions on

Education, Volume 41, Number 4’ November 1998.

[13] Chuen-Tsai Sun, Chien Chou and Bing-Kuen Lin, "Structural and Navigational

Analysis of Hypermedia Courseware", in IEEE Transactions on Education,

Volume 41’ Number 4’ November 1998.

[14] Kare Synnes, Serge Lachapelle, Peter Pames, Dick Schefstrom, "Distributed

Education using the mStar Environment", in Joumal of Universal Computer

Science, Volume 4, Issue 10,October 1998.

[15] Andrew S. Tanenbaum, Computer Networks (Third Edition), Prentice-Hall

International, Inc., 1996.

[16] Murray Turoff, "Designing a Virtual Classroom", in Proceedings of 1995

International Conference on Computer Assisted Instruction (ICCAI'95),

145

Hsinchu, Taiwan, 1995.

[17] Chu Ryang Wie, "Educational Java Applets in Solid-State Materials", in IEEE

Transactions on Education, Volume 41, Number 4,November 1998.

[18] Gilbert H. Young, Wing-kay Kan, Yuen Tsui, "An Applicative Model for an

Internet-based Cooperative Education Environment", in Proceedings of

Science & Technology Education Conference 98 (STEC98), Hong Kong,

China, July 3-4’ 1998.

[19] Gilbert H. Young, Wing-kay Kan, Yuen Tsui, "Design of a Web-based

Education Environment for Java Collaborative School", in Proceedings ofThe

Third International Workshop on CSCW in Design (CSCW'98), Tokyo, Japan,

July 15-18,1998.

[20] Gilbert H. Young, Wing-kay Kan, Yuen Tsui, "Java Collaborative School

(JCS): R&D of Intemet-based Education Environment", in Proceedings ofAsia

Pacific Web Conference (APWeb'98), Beijing, China, September 27-30, 1998.

[21] Gilbert H. Young, Yuen Tsui, John P. Sum, Y.F. Fong, L.K. Mak, W.Y. Ng

and Y.T. Yiu, "World Wide Web Educational Center (WEC): A Web-based

Cooperative Teaching & Leaming Environment", in Proceedings ofThe Third

International Workshop on CSCW in Design (CSCW'98), Tokyo, Japan, July

15-18, 1998.

[22] Web Site: Apache Project

http://www.apache.org/

[23] Web Site: Apple - Products - QuickTime

http://www.apple.com/quicktime/

[24] Web Site: Apple Computer

http://www.apple.com/

[25] Web Site: CSCW (Computer-Support Cooperative Work)

146

http://www.telekooperation.de/cscw/cscw.html

[26] Web Site: Center for Distance-spanning Technology - mStar

http://www.cdt.luth.se/mstar/

[27] Web Site: Chemical Equation Balance Calculator

http://www.aschwebhosting.com/sandpiper/exbal.htm

[28] Web Site: College of Agriculture and Life Sciences Electronic Education

http://web.cals.vt.edu/electroniced.html

[29] Web Site: Community Leaming Network - Intemet Project

http ://www.cln. org/int_proj ects. html

[30] Web Site: Computers in the Primary Classroom

http://www.peg.apc.org/~dmorgan/

[31] Web Site: Cryptography Research - DES Key Search

http://www.cryptography.com/des/index.html

[32] Web Site: Desktop Laboratory Home Page

http://www.columbia.edu/~sm205/

[33] Web Site: DevEdge Online - JavaScript Developer Central

http://developer.netscape.com/tech/javascript/

[34] Web Site: EDUTECH: Educational Technologies

http://agora.unige.ch/tecfa/edutech/

[35] Web Site: Educational Technology: Educational VR (MUD)

http://tecfa.unige.ch/edu-compAVWW-VL/eduVR-page.html

[36] Web Site: El Paso Community College Home Page

http://www.epcc.edu/

[37] Web Site: HTML Home Page

http://www.w3.orgMarkUp/

147

[38] Web Site: HTTP - Hypertext Transfer Protocol Overview

http://www.w3.orgA'rotocols/

[39] Web Site: Hong Kong Education Department

http://www.info.gov.hk/ed/

[40] Web Site: HotJava™ Product Family

http://www .j avasoft.com/products/hotj ava/

[41] Web Site: Hypertext Transfer Protocol - HTTP/1.0

http://www.w3.org/Protocols/rfcl945/rfcl945

[42] Web Side: Informix Home Page

http://www.informix.com/

[43] Web Site: Interactive Patient Home Page

http://medicus.marshall.edu/medicus.htm

[44] Web Site: Intemet Explorer Home Page

http://www.microsoft.com/windows/ie/

[45] Web Site: JAR Files

http://www.javasoft.conVdocs/books/tutorial/jar/

[46] Web Site: Java Boutique: Chemis3D

http://javaboutique.intemet.com/Chemis3D/

[47] Web Site: Java^^ 2 SDK, Standard Edition

http://www.javasoft.eom/products/jdkA.2/

[48] Web Site: Java™ Cryptography Extension

http://www.javasoft.com/products/jce/

[49] Web Site: Java™ Foundation Classes

http://www.javasoft.com/products/jfc/

[50] Web Site: Java™ Media Framework API Home Page

148

http://www.javasoft.com/products/java-media/jmf/

[51] Web Site: Java™ Servlet API

http://www.javasoft.com/products/servlet/

[52] Web Site: Java™ Technology Home Page

http://www.javasoft.com/

[53] Web Site: Java™ Web Server

http://www.sun.com/software/jwebserver/

[54] Web Site: JavaMail™ API

http://www.javasoft.com/products/javamail/

[55] Web Site: JavaOS™ Operating System

http://www.sun.com/javaos/

[56] Web Site: JavaOne Today

http://www.javaworld.com/javaone97/

[57] Web Site: JavaStation^^ Network Computer: Overview

http://www.sun.com/nc/javastation/

[58] Web Site: Microsoft ActiveMovie 1.0 SDK Contents

http://www.rmcrosoftxom/devonly/tech/amovldoc/amsdkOOO.htm

[59] Web Site: Microsoft Windows

http://www.microsoft.comAvindows/

[60] Web Site: Microsoft Windows NT Server, Intemet Information Server

http://www.microsoft.com/ntserver/web/

[61] Web Site: National Computer Board, Singapore

http://www.ncb.gov.sg/

[62] Web Site: Netscape Netcenter

http://home.netscape.com/

149

[63] Web Side: Oracle Corporation - Home

http://www.oracle.com/

[64] Web Site: PKWARE, Inc. The Data Compression Experts!

http://www.pkware.com/

[65] Web Site: RealNetworks - RealPlayer or RealPlayer Plus

http://www.real.com/products/player/

[66] Web Site: Sun Microsystems

http://www.sun.com/

[67] Web Side: Sybase, Inc - Corporate Home Page

http://www.sybase.com/

[68] Web Site: The Common Gateway Interface

http://hoohoo.ncsa.uiuc.edu/cgi/

[69] Web Site: The JDBC™ Universal Data Access API

http://www.javasoft.com/products/jdbc/

[70] Web Site: The Java^^ Virtual Machine Specification

http://www.javasoft.com/docs/books/vmspec/

[71] Web Site: The NCSA HTTPd Home Page

http://hoohoo.ncsa.uiuc.edu/

[72] Web Site: The Network Book

http://www.cs.columbia.edu/netbook/ •

[73] Web Site: The Prima Virtual Machine

http://tech-www.informatik.uni-hamburg.de/applets/prima/

[74] Web Site: The Tcl Web Browser Plugin

http://www.scriptics.com/plugin/

[75] Web Site: The University of Tokushima (Faculty of Engineering)

150

http://www.tokushima-u.ac.jpyTENGLISH/engineering.html

[76] Web Site: The World Wide Web Virtual Library: Distance Education

http://www.cisnet.conV~cattalesA)education.html

[77] Web Site: The World-Wide Web Virtual Library : Education

http://www.csu.edu.au/education/library.html

[78] Web Site: Web Lecture System (WLS) Home Page

http://renoir.csc.ncsu.eduAVLS/

[79] Web Site: XingMPEG Player

http://www.xingtech.com/video/mpeg/player/

151

%

*

••

• ,

CUHK L i b r a r i e s

1 1 1 1 1 圓 隱 1

DQ37E3mfl