Sie sind auf Seite 1von 81

ADAPTIVE COLLABORATIVE ONLINE UNIX TUTORIAL

FOR COMPUTER SCIENCE STUDENTS

A Department Thesis Presented to the Faculty

of

California State University, Hayward

In Partial Fulfillment

of the Requirements for the Degree

Master of Science in Computer Science

By

Rosta Farzan

May, 2003
Abstract
Although the ability to use Unix is a necessary prerequisite, many computer

science (CS) students have little or no prior experience in Unix before they enter

college. ACUT (Adaptive Collaborative Unix Tutorial), an adaptive and

collaborative online Unix tutorial, is designed to accomplish the following goals:

1) Help students understand Unix concepts

2) Help students understand how to make use of online resources

3) Remove some of the barriers that impede equity in computer science

programs.

ACUT offers a collection of online resources about Unix to learners in an

organized and annotated format.

ii
ADAPTIVE COLLABORATIVE ONLINE UNIX TUTORIAL

FOR COMPUTER SCIENCE STUDENTS

By

Rosta Farzan

Approved: Date:

_____________________________ __________________

_____________________________ __________________

_____________________________ __________________

iii
Acknowledgments

I would like to thank my advisor Prof. Hilary Holz. Hilary was the main

source of motivation and support for me to start research and to carry on my

work to the point that it is today. Hilary has been at once, mentor, colleague, and

friend for me in all works that I did at CSUH.

The other members of my thesis committee, Prof. Lynne Grewe, and Prof.

Elliot Nebenzahl, contributed, at various point in the process, interesting ideas,

complimentary perspectives, and suggestions for improving my work.

I should also thank Prof. Tom Roby at ACCLAIM program for his help and

support throughout my work and also members of AHAT lab at CSUH for their

support and patience.

And last but not least, a special thanks to my beloved friend and my

husband Behrang for his critical role both intellectually and emotionally.

This work has been funded by Alameda County Collaborative for Learning

and Instruction in Mathematics (ACCLAIM), Associated Students, and CSUH

Foundation.

iv
Table of Contents

Abstract.........................................................................................................ii

Acknowledgments........................................................................................iv

1 Introduction ............................................................................................ 1

2 Background ............................................................................................ 1

2.1 Unix experience gap ....................................................................... 1

2.2 Social Navigation ............................................................................ 2

2.3 Intelligent Tutoring System (ITS)..................................................... 3

2.3.1 Expert model............................................................................ 4

2.3.2 Teacher Model ......................................................................... 5

2.3.3 Student Model.......................................................................... 5

2.3.4 Knowledge model .................................................................... 9

2.3.5 Interaction Model ................................................................... 10

2.4 Adaptive Hypermedia Systems & Adaptive Educational Systems 11

3 Approach.............................................................................................. 13

3.1 Web-based Tutorial....................................................................... 13

3.2 Adaptation ..................................................................................... 15

3.2.1 Student Modeling Through Clustering.................................... 16

3.2.2 Adaptation and Metadata ....................................................... 18

3.2.3 Adaptation and Usability issues ............................................. 22

3.3 Social Navigation .......................................................................... 23

4 Data Collection..................................................................................... 25
4.1 Research Methodology ................................................................. 25

4.2 Data Collection: Phase One.......................................................... 26

4.3 Data Collection: Phase 2............................................................... 26

4.3.1 Objectives .............................................................................. 27

4.3.2 Hypotheses ............................................................................ 28

4.3.3 Process of Formal Data Collection......................................... 29

5 Results ................................................................................................. 32

5.1 Quantitative Analysis of Data ........................................................ 33

5.2 Qualitative Analysis of Data .......................................................... 40

6 Technologies behind ACUT ................................................................. 43

6.1 Creating Dynamic Pages with mod_perl ....................................... 43

6.2 XML and XSL ................................................................................ 46

6.3 PostgreSQL .................................................................................. 49

6.4 Architecture of ACUT .................................................................... 50

7 ACUT Software .................................................................................... 55

7.1 ACUT: Admin ................................................................................ 55

7.1.1 Component ............................................................................ 56

7.1.2 Metadata ................................................................................ 58

7.1.3 Link ........................................................................................ 58

7.2 ACUT: Tutorial .............................................................................. 60

8 Current and Future Work...................................................................... 66

References................................................................................................. 67

vi
Appendix A – Sample Survey .................................................................... 70

Appendix B – Apache Configuration .......................................................... 72

vii
Table of Figures

Figure 2.1 - Frame Based Expert Model............................................................... 5


Figure 2.2 - Three approaches of Knowledge Model.......................................... 10
Figure 3.1 - Clustering Algorithm ........................................................................ 17
Figure 5.1 - Average Unix knowledge among different class level of students... 34
Figure 5.2 - Average Unix knowledge among different ages .............................. 35
Figure 5.3 - Average Unix knowledge among different genders ......................... 36
Figure 5.4 - Writing habit among students with different native language .......... 38
Figure 5.5 - Writing habit among students with different native language .......... 39
Figure 6.1 - CGI program ................................................................................... 44
Figure 6.2 - Without mod_perl ............................................................................ 45
Figure 6.3 - with mod_perl .................................................................................. 45
Figure 6.4 - Sample XML.................................................................................... 47
Figure 6.5 - XSL Along With XML Document ..................................................... 48
Figure 6.6 - Architecture of ACUT ...................................................................... 52
Figure 7.1 - ACUT Login page........................................................................... 56
Figure 7.2 - Creating a Component .................................................................... 57
Figure 7.3 - Associating Metadata ...................................................................... 58
Figure 7.4 - Creating External/Internal Link ........................................................ 59
Figure 7.5 - A Tutorial Page ............................................................................... 63
Figure 7.6 - Adding Notes................................................................................... 64
Figure 7.7 - Written Notes .................................................................................. 65
Figure 7.8 - Logout Page.................................................................................... 65
1 Introduction
UNIX is one of the most important computer operating systems available.

While it is an ideal platform for developing research and software, it is portable,

flexible, and adaptable. Its structure allows students to learn a variety of

computer science concepts. Although the ability to use UNIX is a necessary

prerequisite for many computer science (CS) courses, many CS students have

little or no prior experience in UNIX before they enter college. Unfamiliarity with

UNIX is an especially acute problem for women and non-traditional students who

have had little exposure to communities wherein they could learn or build

computing skills. Such students frequently encounter difficulties early in their

computer science courses, which in turn affects continued performance, interest,

and retention in computer science programs.

Teaching the necessary UNIX skills to CS students via a formal educational

setting is not possible, since it requires just-in-time learning (Tully, 1996).

Traditional and non-traditional students alike require an informal educational

setting to acquire this class of knowledge. Adaptation is the fundamental

characteristic of informal educational settings, while natural forms of collaboration

are what is most lacking in online settings. I hypothesized that I could develop an

informal online educational tool with natural collaboration using recent advances

in adaptive hypermedia and educational research design.

I have developed ACUT, an adaptive and collaborative online Unix tutorial,

designed to teach students UNIX concepts and encourage them to make use of

1
online resources. ACUT offers collections of online resources to learners in an

organized and annotated format, making the resources usable and

understandable. ACUT adapts to different learning styles. ACUT supports an

indirect and unconscious form of collaboration that is closer to the form of

collaboration that happens naturally in the boy’s room. Unconscious collaboration

happens through social navigation by following traces and footprints of other

learners. Learners are encouraged to write notes and comments while going over

the tutorial, leaving traces for others as well as themselves.

This thesis describes the design and development of ACUT. Because of the

interdisciplinary nature of this research, chapter two reviews literature in several

research domains. Chapter three describes my approach for developing ACUT.

Chapter four explains the process of data collection for the project and the

research methodology employed in this work. Chapter five presents the current

results of the project including data analysis and description of the software.

Chapter six demonstrates the architecture of the system and technologies behind

the system. The final chapter presents my vision for the expansion of this work

in the future.

2
2 Background
In this chapter I review some of the research done in the area of science

and education along with application of intelligent systems and adaptive

hypermedia in web-based and standalone educational software. The previous

research in this field has been an important foundation for my work.

2.1 Unix experience gap

A significant factor in the loss of woman in computer science programs is

the experience gap between incoming students’ perceived and actual abilities.

The experience gap is a special acute problem for women and non-traditional

students who have had little exposure to communities wherein they could learn

or build computing skills. Women are usually discouraged and leave the CS

program because they lack practical knowledge in computing (Blum, 2001.)

Being able to work with Unix appears to be a widespread hesitant obstruct;

female students in programs ranging from Carnegie Mellon University (CMU) to

California State University, Hayward (CUH), identified inexperience with Unix as

a specific problem in early core courses (Blum 2001, Sahwney & Farzan, 2002.)

Students are expected to have acquired knowledge of Unix without being taught

in any formal setting while no established baseline exists for how much an

undergraduate should know about Unix. Through a review of offerings, surveys,

and interviews, Harjot Sahwney and the author explored methods of developing

and distributing practical Unix Knowledge to CSUs students (Sahwney & Farzan,

1
2002). As a result, we found no consistency within the CSUs, the University of

California system (UCs), or the private schools in Northern California. Some

schools offered one or two-unit laboratory courses in early courses, many

schools maintained static and out of date online documentation. Very few

offered workshops in Unix. As a solution, we concluded that an online tutorial that

supports collaboration could help student to learn Unix effectively. The

conclusion has been the groundwork for design and development of ACUT.

2.2 Social Navigation

Collaboration plays a central role in the problem of women in computer

science. Research in Mathematics education, closest educational research to

computer science, shows that female students noticeably gain more in

collaborative environment. Women are known as “subjective knowers” and

“connected knowers”, meaning that they acquire knowledge by listening to

themselves and accessing others’ experiences (Jacob).

People tend to follow each other when they are lost. This is an informal and

very simple definition of social navigation that means solving task by following

trails of other people. Paul Dourish and Matthew Chalmers have introduced the

concept of Social Navigation in 1994. They defined Social Navigation as

Navigation towards clusters of people or Navigation because other people have

looked at something (Dourish & Chalmers, 1994.) Social Navigation is defined in

the forms of direct and indirect. Direct social navigation is in fact one to one

interaction that can be seen in the form of chat rooms in the cyberspace

2
(Forsberg, et. al., 1998.) However, what is more interesting is the indirect form of

social navigation that is the overall history information and awareness of activities

in a community. Indirect form of social navigation provides unconscious way of

collaboration through following footprint of others (Wexelblat & Maes, 1999.)

Social navigation has been incorporated in many of the existing online systems

using collaborative filtering techniques. These systems known as the

recommender systems provide recommendation for their users on the basis of

interest matches derived from ratings of a group of users with the same set of

preferences (Dourish, 1999.) Online stores such as Amazon.com are example

of these recommender systems.

Collaborative filtering in the area of web-based learning can be very

constructive, however it doesn’t address the problem of ‘the feeling of being

alone’ in the hyperspace (Kurhila et al., 2002.) A form of social navigation that

can be seen in some of the existing web-based tutorials, such as PostgreSQL

documentation, is the ability of adding comments and reading written comments

by others. However, very few are aware of importance of supporting unconscious

social navigation in web-based educational software. Following trails of others is

very close to what naturally takes place inside the traditional classroom and is

lacking in most of existing distant learning systems.

2.3 Intelligent Tutoring System (ITS)

Because of importance of education, today various advanced technologies

are being applied to help teachers and students teach and learn better. Web

3
technologies and software technologies are not an exception. However,

complication of human learning process makes it hard to build a successful

educational system. Many of existing web-based or standalone educational

software have not been emerged into classes and schools in practice.

Researchers in the field of artificial intelligence are trying to understand more and

more about human learning process by employing different machine learning

techniques to model and analyze human learning. A promising field in this area is

intelligent tutoring systems. Intelligent tutoring system is a learning technology

that dynamically adapts to learner’s objectives, preferences and needs

(interactive glossary.) History of intelligent tutors goes back to 1960’s when

Computer Assisted Instructional (CAI) systems were generated. CAI systems

were generally created for the purpose of improvement in skill-based domain like

remembering vocabularies. Basically CAI systems were automated flash cards

(Urban-Lurain.) From 1982 the term Intelligent Tutoring System has been used

in the systems that tried to model student and knowledge base (Urban-Lurain.)

Generally intelligent tutoring systems consist of three components: Expert model,

teacher model, and student model and the pedagogy of the system, which is the

relation between student model and teacher model.

2.3.1 Expert model

Expert model is the representation of knowledge of the domain, which is

called knowledge base. Different strategies known as IF-Then-Rules, IF-Then-

Rules with uncertainty, Semantic Network, and Frame Based Network exist to

4
represent the knowledge base. An example of frame based network knowledge

base is shown in the following figure. Frame based network model is a graph of

fact and relation between the facts with associated frame to each node. The

associated frame includes attributes related to that node.

Figure 2.1 - Frame Based Expert Model

2.3.2 Teacher Model

The main job of teacher model is transferring students from their current

knowledge state to a new state of knowledge. This could be done by a recursive

cycle of remediation and instruction. Remediation is finding out about current

knowledge of student, the students’ interaction behavior, and individual student

characteristics. Instruction can be done in the format of help, assistance,

empowering, coaching, or modeling.

2.3.3 Student Model

Student model is a model of an individual that intelligent tutoring system

views as a student (Johansson, 2002.) The student model is responsible to

gather the information about each student to represent student knowledge and

learning process. The information will be dynamically updated to follow the

5
students’ progress. Individual’s information can be gathered in an implicit,

explicit, or combination of both ways.

In case of implicit student modeling, the information will be gathered from

the students’ interaction with the system. No direct question will be asked from

the student in this case. The information collected with this method can be very

subjective, since the designer of the system makes a lot of pre-assumption. For

example designer might interpret the long time spent on a page as not being

familiar with the topic, which might just be the result of having a cup of coffee.

However, not being required to answer a questionnaire at the first use is a

valuable advantage.

In case of explicit student modeling students have to answer several

questions about their preferences and characteristics. For example they will be

asked about their knowledge of different topics, or they will be asked about their

individual characteristics like age, gender, and education level. The advantage

of this method is having more accurate information about the individual student.

As a result, more accurate personalization of the system can be supported.

However, the disadvantage of this method is the questionnaire that students

have to fill out in the first use of the system. This is an important disadvantage

for educational software, since students are not usually aware of their learning

style, their level of knowledge, and their preferences. Moreover, gathering

personal information causes privacy issues. Students might not feel comfortable

8
to give their correct personal information and provide some phony data that

would affect the result of the system.

Another way of student modeling is through assigning a special task to the

learners. The task is designed in a way to reveal special ability or disability of

learners. While they are doing the task, their interaction with the system will be

observed and recorded to conclude their preferences. This method is more

useful in data collection phase to design the system since it is not possible to ask

each individual student who wants to use the system to finish a task for

information gathering purposes (Johansson, 2002).

Student model can be divided to two separate parts, model of student

knowledge and model of student interaction and behavior. In most of the existing

ITS when they talk about student model they are talking about model of student

knowledge.

2.3.4 Knowledge model

Three different approaches has been mainly used to model student

knowledge, including, overlay model, differential model, and perturbation model.

In the first two models student knowledge is assumed a subset of expert

knowledge. The third model assumes a misconception for student knowledge in

addition to assumption of student knowledge as a subset of expert knowledge.

The figure below shows the overall picture of these three models.

9
Figure 2.2 - Three approaches of Knowledge Model

2.3.5 Interaction Model

Goal of presenting information arises two questions: “what to present?” and

“how to present?” The knowledge model is the answer to the question of what to

present while interaction model is the answer to the question of how to present.

Several approaches have been used to model interaction of students with the

tutorial systems. Clustering is one of the approaches to model students’

interaction (Johansson, 2002.) Clustering approach deals with classifying

students based on their navigational behavior, their interaction behavior, and

their specific preferences. Different parameters from their interaction with the

system can determine the class they belong to. For example the order they go

over the materials, the time they spend on different pages, number of times they

10
visit a page, or number of correct answer they give to certain questions.

Students with the same type of preferences and characteristics will be assigned

to the same class and information will be presented to them in a same format.

2.4 Adaptive Hypermedia Systems (AHS) and Adaptive

Educational Systems (AES)

Recently, a lot of attention has been paid into Web-based education and

educational software. Currently there are many web-based educational systems

available. However, most of the existing educational systems on the web consist

of a set of ‘static hypertext pages’ (Brusilovsky, 1998.) On the other hand,

learners have different learning style, different preferences, and different level of

knowledge and it is very critical to design a system that adapts to individuals’

needs. Adaptation in educational software can take place in different ways,

known as ‘adaptation technologies’ (Brusilovsky, 1998). These technologies are

being adopted from ITS area or AHS area. Adaptation in the area of ITS is

applied in curriculum sequencing, intelligent analysis of student’s solutions,

interactive problem solving support, example-based problem solving support, and

collaboration support. In the area of AHS adaptation is applied in presentation

and navigation of information (Brusilovsky, 1996.)

Here I briefly explain the goal of some of these different technologies.

Curriculum sequencing adapts the offered sequence of material based on

individual’s desire. Intelligent analysis of student solutions focuses on individual

students’ answer to the given problems and tries to help students understand

11
what is exactly wrong or right while providing individualized feedback. Interactive

problem solving technologies provide students individual help on each step of

problem solving. In an adaptive presentation technology the goal is to adapt the

content of the hypermedia pages to individual’s desire. Therefore in a system

with adaptive presentation technologies, hypermedia pages are not static and

could be different from user to user. The goal of adaptive navigation is to help

learners with individualized orientation and navigation in the hyperspace

(Brusilovsky, 1996.) Adaptive presentation and adaptive navigation technologies

are very important in the context of web-based educational software, since

students can get easily lost in the rich information environment of hyperspace

and these technologies could prevent feel of being lost in the hyperspace.

12
3 Approach
Based on the preliminary research I did with Harjot Sahwney and also

several phases of informal data collection inside our research lab through

interviews, I came up with the idea that a web-based Unix tutorial that supports

adaptation and collaboration could be a solution to Unix experience gap problem.

In this chapter I explain about my approach to design of different elements of

ACUT.

3.1 Web-based Tutorial

While reviewing previous research done in the field of computer science

education, I understood that the key reason for Unix experience gap among

female students is their less exposure into informal education environment.

According to Jane Margolis, social scientist, and Alan Fisher, computer scientist,

females are usually outside the computing clubhouse where they could play with

systems such as Unix to learn various kinds of computing skills (Margolis &

Fisher, 2002.) Therefore, it is very critical to build a community that they could

belong to it, and they feel comfortable with it. On the other hand, female

students usually cannot spend a lot of time in school, libraries, and labs because

of some personal barriers such as requirement of taking care of their kids.

Therefore, a web-based environment could be a proper ground for building that

community. A web-based environment is accessible anywhere and anytime.

Furthermore, an important phenomenon of the web-based environment is the

13
indistinct personalities of individuals. People communicate with each other

through Internet for a long time without even one face-to-face meeting.

Unfortunately, female students usually feel shy to ask questions in the classes

since they feel their questions are too easy or they think their questions are

stupid to ask. The insecurity feeling also prevents many of female students from

collaboration with their classmates. Having an indistinguishable identity in a

web-based environment helps female students to feel more comfortable to ask

their questions, express their thought, and collaborate with others while they

would belong to a community.

Moreover, it is challenging to teach Unix in formal educational environment.

Unix is an open-source project that is in continuous progress with contribution of

a large online community. It is tough to design a course to cover all the required

Unix knowledge while it is updated over the time. Students in different levels

need different levels of Unix knowledge that could not be placed in one course.

On the other hand, it is easy to forget different Unix commands and specification

of a Unix system if one doesn’t use them. In fact, the nature of Unix is in a way

that requires just-in-time learning. Therefore, a web-based tutorial that could be

modified over the time and could be used just in time can be a solution for

teaching Unix.

Consequently, ACUT is designed as a web-based tutorial that tries to build

an online community for its learners. ACUT is an organized and annotated

collection of links to existing Unix materials on the Internet. Using existing

14
materials prevents redundant writing of the information that already exists on the

Internet. Furthermore, usage of online material involves learners of ACUT into

online resources and helps them to learn about online communities in addition to

learn Unix concepts. However, to prevent learners from being lost among online

resources, an extensive amount of text and visual annotation is provided for links

to online resources. For example, there is a brief explanation in front of each link

giving details about that specific link. Another form of annotation is usage of

different color for different levels of materials, such as green for easy, blue for

medium level, and red for hard level material. Furthermore, links are categorized

based on the content, their presentation method, and their difficulty level. In fact,

ACUT is a guided tour inside online Unix resources.

3.2 Adaptation

Students have various learning style, various preferences, and various

knowledge levels. Rigid software that could not address different needs of

learners could not be emerged in practical educational environment. In

traditional classroom, instructors are receiving a continuous feedback from

students while they are teaching and instructors are able to adapt their teaching

pedagogy based on the feedback. Therefore, educational software is also

required to be adaptive. In the same way, ACUT is designed to support

adaptation to different learning style.

15
3.2.1 Student Modeling Through Clustering

As mentioned in the previous chapter, an adaptive system requires a model

of student. ACUT uses a clustering method to model learner’s behavior. Since

learner knowledge is a subset of overall behavior of other learners, despite many

of the existing ITS, ACUT focuses on modeling of learner’s behavior other than

learner’s knowledge. Clustering approach classifies objects (in this case

learners) based on common attributes. Therefore clustering method works nicely

with modeling behavior of learners since common behavior could be used to

group learners. Subsequently, pages of the tutorial will be adapted to needs and

preferences of the specific group. As soon as learners are associated with a

specific group, they could view adapted pages based on their own preferences

while sharing them with other member of that group. Moreover, students would

feel more confident when they observe sharing navigational behavior through the

materials.

Following steps are required to support clustering student modeling:

Design: It includes finding the required number of clusters, attributes of

each cluster, and preferences of each cluster. Cluster design is done on data

collection phase of the project. The number of clusters and other attributes are

designed based on different phases of formal and informal surveys and

interviews with students. More details about design of clusters are provided in the

next chapter.

16
Implementation: It includes finding what cluster a new user belongs to and

adapts the tutorial pages based on preferences of that cluster. In the current

version of ACUT a very simple algorithm of adaptation is being implemented and

more complicated algorithm is being designed for future implementation. The

algorithm is described in figure 3.1.

Modification: Number of clusters, attributes and preferences of clusters

should be updated throughout the usage of the tutorial to incorporate new

behavior of users. Also the status of learners could be changed throughout the

usage of the tutorial; therefore, the cluster that the user belongs to should be

updated as the user makes progress. The modification step keeps the student

model updated.

The following is the clustering algorithm used in the current version of

ACUT.

Old_User_Cluster = Read_User_Cluster (database)


#Equal to default when a user is new
While User_Access_Number < Access_Limit
Push (User_Access_Pattern, Concept_Cluster)
New_User_Cluster = Find_Mean (User_Access_History)
If (New_User_Cluster not_equal Old_User_Cluster)
Update_User_Cluster
Figure 3.1 - Clustering Algorithm

In this version each concept of the tutorial is associated with one of the

defined clusters when the concept is being created. Among all defined clusters,

there is a default cluster that is combination of all other clusters. When students

start using the system for the first time, their status is initiated to default. In case

17
of default status no adaptation takes place. As soon as a student starts

accessing pages of the tutorial, the pattern of access behavior is recorded. When

the student has accessed ten pages (Ten pages is a preliminary assumption that

can be changed based on further data collection), learner’s access pattern is

analyzed to find the cluster she or he might belong to. As soon as figuring out the

associated cluster for a student, the system prompts the learner about the new

status and also about the adaptation to the new status based on what she or he

has done so far. To update learner’s profile, the same algorithm is used.

Throughout the usage of the tutorial, associated cluster with ten last access

pages is recorded for pattern analysis. Once a new pattern of access is observed

the student’s cluster would be updated to the new cluster. Students profile is

saved in the database and every time they come back to the system, their profile

is loaded from the database.

Although this is pretty simple algorithm that does not consider all possible

cases, it could improve students’ experience with using web-based systems and

prevent them from being lost cyberspace. Evaluation of the efficiency of the

current system is designed for the future and based on the achieving result the

design of the system would be modified.

3.2.2 Adaptation and Metadata

To support adaptation on different sections of the tutorial page, every page

is broken to separate component based on the type of the materials. For

example pages could be constructed from overview, definition, examples, and

18
quizzes components. To explain various properties of each component, a set of

metadata is associated with each section. The metadata set associated with

each part is combination of Dublin Core (DC) metadata set, Gateway to

Educational Materials (GEM) metadata set and our own defined set.

DC metadata set explains only the basic information about each page, such

as the author of that page, or the title of that page. GEM metadata set explains

information about educational aspect of each component of the page, such as

difficulty level of the material, or targeted audience. It also includes some

information about relations among components. For example, a field IsParentOf

or IsChildOf shows the hierarchical relation of elements. I have added several

relational fields to as ACUT metadata set to show more specific relations than

hierarchical, such as IsOverviewOf field that shows the resource is an overview

of its parent.

Furthermore, metadata sets could be used to manage a repository of Unix

tutorial to register with Open Archives Initiative (Lagoze et al, 2002,) which is

considered for the future work.

The following tables explain different fields of each metadata set. The

complete set of metadata is not implemented in the current version. However,

the current architecture can be easily expanded for implementation of larger

metadata set.

19
Field Explanation
Name The label assigned to the data element
Identifier The unique identifier assigned to the data element
Version The version of the data element
Registration The entity authorized to register the data element
Authority
Language The language in which the data element is specified
Definition A statement that clearly represents the concept and essential nature
of the data element
Obligation Indicates if the data element is required to always or sometimes be
present
Data type Indicates the type of data that can be represented in the value of the
data element
Maximum Indicates any limit to the repeatability of the data element
Occurrence
Comment A remark concerning the application of the data element
Table 3.1 - Dublin Core Metadata Set (Dublin Core Metadata Initiative, 2003)

Field Explanation
Date: Accessed Date on which the resource was accessed by audience
Relation: The resource being described is an overview of its parent
IsOverviewOf
Relation: The resource being described is a definition of its parent
IsDefinitionOf
Relation: The resource being described is an assessment of its parent
IsQuizOf
Relation: The resource being described is an example for its parent
IsExampleOf
Table 3.2 - ACUT Metadata Set

20
Field Explanation
Audience: The target audience of the resource
Beneficiary
Audience: Level Level of audience of this resource
Audience: Age The specific range of audience of this resource
Audience: The designation of learning prerequisite.
Prerequisite
Coverage The Scope of the content of the resource
Date: Created Date of creation of resource
Date: Valid Date of validity of resource
Date: AvailableDate that the resource will become or did become available
Date: Modified Date on which the resource was changed
Duration The recommended time needed to effectively use the entity being
described
Format: Extent The size or duration of the resource
Format: Medium The material or physical carrier of the resource
Format: Computing platform of the content
Platform
Pedagogy: The designation of student grouping, selected from GEM vocabulary
Grouping
Pedagogy: The designation of teaching method
Teaching
method
Pedagogy: The designation of the student assessment method
Assessment
Conforms To A reference to an established standard to which the resource
conforms.
Relation: The resource being described is higher in some arbitrary hierarchy
IsParentOf than the resource being pointed to by this relation element
Relation: The resource being described is lower in some arbitrary hierarchy
IsChildOf than the resource being pointed to by this relation element
Subject: Entry of a key terms or phrase drawn from the text of the resource
Keyword
Comment Written comment for resource
Table 3.3 - GEM metadata set (GEM, 2002)

21
3.2.3 Adaptation and Usability issues

Unfortunately, there are some negative issues associated with adaptation,

which are mainly usability issues. For example, to be able to have some

knowledge about users, many of adaptive systems require learners to fill out a

questionnaire when they start using a system. In addition to privacy issues

associated with filling out a questionnaire, it is a tedious and time-consuming

task. Therefore, many users either decide not to use such a system, or they do

not pay enough attention to questions of the questionnaire. Therefore not very

accurate information would be available to the system. On the other hand

relying on answers to these questions as the basis for adaptation is not proper,

since many students are not aware of their learning style and even their

knowledge about a topic. Moreover, students might not think the same way about

a question as the author of that question has thought about it. For example, what

does exactly knowledge level 3 out of 5 mean?

Another usability issue with the adaptation is the fact that to be able to keep

profile of users, students need to login to the system. Unfortunately all of us have

to remember too many usernames and passwords that we hardly want to add

another one.

To address some of the usability issues I have designed the adaptation in

ACUT with rigorous honesty principle. First, students will be notified about the

existing of adaptation and student modeling, and they can choose not to have

any form of adaptation. In fact in that case they do not even require having a

22
username and password to use the system. A default case has been designed

for those who chose not to login. The design of default case is in a way that other

functionalities of the system remain the same and just adaptation functionality is

removed. Second, when a student is recognized as a member of specific cluster,

she will be notified before making any changes through adaptation of the pages.

Likewise, the students can modify their profile in case they do not agree with their

system assigned cluster. Third, an explanation is provided for students about

why they need to login and what do they gain if they login. Fourth, to address the

explained usability issues with requirement of questionnaire I have chosen not to

ask any question at the first use and instead rely on students’ navigational

behavior for student modeling.

3.3 Social Navigation

As mentioned in the previous chapter, collaboration is an important element

of educational systems and to be able to offer beneficial and practical

educational software, collaboration should be supported. ACUT supports

collaboration in a novel way through unconscious social navigation. As explained

in the previous chapter, I have chosen social navigation for collaboration

because I believe it is closer to natural ways of mutual aid that happen in the

informal educational environment. I would like to examine students’ interests and

thoughts about this type of collaboration and also the effect of collaboration on

their overall confidence. Unconscious collaboration is supported through allowing

students to write notes, comments, and questions while going over the tutorial.

23
All the notes, comments and annotations are available to others who use the

tutorial in two ways. First, the density of written notes could change the overall

look of a section. A section with a lot of associated comment has a long footprint

icon at the top to present large density of footprint of others. As a result, a

footprint of navigation and access of other students is left in the tutorial, which is

accessible to every other learner. Furthermore, students could choose to view

details of all notes and comments and questions to get more idea of what others

have done and have thought. In that case they can even write an answer to a

question written by other students.

Supporting social navigation through leaving notes, besides providing a

collaborative environment, encourages students to write while reading. Writing

will change the status of a reader from passive to active while communicating

their learning process with others. Researches in Mathematics education show

that writing specifically help female students to learn better and more effectively

(Jacob.) To encourage students to write, ACUT let the students write after each

section of the page that is closer to what students do while reading their hard

copy notes instead of letting them write notes and comments just at the bottom of

the pages. In this way, they feel more natural to write and also they feel they are

writing for themselves not for giving feedbacks to developer of the system.

24
4 Data Collection
In this chapter I explain the process of data collection for ACUT project and

the research methodology I have used.

4.1 Research Methodology

ACUT employs iterative and participatory design principles. Iterative design

requires a series of development, testing and revision cycles (Kelly & Lesh,

2002.) Participatory design gives the audience of the project an opportunity to be

involved in the system’s design and development. Therefore, throughout the

development of the project, after every phase of design and development,

learners would be asked to participate in different phases of data collection.

Consequently, learners’ feedback would be considered for the next phase of

development. In this way, trails of documentation are generated unconsciously,

which reveals important characteristics of learning development. In the other

words, the design processes contribute to learning and also to the documentation

and assessment of learning.

Furthermore, if the data collection happens late in the process of

development, the cost of changes in design is too high that prevents fundamental

changes considering learners’ feedback. Specifically, in development of

educational software that students’ learning style plays an important role,

iterative and participatory design is critical to take different learning style into

25
account. Throughout the development of ACUT, I have had two different phases

of data collection.

4.2 Data Collection: Phase One

The first phase was an informal set of interviews inside our research lab

with undergraduate and graduate students as well as faculties. As a result of

discussion with other students in this phase, inside our research group I could

conform my hypothesis that lack of Unix could affect student’s confidence and

their overall performance in computer science. Furthermore, I understood the

importance of encouraging students to use online resources and help them to

build an online community since I could observe the results of having a

community inside our research lab. In addition, I observed the importance of

writing in learning process. Our productivity was always higher when we tried to

write as much as possible. Moreover, I could realize that an effective online

tutorial should not be in just linear format similar to a book that is just online

because not all students have a linear learning style. As a result, I have designed

ACUT as an online adaptive and collaborative Unix Tutorial.

4.3 Data Collection: Phase 2

The second phase of data collection includes conducting formal survey and

interview. The main goal of this phase of data collection was learning about

students’ behavior while using online resources. Consequently, I could assess

different navigational behavior of different classes of students, and their learning

style. In addition, I could figure out some of the indicator of Unix knowledge

26
among students. The result of this phase has been helpful in student modeling of

ACUT and design of learner’s cluster.

For performing formal phase of data collection, because of involvement of

human subject I was required to have the institutional review board (IRB)

approval. I was required to send the research proposal with detailed explanation

about survey and interview to IRB committee. The proposal was approved with

some useful feedbacks about the informed contest and some of the questions in

the survey. It is worth to mention that I was the first computer science student

who was going though this process.

To follow a solid research methodology I specified my goals, objectives,

and hypotheses before starting the data collection

4.3.1 Objectives

The followings are goals of the second phase of data collection.

• Categorizing students based on their interaction with web-based

educational software, and personal identification such as gender, level of

knowledge, level of education, native language, and prior experiences.

• Identifying specific learning behaviors of each group, such as order

of studying, the amount of time spent on different type of web pages, the

depth level of searching behavior, type of accessed web pages, and

amount of asked help.

27
4.3.2 Hypotheses

The followings are my qualitative hypotheses for this phase of data

collection. Specifying hypotheses beforehand has helped me in later analysis as

well as more careful observations during survey and interview conduction.

• Beginners tend to follow the given order, while more advanced

students tend to jump over links to find the required information. Also,

beginners tend not go into too much details or depth. Moreover,

beginners are less likely to use other online recourses, or

communications tools such as message boards while performing the

requested task. Beginners are also more likely to spend more time on

introductory pages.

• Female are less likely to use other online resources, or

communication tools such as message boards, while performing the

task. However, they are more likely to prefer pages with graphics

(Jacobs & Becker, 1997) and they are more likely to read comments

written by others while performing a task (Jacobs & Becker, 1997).

Moreover, female students are less likely to prefer group interviews.

• Non-native English speakers prefer less text and spend more time

reviewing it.

I have specified some quantitative hypotheses as well, to be measured out

of data collected in the survey.

• Female students have lower Unix knowledge average

28
• Female students are more likely to prefer writing while solving a

problem

• There is a relation between student class level and Unix

knowledge. The higher the class level is the better Unix knowledge.

• There is no difference in preference of writing among different class

levels of students.

• Students with native English language have higher Unix

knowledge.

• Students with native English language are more likely to prefer

writing while solving a problem.

• There is a difference in Unix knowledge among students with

different age ranges.

4.3.3 Process of Formal Data Collection

I conducted the survey among 170 students of the following four cohorts:

1. CS 1160, CS 2369 - Introduction to Computer Science and

Programming Methods, & Programming Method and Software

Engineering

2. CS 3120, CS 3240 – Programming Language Concepts, & Data

Structures and Algorithms

3. CS 3520, 3340 - Web Site Development, and Object Oriented

Programming

4. CS 6320 – Software Engineering of Web Based System.

29
I have chosen classes in different level to target students from different

educational level. Furthermore, I conduct the survey in different sessions of

classes to target different age ranges of students and both traditional and non-

traditional type of students who come to school at different time. In addition, I

chose to perform the survey in classes related to web-based system or core

courses to target audience with and without previous experience of using web-

based systems. The survey form is included in appendices.

Among students who participated in the survey, a subsequent cohort of 20

students was selected for follow-up interviews. The cohort of 20 students

includes female, and male students across different academic levels (freshman,

sophomore, senior, junior, graduate), and different age ranges (18-23, 23-40,

above 40) with various levels of Unix knowledge. The interviews are conducted

in our research lab and in the form of open ended and task based. In a tasked

based interview, the interviewee is asked to work on a task while an interviewer

observes what the interviewee does. The interview is called open-ended

because students could complete the task with no time limit. I have chosen the

task-based format to observe closely student’s behavior with web-based

educational systems and in the form of open-ended to exclude the time pressure.

For this phase of data collection I used the existing online tutorials to assess

tutorials and student’s behavior. The result of this assessment is incorporated in

design of ACUT. Therefore, a Unix, Lisp or Perl problem (matched with the level

of the interviewee’s knowledge) was assigned to each subject to be completed

30
during the interview. The interviewees were asked to speak up their thought

during the interview if they feel comfortable doing it and the interviews were tape-

recorded with interviewee’s permission. In addition, I have been writing notes

about my observation for later analysis. To make sure, I do not forget anything

from my observation, I spend some time right after the interview to write full

description of my observation. In the next chapter, I present the analysis of the

data gathered in this phase of data collection.

31
5 Results
Each type of collected data requires specific analysis technique. For

example quantitative data needs some kind of statistical analysis while qualitative

data requires analysis of content for emergent pattern and themes. The

quantitative data includes statistical information mostly gathered in surveys, and

questionnaires. The following variables such as “number of students who have

high level of Unix knowledge”, “number of students who frequently perform online

search”, or “number of students who found writing notes helpful in their learning

process” could be example of quantitative data. The qualitative data includes

information mostly gathered from log files, personal observations, or interviews.

Variables such as “pattern of reading material”, “pattern of popular pages”, or

“pattern of spending time on different web pages” could be example of qualitative

data.

For the first phase of data collection, I mainly did qualitative analysis since

the number of subjects was not large enough to perform any quantitative data.

Moreover, the goal of first phase was gathering ideas for the first design phase

that is achievable from qualitative analysis. For the second phase in addition to

qualitative analysis, I performed some statistical tests to carry out quantitative

analysis of the data gathered in the survey.

32
5.1 Quantitative Analysis of Data

On the data collected in the survey, I ran several tests to measure my

quantitative hypothesis mentioned in the previous chapter. I used StatXact

statistical package to perform the tests. Since I was not sure that the data has a

Gaussian distribution, I chose to use non-parametric tests. To compare two

groups of data such as female and male I used Wilcoxon-Mann-Whitney test and

to compare more than two groups of data such as different age ranges, I used

Kruskal-Wallis test. The performed tests with their result are presented in the

following section.

Test #1:

Null Hypothesis: Unix knowledge is not different for different class level

(freshman, sophomore, junior, senior, and graduate) of students.

KRUSKAL-WALLIS TEST [That the 5 rows are identically distributed]


Statistic based on the observed data:
The Observed Statistic = 31.99
Asymptotic p-value:(based on Chi-square distribution with 4 df)
Pr {Statistic .GE. 31.99} = 0.0000
Monte Carlo estimate of p-value:
Pr {Statistic .GE. 31.99} = 0.0000
99.00% Confidence Interval = (0.0000, 0.0005)
As it can be observed in the test result, the p-value is small enough to reject

null hypothesis and conclude that Unix knowledge is different among different

classes of students. The result can be seen in figure 5.1 as well

33
Figure 5.1 - Average Unix knowledge among different class level of students

Test #2:

Null Hypothesis: Unix knowledge is not different among different age

ranges of students.

To convert age data to categorical format I categorized ages to 4 groups

based on observed data: 18 to 24, 24 to 28, 28 to 35, and over 35.

KRUSKAL-WALLIS TEST [That the 4 rows are identically distributed]


Statistic based on the observed data:
The Observed Statistic = 9.230
Asymptotic p-value: (based on Chi-square distribution with 3 df)
Pr {Statistic .GE. 9.230} = 0.0264
Monte Carlo estimate of p-value:
Pr {Statistic .GE. 9.230} = 0.0247
99.00% Confidence Interval = (0.0229, 0.0265)

34
The test result shows with 95% confidence, the null hypothesis could be

rejected and it can be concluded that the older the higher Unix knowledge. The

result can be observed in figure 5.2 as well

Figure 5.2 - Average Unix knowledge among different ages

Test #3:

Null hypothesis: Unix knowledge is not different for students whose native

language is English and students whose native language is not English.

KRUSKAL-WALLIS TEST [That the 2 rows are identically distributed]


Statistic based on the observed data:
The Observed Statistic = 0.3237
Asymptotic p-value: (based on Chi-square distribution with 1 df)
Pr {Statistic .GE. 0.3237} = 0.5694
Exact p-value and point probability:
Pr {Statistic .GE. 0.3237} = 0.5700
Pr {Statistic .EQ. 0.3237} = 0.0009

35
As it is observed in the result of Kruskal-Wallis test, p-value is not small

enough to reject null hypothesis. Therefore it is not possible to conclude that

there is a relation between native language and Unix knowledge.

Test #4:

Null hypothesis: Female students have higher level of Unix knowledge.

KRUSKAL-WALLIS TEST [That the 2 rows are identically distributed]


Statistic based on the observed data:
The Observed Statistic = 3.495
Asymptotic p-value: (based on Chi-square distribution with 1 df)
Pr {Statistic .GE. 3.495} = 0.0616
Exact p-value and point probability:
Pr {Statistic .GE. 3.495} = 0.0614
Pr {Statistic .EQ. 3.495} = 0.0002
Based on the result of the test, p-value is small enough to reject the null

hypothesis. Therefore, it can be concluded that female have less Unix

knowledge. The result can be seen in the figure 5.3 as well

Figure 5.3 - Average Unix knowledge among different genders

36
Test #5:

Null hypothesis: Female students are more probable to prefer writing in the

process of solving a problem.

WILCOXON-MANN-WHITNEY TEST
Summary of Exact distribution of WILCOXON-MANN-WHITNEY statistic:
Min Max Mean Std-dev Observed Standardized
2557. 9366. 5985. 301.9 6466. 1.592
Man-Whitney Statistic = 3981.
Asymptotic Inference:
One-sided p-value: Pr {Test Statistic .GE. Observed} = 0.0557
Two-sided p-value: 2 * One-sided = 0.1115
Exact Inference:
One-sided p-value: Pr {Test Statistic .GE. Observed} = 0.0557
Pr {Test Statistic .EQ. Observed} = 0.0007
Two-sided p-value: Pr {| Test Statistic - Mean |
.GE. | Observed - Mean | = 0.1111
Two-sided p-value: 2*One-Sided = 0.1115

The test result shows that with 94% confidence, the null hypothesis could

be rejected and it can be concluded that the female are less probable to prefer

writing to solve a problem. The result can be observed in figure 5.4 as well.

37
Figure 5.4 - Writing habit among students with different native language

Test #6:

Null hypothesis: English native language students are more probable to

prefer writing in the process of solving a problem.

WILCOXON-MANN-WHITNEY TEST
Summary of Exact distribution of WILCOXON-MANN-WHITNEY statistic:
Min Max Mean Std-dev Observed Standardized
6981. 1.281e+004 9945. 280.7 1.046e+004 1.821
Man-Whitney Statistic = 3553.
Asymptotic Inference:
One-sided p-value: Pr {Test Statistic .GE. Observed} = 0.0343
Two-sided p-value: 2 * One-sided = 0.0687
Exact Inference:
One-sided p-value: Pr {Test Statistic .GE. Observed} = 0.0338
Pr {Test Statistic .EQ. Observed} = 0.0002
Two-sided p-value: Pr {| Test Statistic - Mean |
.GE. | Observed - Mean | = 0.0689
Two-sided p-value: 2*One-Sided = 0.0677

38
As it can be observed in the test result, p-value is small enough to reject the

null hypothesis and conclude that native English speakers are more probable to

prefer writing to solve a problem. The same result can be observed in figure 5.5.

Figure 5.5 - Writing habit among students with different native language

Test #7:

Null hypothesis: There is no difference in preference of writing in the

process of solving a problem for different age group of students

KRUSKAL-WALLIS TEST [That the 4 rows are identically distributed]


Statistic based on the observed data:
The Observed Statistic = 2.416
Asymptotic p-value: (based on Chi-square distribution with 3 df)
Pr {Statistic .GE. 2.416} = 0.4906
Monte Carlo estimate of p-value:
Pr {Statistic .GE. 2.416} = 0.4938
99.00% Confidence Interval = (0.4881, 0.4996)

39
The test result shows that p-value is not small enough to reject null

hypothesis and therefore we can conclude that there is no difference in

preference of writing in different age group of students.

Consequently I could conclude that Unix knowledge is dependent on Age,

Gender, and class level while it is not dependent on native language of students.

Furthermore, I could conclude that writing habit is dependent on native language

and gender while it is independent of age.

5.2 Qualitative Analysis of Data

As mentioned before, after the conduction of the survey, a subsequent

group of students has been chosen for a task-based interview. Unfortunately

because of some timing constraint, I could interview only six students.

Therefore, I could not measure my qualitative hypothesis with certainty.

However, I could observe some patterns in their interaction with web-based

software. Moreover, I received a lot of useful feedbacks from them. The

followings are the qualitative analysis of data gathered in the interview process.

I interviewed two female and four male students while three of them could

be categorized as beginners in term of Unix knowledge, two of them could be

categorized as medium level and one an expert in Unix. Native language of only

two of them was English. Both female students requested not to tape record the

interview that could be representation of their insecurity. I should mention that

Peter Clinton Krasnicki., one of the undergraduate students in our research lab,

helped with one of the interviews.

40
Firstly, I observed that usually students do not go to more than 3 links depth

and it is important to not include materials in more than 3 level depths. Also I

observed that students usually prefer pages that include examples, and they try

to learn different concepts from examples. I observed that usually female

students and advanced users pay more attention to the text written in the pages.

Moreover, every learner independent of gender, and Unix knowledge and class

level, mentioned that knowing Unix is very important, and usually students who

are not good at Unix would avoid courses or teachers who require doing project

in Unix environment. One student mentioned that Unix is important because it is

a “secure operating system”; the other student mentioned that Unix is important

for him because he wants to do networking and knowing Unix is critical for

majoring in computer networking.

One of the student mentioned that she came for the interview mainly to talk

with me as a graduate student who is doing Masters’ thesis. She mentioned that

she also would like to explore the option of doing thesis. She is a part time

student who works part time and taking one course each quarter. This showed

me the importance of building a community for non-traditional students.

As we had already discovered that not an effective Unix course is being

thought in our school, none of the students gained their Unix knowledge in Cal

State Hayward. Usually they had Unix courses in other schools in their home

countries, or they have learned Unix in their jobs.

41
When encountering a Unix problem, mainly they stated that they would

prefer using Unix book since they believed finding out a problem in online

resources is very time consuming. One of the students mentions that online

tutorial in the form of collection of links for different topics will be useful for him.

Interestingly, this was even true for one of the students who were expert in Unix

since he is Unix system administrator. He mentioned that when he has a Perl

question, he would use websites such as CPAN or O’Reilly but he doesn’t know

such a website for Unix. Interestingly, he had a Unix section in his PDA to keep

the Unix related URLs that he thinks are useful. As a result, I understood our

design of ACUT, as annotated and categorized collection of links can be

constructive.

In conclusion, I got more motivation for continuing this project since all of

the students were eagerly asking me when our tutorial would be ready for use.

Although I could not measure my entire hypothesis in the interviews, I learned a

lot in the process of doing the interviews and obtained very useful feedbacks

from students.

42
6 Technologies behind ACUT
ACUT has been developed with Perl, and XML/XSL. It uses PostgreSQL as

the database management service in the backend. All pages of ACUT are

created dynamically from database. Moreover, The source of all pages is in

XML. An XSL style sheet enables the browser to present the XML pages. To

present the dynamic web pages, ACUT uses mod_perl. In this chapter I explain

each one of these technologies in more details.

6.1 Creating Dynamic Pages with mod_perl

The basic way to create interactive and dynamic pages is using Common

Gateway Interface (CGI) scripts. The following diagram shows what happens

when a browser receives a CGI request and how the browser displays a CGI

program. Once a request from a browser comes to the server, the server first

checks if the page is dynamic or static. Then, if the page is dynamic it needs to

execute the CGI program. Once the program is executed and the output is

created, the server sends the output back to the browser. Therefore, every time

that a CGI request comes to the server, a httpd child of Apache running on the

server has to load Perl into memory to be able to run the CGI program. In

addition, the program has to be complied every time.

43
Figure 6.1 - CGI program

In fact, to show the result of a CGI program Apache/httpd has to follow

three steps for every request: loading Perl, compiling the program, and executing

it. Therefore, running a CGI program takes a lot of server time. However,

mod_perl, another way of creating dynamic pages, solves this problem. mod_perl

is a “fully functional Perl Interpreter” embedded into Apache. Therefore, there is

no need to load Perl anytime a request comes to the server. Moreover, when

mod_perl is used, the Apache process cashes the result of compilation after first

time and therefore there is no need for compilation for every request. Thus,

mod_perl is a lot faster than CGI. The following figure shows the difference of

creating dynamic pages with and without mod_perl (Lee & Ware, 2002)

44
Figure 6.2 - Without mod_perl

Figure 6.3 - with mod_perl

45
Although faster creation of pages is a valuable specification of mod_perl, it

also gives the ability to have a full control over Apache server. According to

Lincoln Stein, “mod_perl is more than CGI scripting on steroids. It is a whole new

way to create dynamic content by utilizing the full power of the Apache web

server to create stateful sessions, customized user authentication systems, smart

proxies and much more. Yet, magically, your old CGI scripts will continue to work

and work very fast indeed. With mod_perl you give up nothing and gain so much!

(Stein)”

6.2 XML and XSL

As mentioned before, the source of all ACUT pages are in XML. Using XML

has several advantages. First, XML data is easy to exchange since all the data in

XML is stored in text. Moreover, the XML data is “self-describing”, since the

name of the tags are user-defined. Therefore, the name of the tags could explain

what the data is about. For example in figure 4, part of one the ACUT pages in

XML is shown. The name of tags has a meaning in the context of the

application. For example the tag <topic> says that the component is a topic in a

page, or the tag <parent> says component ROOT is the parent of this

component. Furthermore, the XML data has the structure of data embedded in it

(Holzner, 2001). For example, in figure 6.4 the presented tree hierarchy shows

that a topic is an element that has a component and metadata where component

has parent, link text and so on.

46
Figure 6.4 - Sample XML

Moreover, XML data distinguishes between the content of the data and the

presentation of the data. For example, the presented XML data could be

transformed into a HTML document and present differently using different XSL or

CSS stylesheet files. In addition, it can be transformed to a PDF document, or it

can be parsed and presented differently in different application. Furthermore, not

every part of the data has to be presented to the user. Therefore, XML is a

flexible and organized way of presenting data that overcomes HTML usage

easily.

As mentioned before, browsers use XSL and CSS stylesheet to present

ACUT XML pages. In the figure 6.5 a sample XSL with matched XML is shown.

XSL is a transforming language that formats and styles an XML document. An

XSLT processor processes XSL document. The most recent version of the

browsers such as Internet Explorer, Netscape, and Mozilla has incorporated the

47
XSLT processor. An XSLT processor accepts the XML document and related

XSL document and transforms it to a new format, most commonly HTML

(Holzner, 2001.) An XSL document has the same structure as an XML document

where any tag inside the XSL document would match a tag in the XML document

with a new format such as HTML tags. For example, as it can be seen in the

figure 6.5, the first line matches the <document> tag with <HTML> tag and then

matches <TableOfContent> tag with <td> tag, a cell of a table inside the body

part of the html. Furthermore XSLT processor enables some manipulation on the

data such as looping over all possible matches, specifying pattern for match

attribute, sorting elements, or making choices. These abilities give an incredible

power to combination of XML and XSL (Holzner, 2001).

Figure 6.5 - XSL Along With XML Document

48
6.3 PostgreSQL

PostgreSQL is an object relational database management system

(ORDDBMS), which is an open source project. PostgreSQL provides the

following features that make it powerful:

Complex built-in data types: PostgreSQL supports special data types

such as IP address, or Geometries data types like points, and circle.

Defining aggregate function: Aggregate function allows working on set of

records instead of single record. For example, it can be used to compute a

single result based on multiple rows. For example if we have defined a weather

table as following

CREATE TABLE weather (


city varchar(80),
temperature int);
Then we can define an aggregate function to compute the average

temperature of all cities or a specific city.

SELECT avg(temperature) FROM weather;


SELECT avg_city(temperature) FROM weather where city=’cityname’;

Supporting several languages in user defined database functions:

PostgreSQL support several Procedural Languages (PL) such as Perl, Python,

TCL, and PGSQL and also Non Procedural Languages such as SQL. Therefore,

it provides a great flexibility.

Allowing table inheritance: table inheritance and object-relational is the

most specific feature of PostgreSQL. Every table could inherit as many tables as

49
required. Once a table inherits another table, it inherits all the attribute of that

table. For example we define table cities as follows

CREATE TABLE cities (


name text,
population float,
altitude int -- (in ft)
);
Then we create another table called capitals that inherits table cities.

Therefore, every row of capitals inherits name, population and altitude from

cities.

CREATE TABLE capitals (


state char(2)
) INHERITS (cities);
The inheritance feature makes the query less complicated. For example to

query the name of capitals we can just query the capital table. Without

inheritance either we had to include name attribute in the capitals table that is

against normalization, or we had to write a complicated query to read from two

tables at the same time. Moreover, its object-oriented design works nicely with

object-oriented programming.

ACUT makes use of PostgreSQL features in the backend to create dynamic

pages. In the next section I explain the architecture of ACUT and how it uses

these technologies in more details.

6.4 Architecture of ACUT

The following figure shows the overall picture of ACUT system. As soon as

a user requests one of the pages of the tutorial, the request goes to Apache.

50
Apache is configured in a way that recognizes the request and redirects it to

ACUT Perl modules. Apache configuration is included in appendices.

If the user has not already been authenticated, the request first goes to

Authenticate.pm that takes care of authentication process. It asks the user for

username and password. If the user is registered with the system, the username

and password exists in the database. Therefore, in the authentication process,

the entered username and password is checked with the saved ones in the

database. For safety reason the password is saved in encrypted format. If the

user has entered the correct username and password, then the page request

would be redirected to UTApache.pm, otherwise user would get the “invalid

username/password” message.

UTApache.pm takes care of the rest of the operation. First it checks if the

requested page is the admin page (section to administrate ACUT) or it is an

actual tutorial page. If it is an admin page, then the request is sent to Admin.pm

that takes care of all admin jobs such as creating new elements, editing the

existing elements, or deleting an existing element. Elements could be in the

format of component (the text inside pages), Link (to an internal page or an

external resource), or metadata (information about the data on the page).

Request will be sent to Component.pm, Link.pm, or Metadata.pm based on the

target element of the request. Any changes will be saved into the database

through database.pm

51
In case that the request is an actual tutorial page, UTApache.pm will send

the request to Tutorial.pm. Tutorial.pm builds the page dynamically from

database in XML format. The combination of the XML page and XSL style sheet

will be sent to the browser of the user and will be presented for the user.

Figure 6.6 - Architecture of ACUT

Figure 6.7 presents more details about the database backend of ACUT that

consists of seven tables and is created in PostgreSQL. The first table is the

component table that keeps the information of components such as the unique

id, the text of the component, or the parent of the component. The component

52
table has a 1-n relation with metadata table. 1-n relation means each component

could have n metadata associated with it. The metadata table keeps the

information about the data of the components, such as targeted audience, or

difficulty level. The current metadata table has small number of attributes that

will be expanded in the future plan of this project. The link table keeps the

information of both internal and external links on the pages. Here I have used

the inheritance feature of PostgreSQL. Without inheritance, I had to add one

more attribute to the link table to keep the type of link, or I had to have two

separate external and internal tables with all attributes. The comment table

keeps the information about written notes by students. It keeps the text of the

comment and information about the component that the note is related to, and

the username of the student who has written the note. The user_info table keeps

the information about users who have registered with the system. It keeps their

username and encrypted password, and current cluster. The user_history table

keeps the student’s access history during a session of using ACUT that is being

used for updating user cluster. user_info and user_history tables are used for

implementation of adaptation and student modeling. More details about the

architecture of ACUT and the detailed documentation of the code are available

on the website of our research lab, under the Unix Tutorial project section

(http://acc.csuhayward.edu/projects.html.)

53
Figure 6.7 - Architecture of ACUT database

54
7 ACUT Software
In this chapter I give a description of ACUT software, and how it can be

used. ACUT software consists of two main parts: the Admin section and the

Tutorial section.

7.1 ACUT: Admin

The admin section is the part that is available to administrator users who

could create different section of the tutorial. The development of admin section

has been a collaborative work of another graduate student, Harini Vallabhaneni

and me. The current version of admin section is version 0.0 that is going to be

enhanced very soon. Therefore, some of the screenshots provided in this section

might be outdated very soon. The admin page could be accessed through the

admin URL that is the main URL of the tutorial plus “admin” word. For example: if

the main URL were http://ahat.csuhayward.edu:8021/tutorial the admin URL

would be http://ahat.csuhayward.edu:8021/tutorial/admin. After accessing the

admin URL, the user would be asked for providing username and password. The

following is the screenshot of the login page

55
Figure 7.1 - ACUT Login page

If the authentication is correct and the user has the administrator

permission, the first page of admin section would be presented. Every page of

the tutorial is built out of the following elements:

7.1.1 Component

A component could be a topic, an overview of the topic, a definition related

to the topic, an example for the topic, and quizzes related to the topic. Every

page has a unique topic. In fact the topic of the page makes the URL of the page.

Every component of a page would be created independently. To create a

component the following information is needed:

Component ID: Component Id should be a unique string. The list of current

components will be presented to help choosing a unique Id.

Parent: the id of a component the current component belongs to.

56
Type: This specifies what the type of component is based on the content of

the component. It can be Topic, Example, Definition, Explanation, or Quiz.

Text: This is the text of the component that will be shown on the pages.

Link Text: In case that the component is related to a link or it is going to be

shown up in the table of content, a string could be chosen as the link text. This

will be clearer in the Tutorial section of the software.

Link Order: Same as the link text, components that are related to link could

have order. This field has to be a number.

Style sheet: every component could own style sheet that specifies how that

component would look like. It can be either a CSS or XSL style sheet. The

following is a screenshot of creating component form.

Figure 7.2 - Creating a Component

57
7.1.2 Metadata

Every component owns an associated metadata. The metadata gives the

information such as “who are the frequent audience of this component,” or “what

is the difficulty level of the component.” To associate a metadata first the

component id should be chosen. In the current version, just level of difficulty and

frequent user type has been considered as the metadata that will be changed in

the next version. Level of difficulty of material could be hard, medium, or easy.

The name of cluster specifies the frequent user type of the material. Description

of clusters is in the about section of tutorial that explain what are the attributes of

each specific cluster. Clusters are labeled with color name that is being used in

the presentation of material in the tutorial section. I explain this characteristic

more in the tutorial section.

Figure 7.3 - Associating Metadata

7.1.3 Link

Another element that could be included in the pages is link. Link could be

to an external source or to an internal page. Every link has to be associated with

58
a unique component that is the parent of the link. Therefore, every time before

creating a link a component should be created. In this way the metadata

associated with related component will be considered for the link and also the

link order field of the component could be used to sort the links inside a page. In

addition, every link has a text that will show up in the page and annotation that

explains the content of the linked resource. In case of external link a URI is

requested that is the URI of the resource and in case of internal link, an id of the

linked page is requested. The screenshots of creating external and internal links

are shown below.

Figure 7.4 - Creating External/Internal Link

The admin section, also gives the ability to edit or delete any element of the

page. Since this part of the work is not finished yet and will be done by the other

graduate students, Harini Vallabhaneni, I do not give the details about the edit

part.

59
7.2 ACUT: Tutorial

The main URI of ACUT is http://ahat.csuhayward.edu:8021/tutorial/acut.

When a user sends a request to access any pages of the tutorial, first a login

page will be presented. The login page is similar to admin login page. If learners

have already registered with the system, they can login to the system with their

previous username and password. If learners are new to the system, they can

create new username and password to login to the system. If learners do not like

to register with the system, they can always login as a guest user. However, the

adaptation ability of the system would not be applicable to guest users. Every

page of tutorial is consisted of five sections. A usual page of tutorial is shown in

figure 7.5 with some added annotation to explain different sections of the page.

First section in the pink color shows the username of the student who is

login on the system currently. On the left side of the username there is a colored

bullet that shows what cluster the user belongs to. As mentioned before, colors

have been chosen to name the clusters. For example in the figure below, the red

bullet in the left side of username ‘rosta’ shows that the user belongs to cluster

RED. The pink section also includes a link to logout from the system. The next

section in the light green color shows the topic of the page.

The vertical section in light orange color is the table of content of the

tutorial. Each topic is shown with dark brown and sub-topics with light brown.

The colored bullets in the left side of the topics show that member of the cluster

of the colored bullet are expected to frequently access this topic. Members of

60
more than one cluster could be expected to be interested in one topic and access

the topic frequently. This is the reason that some of the topics have more than

one colored bullet. This is the information that has been specified in associated

metadata section as explained in the previous section. For example the topic

“Monitoring Process” in the figure below bas blue and red bullet that means it has

been interesting for members of both clusters RED and BLUE. Another icon

seen in the table of content is a “foot” icon. The foot icons in the left side of the

topic mean that there are some notes written for the topic. The larger the size of

the foot is the more notes have been written for the topic. The order of topics in

the table of content is adaptive to the student’s cluster. For example for a

student of cluster RED, as shown in the figure below, all topics with the red

bullets are in top of the table of contents.

The next section with the main white background is the body of the page

that includes different material for the topics. Usually it has an overview on the

top of the page, followed by definition section that provides related definitions for

the topic, followed by some examples for the topic, followed by quizzes related to

the topic if available. Every component of the body could also have a colored

bullet with the same meaning that it has been expected to be in interest of

member of that specific cluster. If the current user has been chosen to register

with the system, the components of the body that are not expected to be in the

interest of the current user are shown with dark background. These components

have been chosen based on current user’s cluster. Although the learner still can

61
view the text of these components and can access any link in those components,

the dark background helps the learners to pay less attention to those materials

that are not expected to be in their interest.

User’s cluster is getting updated throughout a session. Once a user started

to access material with a new pattern, the learner’s cluster is updating. Before

updating the cluster, a message will be presented to the learner to inform her or

him about the change.

62
Figure 7.5 - A Tutorial Page

As explained in the previous chapter, to offer footprint of others and to

encourage writing, the learners can write notes for every section of the body part.

For doing so, they can click on the” Write Note” icon on the right hand side of the

body section. When they click on that button, an edit box will be added for each

section for writing note. After they are done with writing the note, they can save

the notes by clicking on the save button available on bottom of edit box. Figure

7.6 shows the screenshot of a page for writing notes.

63
Figure 7.6 - Adding Notes

Once any component holds notes, an icon of footprint would appear at the

top of the section to state that the components carries out footprint of other

students. The icon can be seen in both figure 7.5 and 7.6. The longer the

footprint is the more notes has been written for the related component. For

example, in figure 7.6 “Definitions” component has longer footprint icon that

means it has more notes associated with.

Learners could also view all written notes by clicking on the footprint icons.

When they click on the icon a new window will be opened that shows all the

written comments. Comments written by different users are presented with

different colors, and the background color presents the cluster of user who has

written the notes. The following screenshot shows a sample of a note page.

64
Figure 7.7 - Written Notes

At the end learner could finish a session by easily clicking on logout link at

right top corner of the page. The following shows the logout page. The learners

can go back to the tutorial by clinking on the ACUT logo.

Figure 7.8 - Logout Page

65
8 Current and Future Work
There are several areas to converge in order to expand this work. First,

more data could be collected from computer science students inside and outside

CSUH to expand the design of cognitive model of computer science students and

their interaction with educational software. Moreover, the adaptation algorithm

could be improved by incorporating statistical models to enhance the intelligence

of the system. Furthermore, students’ behavior in terms of writing notes could be

incorporated into clustering approach of student modeling. In addition, the

content of the tutorial could always be expanded to cover more Unix material and

to remain updated with respect to online resources.

I should mention that couple of undergraduate and graduate students, have

become interested in continuing this project. Harini Vallabhaneni, a graduate

student at CSUH, has already started working on the project. She has been

helping me with development of admin section. In addition, Peter Clinton

Krasnicki, an undergraduate student has been also interested in several aspects

of this project. He has helped with the interview process.

Additionally, I would like to extend this work as my PhD dissertation. I hope

to contribute to the field of computer science education by performing this

research.

66
References

Blum, L. (2001). Women in Computer Science: The Carnegie Mellon Experience.

Retrieved from

http://www.cs.cmu.edu/~lblum/PAPERS/women_in_computer_science.pdf

Brusilovsky, P. (1996). Methods and techniques of adaptive hypermedia. In P.

Brusilovsky and J. Vassileva (Eds), Special Issue on Adaptive Hypertext

and Hypermedia, User Modeling and User-Adapted Interaction 6 (2-3), pp.

87-129.

Brusilovsky, p. (1998). Adaptive Educational Systems on the World-Wide-Web: A

Review of Available Technologies.

Dourish P. & Chalmers, M. (1994). Running out of space, models of information

navigation. In the proceeding of HCI’94

Dourish, P. (1999). Where the footprints lead: tracking down other roles for social

navigation. In A. Munro, K. Hook, and D. Benyon (Eds.), Social Navigation

of Information Space. Pp. 15-24. London, Springer.

Dublin Core Metadata Initiative (2003). Dublin Core Metadata Element Set,

retrieved from http://dublincore.org/documents/dces/, May 2003.

Forsberg M., Hook, K. Svensson M. (1998). Design principals for social

navigation tools. Proceeding of the fourth ERCIM workshop on ‘User

Interface for All’, Sweden.

GEM (2002), The Gateway to educational material. Retrieved from

http://www.geminfo.org/Workbench/gem2.html, May 2003.

67
Interactive Glossary: Intelligent Tutoring System. Accessed November 29, 2002

from http://ltsc.ieee.org/doc/wg3/interactive_glossary/ITS.htm

Holzner, S. (2001). Inside XML. New Riders.

Jacobs, E.J., Becker R.J. Creating a gender-equitable multicultural classroom

using feminist pedagogy. Multicultural and Gender Equity. General

Yearbook Editor, Boston College, pp. 107-115.

Johansson, P (2002). User modeling in dialog systems.

Kelly, E. A., Lesh A. R. (2002). Design Experiments in Mathematics Education.

Retrieved September 10, 2002 from

http://gse.gmu.edu/research/de/Lesh_Design Exp in Math Ed 6.pdf

Kurhila, J., Miettinen, M., Nokelainen, P. and Tirri, H. (2002). Educo – a

collaborative learning environment based on social navigation.

Lee J. & Ware B. (2002). Open Source Web Development with LAMP. Addison

Wesley.

Lagoze, C., Sompel, H, Nelson, M., Simeon, W., 2002. Open Archives Initiatives,

Guidelines for repository implementers. Retrieved from

http://www.openarchives.org/OAI/2.0/guidelines-repository.htm

Sawhney, H. and Farzan R. (2002). Teaching Unix Skills to Undergraduate and

Graduate Students in Computer Science.

Stein L. mod_perl: Welcome to the mod_perl world. Retrieved from

http://perl.apache.org on May 16, 2003.

68
Strauss A., Corbin J. (1990). Basics of qualitative research: grounded theory

procedures and techniques. Newbury Park: Sage.

Stockburger, W. D. (1996). Multivariate Statistics: Concepts, Models, and

Applications. Retrieved from

http://www.psychstat.smsu.edu/MultiBook/mlt04.htm

Tully, C. J. (1996). Informal education by computer, ways to computer

knowledge. Computers & Education 27(1), 31-43.

Urban-Lurain, M. Intelligent Tutoring Systems: An historic review in the context of

the development of artificial Intelligence and educational psychology.

Accessed November 29, 2002 from

http://www.cse.msu.edu/rgroups/cse101/ITS/its.htm#_Toc355707493

Wexelblat, A. and Maes, P. (1999), Footprints: History-Rich Tools for Information

Foraging, in proceedings of CHI99, Pittsburgh, PA. pp. 270-277.

69
Appendix A – Sample Survey
1. Gender
❑ Female ❑Male
2. Age

3. Rank your knowledge about Unix with a number from 1 to 5 (5 is the


highest)
❑One ❑Two ❑Three ❑Four ❑Five
4. Rank your knowledge about Lisp with a number from 1 to 5 (5 is the
highest)
❑One ❑Two ❑Three ❑Four ❑Five
5. Rank your knowledge about Perl with a number from 1 to 5 (5 is the
highest)
❑One ❑Two ❑Three ❑Four ❑Five
6. How often do you perform an online search?
❑Once a month ❑Once a week

❑Once a day ❑Very Often


7. What search engine do you use?
❑Google ❑Yahoo ❑Alta Vista

❑Other, Please specify


8. College year?
❑Freshman ❑Sophomore ❑Junior

❑Senior ❑Graduate
9. What is your native language?

70
10. Which of the following methods do you find the most effective for solving a
problem

❑Explain the problem aloud to yourself or to your friend

❑Read the problem several times

❑Start writing some notes about the problem to make it clearer


11. Would you like to attend in the follow-up interview?

The tutorial Project is a project for developing a library of online tutorials


for CSUH computer science students. You will be exposed to a Unix, Perl,
or Lisp online tutorial during the interview. An amount of $15.0 -$20.0 will
be paid to appreciate your participation.

If you consent to be contacted for follow-up interview please give us your


email address. This will not be shared with anyone outside our research
team.

71
Appendix B – Apache Configuration
PerlRequire conf/acut-startup.pl

PerlModule Authenticate

PerlSetVar protectedLoginScript /login.pl

<Files login.pl>
SetHandler perl-script
PerlHandler Apache::Registry
PerlSendHeader On
Options +ExecCGI
</Files>

<Location /login>
AuthType Authenticate
AuthName protected
SetHandler perl-script
PerlHandler Authenticate->login
</Location>

<Location /logout>
AuthType Authenticate
AuthName protected
SetHandler perl-script
PerlHandler Authenticate->logout
</Location>

<Location /addUser>
AuthType Authenticate
AuthName protected
SetHandler perl-script
PerlHandler Authenticate->addUser
</Location>

72
<Location /tutorial>
SetHandler perl-script
PerlHandler UTApache
AuthType Authenticate
AuthName protected
PerlAuthenHandler Authenticate->authenticate
PerlAuthzHandler Authenticate->authorize
require valid-user
</Location>

73

Das könnte Ihnen auch gefallen