The Design, Construction and Implementation of an ... - CORE
DESIGN AND IMPLEMENTATION OF A WEB-BASED ... - CORE
-
Upload
khangminh22 -
Category
Documents
-
view
0 -
download
0
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