Beruflich Dokumente
Kultur Dokumente
of
In Partial Fulfillment
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
programs.
ii
ADAPTIVE COLLABORATIVE ONLINE UNIX TUTORIAL
By
Rosta Farzan
Approved: Date:
_____________________________ __________________
_____________________________ __________________
_____________________________ __________________
iii
Acknowledgments
I would like to thank my advisor Prof. Hilary Holz. Hilary was the main
work to the point that it is today. Hilary has been at once, mentor, colleague, and
The other members of my thesis committee, Prof. Lynne Grewe, and Prof.
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
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
Foundation.
iv
Table of Contents
Abstract.........................................................................................................ii
Acknowledgments........................................................................................iv
1 Introduction ............................................................................................ 1
2 Background ............................................................................................ 1
3 Approach.............................................................................................. 13
4 Data Collection..................................................................................... 25
4.1 Research Methodology ................................................................. 25
5 Results ................................................................................................. 32
References................................................................................................. 67
vi
Appendix A – Sample Survey .................................................................... 70
vii
Table of Figures
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
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
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
learners. Learners are encouraged to write notes and comments while going over
This thesis describes the design and development of ACUT. Because of the
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
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
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
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
schools maintained static and out of date online documentation. Very few
conclusion has been the groundwork for design and development of ACUT.
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
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
Social navigation has been incorporated in many of the existing online systems
interest matches derived from ratings of a group of users with the same set of
alone’ in the hyperspace (Kurhila et al., 2002.) A form of social navigation that
very close to what naturally takes place inside the traditional classroom and is
are being applied to help teachers and students teach and learn better. Web
3
technologies and software technologies are not an exception. However,
software have not been emerged into classes and schools in practice.
Researchers in the field of artificial intelligence are trying to understand more and
techniques to model and analyze human learning. A promising field in this area is
were generally created for the purpose of improvement in skill-based domain like
(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.)
teacher model, and student model and the pedagogy of the system, which is the
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
The main job of teacher model is transferring students from their current
gather the information about each student to represent student knowledge and
5
students’ progress. Individual’s information can be gathered in an implicit,
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.
valuable advantage.
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.
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
personal information causes privacy issues. Students might not feel comfortable
8
to give their correct personal information and provide some phony data that
learners. While they are doing the task, their interaction with the system will be
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
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.
The figure below shows the overall picture of these three models.
9
Figure 2.2 - Three approaches of Knowledge Model
“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
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.
Recently, a lot of attention has been paid into Web-based education and
available. However, most of the existing educational systems on the web consist
learners have different learning style, different preferences, and different level of
being adopted from ITS area or AHS area. Adaptation in the area of ITS is
students’ answer to the given problems and tries to help students understand
11
what is exactly wrong or right while providing individualized feedback. Interactive
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
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
ACUT.
education, I understood that the key reason for Unix experience gap among
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
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
their questions, express their thought, and collaborate with others while they
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
modified over the time and could be used just in time can be a solution for
teaching Unix.
14
materials prevents redundant writing of the information that already exists on the
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,
3.2 Adaptation
knowledge levels. Rigid software that could not address different needs of
students while they are teaching and instructors are able to adapt their teaching
15
3.2.1 Student Modeling Through Clustering
of the existing ITS, ACUT focuses on modeling of learner’s behavior other than
group learners. Subsequently, pages of the tutorial will be adapted to needs and
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.
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
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
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.
ACUT.
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
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
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
18
quizzes components. To explain various properties of each component, a set of
metadata is associated with each section. The metadata set associated with
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
relational fields to as ACUT metadata set to show more specific relations than
of its parent.
tutorial to register with Open Archives Initiative (Lagoze et al, 2002,) which is
The following tables explain different fields of each metadata set. The
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
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
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
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
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.
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
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
why they need to login and what do they gain if they login. Fourth, to address the
ask any question at the first use and instead rely on students’ navigational
because I believe it is closer to natural ways of mutual aid that happen in the
thoughts about this type of collaboration and also the effect of collaboration on
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
footprint of navigation and access of other students is left in the tutorial, which is
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
will change the status of a reader from passive to active while communicating
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
requires a series of development, testing and revision cycles (Kelly & Lesh,
words, the design processes contribute to learning and also to the documentation
development, the cost of changes in design is too high that prevents fundamental
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.
The first phase was an informal set of interviews inside our research lab
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
writing in learning process. Our productivity was always higher when we tried to
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
The second phase of data collection includes conducting formal survey and
interview. The main goal of this phase of data collection was learning about
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
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
4.3.1 Objectives
of studying, the amount of time spent on different type of web pages, the
27
4.3.2 Hypotheses
students tend to jump over links to find the required information. Also,
requested task. Beginners are also more likely to spend more time on
introductory pages.
task. However, they are more likely to prefer pages with graphics
(Jacobs & Becker, 1997) and they are more likely to read comments
• Non-native English speakers prefer less text and spend more time
reviewing it.
28
• Female students are more likely to prefer writing while solving a
problem
knowledge. The higher the class level is the better Unix knowledge.
levels of students.
knowledge.
I conducted the survey among 170 students of the following four cohorts:
Engineering
Programming
29
I have chosen classes in different level to target students from different
classes to target different age ranges of students and both traditional and non-
courses to target audience with and without previous experience of using web-
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
because students could complete the task with no time limit. I have chosen the
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
design of ACUT. Therefore, a Unix, Lisp or Perl problem (matched with the level
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-
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
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
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
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
32
5.1 Quantitative Analysis of Data
statistical package to perform the tests. Since I was not sure that the data has a
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
null hypothesis and conclude that Unix knowledge is different among different
33
Figure 5.1 - Average Unix knowledge among different class level of students
Test #2:
ranges of students.
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
Test #3:
Null hypothesis: Unix knowledge is not different for students whose native
35
As it is observed in the result of Kruskal-Wallis test, p-value is not small
Test #4:
36
Test #5:
Null hypothesis: Female students are more probable to prefer writing in the
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:
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:
39
The test result shows that p-value is not small enough to reject null
Gender, and class level while it is not dependent on native language of students.
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
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
Peter Clinton Krasnicki., one of the undergraduate students in our research lab,
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
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
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
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
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
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
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
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.
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
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
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
43
Figure 6.1 - CGI program
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
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
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
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)”
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
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
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.
ACUT XML pages. In the figure 6.5 a sample XSL with matched XML is shown.
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
(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
48
6.3 PostgreSQL
single result based on multiple rows. For example if we have defined a weather
table as following
TCL, and PGSQL and also Non Procedural Languages such as SQL. Therefore,
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
Therefore, every row of capitals inherits name, population and altitude from
cities.
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
tables at the same time. Moreover, its object-oriented design works nicely with
object-oriented programming.
pages. In the next section I explain the architecture of ACUT and how it uses
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
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
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
username/password” message.
UTApache.pm takes care of the rest of the operation. First it checks if the
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
format of component (the text inside pages), Link (to an internal page or an
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
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.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
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
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
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.
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
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
admin URL, the user would be asked for providing username and password. The
55
Figure 7.1 - ACUT Login page
permission, the first page of admin section would be presented. Every page of
7.1.1 Component
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.
56
Type: This specifies what the type of component is based on the content of
Text: This is the text of the component that will be shown on the pages.
shown up in the table of content, a string could be chosen as the link text. This
Link Order: Same as the link text, components that are related to link could
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
57
7.1.2 Metadata
information such as “who are the frequent audience of this component,” or “what
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
7.1.3 Link
Another element that could be included in the pages is link. Link could be
58
a unique component that is the parent of the link. Therefore, every time before
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
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
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
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
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
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
62
Figure 7.5 - A Tutorial Page
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
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
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
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
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
content of the tutorial could always be expanded to cover more Unix material and
student at CSUH, has already started working on the project. She has been
research.
66
References
Retrieved from
http://www.cs.cmu.edu/~lblum/PAPERS/women_in_computer_science.pdf
87-129.
Dourish, P. (1999). Where the footprints lead: tracking down other roles for social
Dublin Core Metadata Initiative (2003). Dublin Core Metadata Element Set,
67
Interactive Glossary: Intelligent Tutoring System. Accessed November 29, 2002
from http://ltsc.ieee.org/doc/wg3/interactive_glossary/ITS.htm
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,
http://www.openarchives.org/OAI/2.0/guidelines-repository.htm
68
Strauss A., Corbin J. (1990). Basics of qualitative research: grounded theory
http://www.psychstat.smsu.edu/MultiBook/mlt04.htm
http://www.cse.msu.edu/rgroups/cse101/ITS/its.htm#_Toc355707493
69
Appendix A – Sample Survey
1. Gender
❑ Female ❑Male
2. Age
❑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
71
Appendix B – Apache Configuration
PerlRequire conf/acut-startup.pl
PerlModule Authenticate
<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