learning unix online

Reviews
Shared by: Lester Caldwell
Stats
views:
91
rating:
not rated
reviews:
0
posted:
2/1/2009
language:
English
pages:
0
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 2 Introduction ............................................................................................ 1 Background ............................................................................................ 1 2.1 2.2 2.3 Unix experience gap ....................................................................... 1 Social Navigation ............................................................................ 2 Intelligent Tutoring System (ITS)..................................................... 3 Expert model............................................................................ 4 Teacher Model ......................................................................... 5 Student Model.......................................................................... 5 Knowledge model .................................................................... 9 Interaction Model ................................................................... 10 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 3 Adaptive Hypermedia Systems & Adaptive Educational Systems 11 Approach.............................................................................................. 13 3.1 3.2 Web-based Tutorial....................................................................... 13 Adaptation ..................................................................................... 15 Student Modeling Through Clustering.................................... 16 Adaptation and Metadata ....................................................... 18 Adaptation and Usability issues ............................................. 22 3.2.1 3.2.2 3.2.3 3.3 4 Social Navigation .......................................................................... 23 Data Collection..................................................................................... 25 4.1 4.2 4.3 Research Methodology ................................................................. 25 Data Collection: Phase One.......................................................... 26 Data Collection: Phase 2............................................................... 26 Objectives .............................................................................. 27 Hypotheses ............................................................................ 28 Process of Formal Data Collection......................................... 29 4.3.1 4.3.2 4.3.3 5 Results ................................................................................................. 32 5.1 5.2 Quantitative Analysis of Data ........................................................ 33 Qualitative Analysis of Data .......................................................... 40 6 Technologies behind ACUT ................................................................. 43 6.1 6.2 6.3 6.4 Creating Dynamic Pages with mod_perl ....................................... 43 XML and XSL ................................................................................ 46 PostgreSQL .................................................................................. 49 Architecture of ACUT .................................................................... 50 7 ACUT Software .................................................................................... 55 7.1 ACUT: Admin ................................................................................ 55 Component ............................................................................ 56 Metadata ................................................................................ 58 Link ........................................................................................ 58 7.1.1 7.1.2 7.1.3 7.2 8 ACUT: Tutorial .............................................................................. 60 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-ThenRules 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 Name Identifier Version Registration Authority Language Definition Obligation Data type Maximum Occurrence Comment Explanation The label assigned to the data element The unique identifier assigned to the data element The version of the data element The entity authorized to register the data element The language in which the data element is specified A statement that clearly represents the concept and essential nature of the data element Indicates if the data element is required to always or sometimes be present Indicates the type of data that can be represented in the value of the data element Indicates any limit to the repeatability of the data element A remark concerning the application of the data element Table 3.1 - Dublin Core Metadata Set (Dublin Core Metadata Initiative, 2003) Field Date: Accessed Relation: IsOverviewOf Relation: IsDefinitionOf Relation: IsQuizOf Relation: IsExampleOf Explanation Date on which the resource was accessed by audience The resource being described is an overview of its parent The resource being described is a definition of its parent The resource being described is an assessment of its parent The resource being described is an example for its parent Table 3.2 - ACUT Metadata Set 20 Field Audience: Beneficiary Audience: Level Audience: Age Audience: Prerequisite Coverage Date: Created Date: Valid Date: Available Date: Modified Duration Explanation The target audience of the resource Level of audience of this resource The specific range of audience of this resource The designation of learning prerequisite. The Scope of the content of the resource Date of creation of resource Date of validity of resource Date that the resource will become or did become available Date on which the resource was changed 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 nontraditional 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 webbased 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 taperecorded 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 2557. Max 9366. Mean 5985. Std-dev 301.9 Observed 6466. Standardized 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 6981. Max 1.281e+004 Mean 9945. Std-dev 280.7 Observed 1.046e+004 Standardized 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 says that the component is a topic in a page, or the tag 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 tag with tag and then matches tag with 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), int); temperature 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 population altitude ); text, float, 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 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 ❑Male ❑Once a day ❑Very Often ❑Alta Vista 7. What search engine do you use? ❑Google ❑Yahoo ❑Other, Please specify 8. College year? ❑Freshman ❑Sophomore ❑Graduate ❑Junior ❑Senior 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 SetHandler perl-script On PerlHandler Apache::Registry PerlSendHeader Options AuthType Authenticate AuthName protected SetHandler perl-script PerlHandler Authenticate->login AuthType Authenticate AuthName protected SetHandler perl-script PerlHandler Authenticate->logout AuthType Authenticate AuthName protected SetHandler perl-script PerlHandler Authenticate->addUser +ExecCGI 72 SetHandler perl-script PerlHandler UTApache AuthType Authenticate AuthName protected PerlAuthenHandler Authenticate->authenticate PerlAuthzHandler Authenticate->authorize require valid-user 73

Related docs
Unix-A-Beginners-Guide
Views: 4  |  Downloads: 2
An Introduction to UNIX
Views: 91  |  Downloads: 21
unix training online
Views: 33  |  Downloads: 0
Introduction to Unix
Views: 0  |  Downloads: 0
Introduction to Unix
Views: 12  |  Downloads: 2
Unix
Views: 50  |  Downloads: 11
UNIX
Views: 11  |  Downloads: 0
Introduction to Unix
Views: 10  |  Downloads: 4
UNIX_Linux Fundamentals_
Views: 0  |  Downloads: 0
basic unix linux commands
Views: 1263  |  Downloads: 217
learning unix scripting
Views: 132  |  Downloads: 14
learning online
Views: 104  |  Downloads: 6
Introduction to Unix and the X Window System
Views: 17  |  Downloads: 4
premium docs
Other docs by Lester Caldwe...
adopt320
Views: 132  |  Downloads: 0
Jon Stewart1
Views: 165  |  Downloads: 0
Board First Meeting Minutes California
Views: 275  |  Downloads: 12
Job requirements checklist
Views: 395  |  Downloads: 20
Direct Deposit Enrollment Form
Views: 488  |  Downloads: 25
randolph-all
Views: 537  |  Downloads: 1
Heuristic Physicsl Inc Ammendments and Bylaws
Views: 157  |  Downloads: 0