WebCMS: A Web-based Course Management System Ong Siew Siew School of Computer Science & Engineering University of New South Wales UNSW Sydney 2052, Australia
[email protected]
Abstract This paper describes the development of and initial experiences with WebCMS (a web-based course management system), a learning management system developed in the School of Computer Science and Engineering (CSE) at the University of New South Wales (UNSW). The system was developed to facilitate existing CSE practices and overcome limitations of existing CSE course management tools, but has evolved into a generic on-line course management platform. It also provides some insight into what can be achieved towards on-line learning by a single programmer using a collection of open-source tools.
John Shepherd School of Computer Science & Engineering University of New South Wales UNSW Sydney 2052, Australia
[email protected]
ber of problems with this approach that make it less than ideal. The problems include limited integration of systems, high maintenance cost, low accessibility off-campus, etc. One aim of this work was to provide a single system that could overcome these problems, yet not disrupt existing CSE teaching practices substantially. In the next section, we detail the problems in the existing CSE systems and explain why we implemented our own database-backed web solution to overcome them. Section 3 provides an overview of the functionality of the WebCMS system. Section 4 gives details of WebCMS’s software architecture. Section 5 describes our experiences with using the system thus far. Section 6 concludes what we have learned from this exercise and suggests directions for future development of the system.
1. Introduction 2. Background The School of Computer Science and Engineering (CSE) at the University of New South Wales (UNSW) has a large student enrolment. Classes typically contain more than 300 students (and up to 900 in large first year classes). Administering and assessing such large classes is a daunting task. Over the last decade, CSE has developed a looselyintegrated collection of Unix-based tools [2] to assist in managing these large classes. SMS (Student Management System) maintains class lists and provides a gradebook, a report generator, and a marks finalisation system. The Give system allows students to submit work (typically programming projects) online and have the submissions run through a set of pre-determined test cases. The Xmark system allows tutors to assess student submissions, and feed the assessment results back into SMS. The Sirius system allows students to choose which tutorials and laboratory classes they wish to attend. Since around 1995, it has also been routine for each CSE course to maintain a web site containing a bulletin board (for administrative notices) as well as course materials such as lecture notes. While SMS/Give/Sirius and the Web site combine to give an online presence for each course, there are a num-
CSE course web sites are created using a variety of approaches, e.g. manually editing HTML using text or HTML editors, web authoring programs (e.g. Dreamweaver) or even commercial Web course development tools (e.g. WebCT [9]) depending on lecturer’s background, experience and interest. A typical CSE course web site contains the course outline, notice board, lecture notes, assignments, projects, staff information, links to external resources etc. There is no standard for the structure of the course web site (although a course outline is required). However, a de facto standard for the course web sites has emerged (based on [6]). Maintaining course web sites is a relatively tedious and time-consuming task, even with an HTML editor. The SMS system also has a high maintenance cost, because it uses a snapshot of the central university enrolments database which has to be manually downloaded. The use of a snapshot is also bad from the database consistency point of view (for example, at the end of each semester lecturers are required to manually remove all students from their SMS databases who are no longer officially enrolled in their
to examine the benefits of developing a purpose-built system over simply using a generic system
courses). Also, archival storage of databases relies on the lecturer for the current semester not removing or overwriting the snapshot databases from earlier semesters. A second problem is that there is no useful integration between the web sites and the SMS/Give systems. If data from SMS needs to be published on the web, it must be manually transferred to the web site. Transfer from the web sites to SMS/Give is not an issue because the web sites are largely read-only (i.e. they do not collect any data that needs to be uploaded to the SMS/Give system). A third problem relates to lack of accessibility of the systems from outside the UNSW campus. While the course web sites are obviously accessible off-campus, the SMS/Give systems are implemented using Tcl/Tk/Xwindows and it is not feasible to use them over standard modem connections. This has caused a major inconvenience to lecturers and students (e.g. students could not check their marks for the course from home). Even when used on the UNSW campus, the SMS/Give systems suffer from some less than satisfactory usability. The systems require considerable manual effort to achieve many apparently simple tasks (e.g. generating reports is a tedious process). A particular usability problem is that parts of the system (e.g. the marks finalisation) are used only once every semester and people readily forget the finer details of using the system from one semester to the next, resulting in considerable frustration. In order to address the above problems, this project proposes to use a a database-backed course management system using the web as the interface medium. The use of a central database to manage information for all courses solves the consistency and archiving problems mentioned above. The use of a web front-end solves the problem of off-campus accessibility, and, if properly done, can also address the usability problems. While the discussion here focuses on the application of the system in CSE, the system has been designed with flexibility in mind and should be portable to other educational contexts. An obvious question arises at this point: Systems such as BlackBoard [10] and WebCT[9] already exist and provide much of the functionality described above. So why not simply use them? WebCT and Blackboard are both commercial products, and thus expensive. WebCT is implemented in Perl/CGI and, until recently, did not use a database backend. Prometheus [5] is a free, open-source system, but is implemented on top of ColdFusion which is commercial. We were interested in building our own system for several reasons:
3. Web-based Course Management System WebCMS allows lecturers to create courses and manage student- and course-related matters through a web-based application backed by a centralised database. For lecturers, WebCMS aims to minimise the time and effort required to produce a course Web page in a style similar to most of the current CSE course Web pages. For students, WebCMS creates a common look and feel to CSE course Web pages, helping students to orient themselves and to know immediately where to go to retrieve information. Figure 1 shows the appearance of a typical course web page under WebCMS. Note that all web pages in a WebCMS site (ex-
Figure 1. Course Main Homepage cept for content pages such as lecture notes) are dynamically generated, using information from the database.
3.1. Features
to examine another point in the space of possible implementation platforms (Apache/PHP/mSQL)
This section introduces tools and features of WebCMS for both students and lecturers. A WebCMS course web page consists of a number of tools and content elements
to see how much effort was involved in building a system like these 2
which are made accessible to users via a menu sidebar (see Figure 1). Each tool has a number of capabilities, only some of which may be available to a given user. For instance, students are not allowed to modify grades or read the grades of other students, but lecturers can. There are several classes of users, each with different capabilities; these are discussed in detail in Section 3.2.
for the course. The Assessment component enables lecturers to update student results on the course items. Student assessment results can be entered one student at a time, or can be uploaded for multiple students in a simple, predefined format. In either case, WebCMS checks the value entered according to the constraint specified by the lecturer. The Final Mark component allows lecturers to generate a final mark and corresponding grade for each student in the course. Lecturers enter a formula and WebCMS automatically calculates final marks and grades from this. This tool also provides a facility for scaling, which allows lecturers to scale the mark for any of the course items via a graph which shows the overall class performance for that item. Group Management. Many CSE courses involve group projects. WebCMS enables lecturers to indicate that groups will be used in a course and to set limits on group size. After groups have been created by the students, lecturers can then monitor and track group progress. Indicators of group participation such as number of messages and notices posted in the group Web page are available. Lecturers can send comments to the group via WebCMS’ group mail facility. Tool Incorporation. A tool is a feature supplied by WebCMS (such as Message Board or Group Management) that can be incorporated into any course. A particular tool may not be appropriate in all courses, and so WebCMS provides a facility enabling lecturers to add/delete these tools when necessary.
3.1.1 Lecturer Tools Course Look and Feel. WebCMS provides an interface for customising course Web pages. For instance, the colour scheme of the web site can be chosen from a palette or a custom colour can be created. A default set of tools is made available in the sidebar on the course web page; tools can be added/removed by lecturers as necessary. Course Content Management. CSE courses have several kinds of course material e.g. lectures notes, tutorial sheets and solutions, lab exercises. These, and other kinds of material, can be integrated into the system in three different ways. First, lecturers can upload course-related materials to the WebCMS server. Second, they can provide links to external sources that contain the course content. Third, they can use system-provided templates to generate course content and store it in the database. Currently, the template facility is being used in generating the course outline. Notice Board. This allows lecturers to post messages of interest to the class. The Notice Board appears in the main frame when students initially access the course web site (see Figure 1). Calendar. A calendar allows lecturers to post information about class events (name of event and date). WebCMS displays a list of events along with the number of days left before each event. This allows students to keep track of their class schedule, and to see the past and future events. Student Management. This is one of the major features of WebCMS, allowing lecturers to manage and track student assessment. There are four major components included in this feature: The Student component provides facilities for lecturers to add/delete students to the course. WebCMS provides a searching facility for lecturers to search for students in CSE. Lecturers can also view the class list for the course in a variety of configurations and orderings. The Course Assessment Item component allows lecturers to create a grading object for course-related items such as assignments, projects, tests, labs, etc. Items can be stored in a number of different formats, including numeric marks, enumerations (e.g. grades) and arbitrary text. Different constraints can be placed on these items, so that the system can validate values entered by lecturers when updating student assessment. By defining a collection of assessment items, the lecturer is essentially defining the assessment scheme
3.1.2 Student Tools Message Board (aka Bulletin Board). An asynchronous threaded discussion board provides means for students to engage in collaborative exchange about topics on the course and allows classmates to discuss various issues. It facilitates communication among students and lecturers in a course in the form of one-to-many communications. Assessment. WebCMS allows students to access their own grades on assignments and tests, and course statistics (such as minimum, maximum marks for each course assessment item). In addition, a graph is presented showing the class achievement for each course assessment item. Group Management. As noted above, group project work is common in CSE courses. WebCMS provides a private space for groups of students to organise and track collaborations. WebCMS allows students to form project groups, and auto-generate a group Web page once the registration process is complete. Under the Group Web page, various tools exist to facilitate communication and collaboration among group members such as Notice Board, Calendar, To Do List, Message Board, Meeting Minutes, WebCVS (a tool for managing group CVS repositories via the Web), etc. Furthermore, group members have the ability to 3
SAM LIC LEC TUT STU PUB
Global Properties read/write read/write read-only read-only read-only read-only
Course Content read/write read/write read/write read-only read-only read-only
Item Value read/write read/write read/write read/write read-only no access
Message Board read/write read/write read/write read/write read/write read-only
Group Web Page read/write read-only read-only read-only read/write read-only
4. System Architecture This section outlines the implementation of WebCMS, including the platform, the overall system architecture and module architecture, and the user interface.
4.1. Platform
Table 1. Privileges for each User Group WebCMS was implemented using PHP3 [8, 1], an HTML-embedded server-side scripting language that is similar in syntax to C and Perl. PHP is available as a module for the Apache [7] web server, which dictated the use of Apache. The database used was miniSQL [3], aka mSQL, a lightweight database engine which offers a subset of SQL as its query interface[3]. PHP and mSQL were chosen primarily because both of these technologies are open source, and are freely available on the Internet. PHP was also chosen because it is simple to use, and has an extensive library of functions that provide database access for most of the major RDBMSs. The fact that PHP has interfaces to many databases is useful because it allows WebCMS to be implemented on top of other database back-ends.
upload/download files to/from the server with permission. In addition, group members have the ability to customise their group Web page such as changing the colour scheme, create links in the navigation bar, etc.
3.2. User Groups WebCMS implements role-based access control by giving different privilege levels to users based on their user classes. There are six classes of user in WebCMS: The System Administrator (SAM) manages students, lecturers, and courses on WebCMS. One major task for the SAM is to upload student information from the central UNSW database. A Lecturer-In-Charge (LIC) is responsible for creating courses on WebCMS and maintaining the courses s/he is in charge of, and finalising student marks for the course. Lecturers (LEC) and Course Administrators assist the Lecturer-In-Charge in running the course. They have the same privileges, but have different titles primarily for display purposes. Tutors (TUT) assist lecturers in managing the course. They maintain the marks for students who are in their tutorial/lab group. Students (STU) are those who are enrolled in a particular course. They can perform functions such as viewing their grades and posting messages in the Message Board. General Public (PUB) can be students who are not enrolled in that course, lecturers or outsiders. Once logged in to the system, WebCMS presents a view of the course based on the user’s privilege level. Figure 1 shows the front page of the course web site after user jas (an Administrator) has logged in. Table 1 summarises the access that each user group has to these aspects of the course web site. The different aspects of the system which are controlled by the privileges include: Global Properties of the course, such as the colour scheme, list of enrolled students, tool incorporation, and list of assessment items (class schema). Course Content, including lecture notes, tutorial and lab exercises, assignment specifications, and links to external resources. Assessment Item Values, which are the marks awarded for the assessment items. Group Web Pages, which are the private web space for each group of students. Message Board, which is the public discussion board for the class.
4.2. Module Architecture WebCMS is constructed using a module-based framework. A WebCMS module is a self-contained subsystem, such as Message Board, Notice Board, Calendar etc. From a user’s point of view, a module is a course tool, delivering a service that is visible to the user. From a programmer’s point of view, a WebCMS module consists of a collection of SQL table definitions, a set of library functions and an collection of interface pages. The library functions provide operations on the data in the tables along with a means of displaying the contents of the tables. The interface pages contain a basic HTML framework along with calls to the library functions (in embedded PHP code). WebCMS provides a core module which is used as a basis for the built-in and custom modules. Figure 2 shows the module architecture of WebCMS. The core module consists of:
User database tables (i.e. student and staff tables, course and enrolment tables) A set of core (generic) APIs for: – Displaying HTML output (to ensure consistent look and feel over the entire system) – Managing sessions (initialising, validating, extending, timing-out or closing them) – Translating the session id into other useful information such as username, student/staff id, access privilege, etc. 4
Control
Control
Input Area Menu
Menu Display
Current State
(a) Viewing current state
(b) Making changes
Figure 3. Frame layout for different modes displays a set of functions related to a particular subsystem (e.g. Add, Edit, Delete and View), whereas Display frame is the frame where user views information or provides input to the system. For operations that modify the database, the Display frame is subdivided into a bottom part which displays the current contents of the databases and a top part where the user enters new values (see Figure 3(b)).
Figure 2. Module Architecture of WebCMS WebCMS also provides a collection of built-in modules (e.g. Course Creation and Notice Board) on top of the core module. The built-in modules provide generic functionalities that are required for all courses. In addition, various custom modules are defined, which can be included in a course web site at the discretion of the lecturer-in-charge. Examples of such modules are the Message Board and the Web-based Group Management System (aka WebGMS). Built-in modules and custom modules consist of:
5. Experience The system was evaluated for usability as well as for standard engineering criteria such as reliability, efficiency and maintainability. It has also been used ”live” by several CSE courses in the second half of 2001. This section describes our experiences with using the system.
data in their own database tables, and refer to the attributes in core data model. their own set of scripts which use the library functions of the core module to handle administration operations (e.g. session validation, privilege checking, etc.) and to produce consistent HTML output throughout the web site.
5.1. Usability Analysis Usability testing was carried out using lecturers, students and administrative staff of CSE. The aim was to gain a better understanding on how users interact with the system, how well the system supports standard CSE workflows, as well as identifying areas of possible weaknesses in the system for future improvement. One type of testing involved detailed monitoring of individual subjects using the system in the CSE HumanComputer Interaction laboratory. We also had a broader range of subjects fill out a usability questionnaire. The monitored subjects had a wide range of computing experience, from novices to experts. Each monitored subject was given a specific task to perform, but given no instructions or training in using the system. Further details of the experiments are available in [4]. We observed that subjects were able to perform the tasks with little difficulty, but there were several aspects of the system that caused problems. One commonly-cited problem was the lack of obvious feedback after performing updates in certain contexts (for example, adding a new notice
This architecture makes it relatively straightforward to add new custom components to the system (and, in fact, both the Message Board and WebGMS were added in this way subsequent to the initial development of the system).
4.3. Interface Implementation WebCMS uses a consistent interface convention to enhance usability. The system always has visible a sidebar (left-hand frame) containing a list of all the operations/subsytems available to the user and a login form if not logged in (see Figure 1). In “read” mode (when the user has only read privilege on a section of the site), the system has a single right-hand frame containing the current content. In “read/write” mode (when the user has the ability to modify content), the righthand frame is subdivided into a Control frame and a Display frame, as shown in Figure 3(a). The Control frame 5
single Web-based interface that has been used successfully with a number of courses. The system was built on a completely open-source platform by one programmer over a period of two months, working part-time on the project. While WebCMS does not contain the complete functionality of a system like WebCT, its development demonstrates that it is quite feasible to develop special-purpose web-based teaching/learning systems with relative ease. Development of the system has continued during the the second half of 2001. A new class registration module was implemented to replace the Sirius system. Also, the usability problems with the three-frame-update layout were fixed. Future work includes implementing an on-line submission and marking module, a facility to copy information about a course from one semester to the next, and a “workbook” module where students can maintain a collection of personal information (links, notes and annotations for content pages) related to each course. The platform will also be used to explore research ideas in the area of collaborative content development and personalised content delivery.
to the Notice Board). In fact, it was being updated in the Current State frame, but subjects were not noticing. In addition, some subjects thought that the GO button in the Control frame was unnecessary; they felt that simply making the selection should trigger the chosen action. A significant usability problem occurred with the frame layout for updates. The Submit button was often not visible in the middle frame (input area); the data entry form elements occupied the entire frame and scrolling was needed to reach the Submit button. Most subjects expected the Submit button to be visible and were confused when it was not (many did not notice the scroll bar at the side of the frame); some of them attempted to use the GO button in the Control frame, which had the unfortunate side-effect of removing their entered data. To solve these problems, we could revert to a two-frame model for updates. When the Go button is used to select an update action, the lower right-frame is used entirely as the input area. This should ensure that the Submit button is visible. When the Submit button is pressed, the lower-right frame displays the newly-updated state of the database. If further updates are required, the Go button is pressed again.
References 5.2. "Live" Testing [1] L. Atkinson. Core PHP Programming. Prentice Hall, 1999. [2] S. Fischer, G. Whale, M. Whale, and C. Willock. Manual: student database management, assignment submission and marking systems (version 2.2). School of Computer Science and Engineering, UNSW, February 2000. [3] Hughes Technology. Mini SQL 2.0 reference. http://www.hughes.com.au/library/msql/manual 20/. [4] S. S. Ong. A Web-based Course Management System. Honours Thesis, School of Computer Science and Engineering, University of New South Wales, 2001. [5] Prometheus.com. Prometheus: the evolution of learning. http://www.prometheus.com/. [6] J. Shepherd. COMP3311 99s2 Home Page. http://www.cse.unsw.edu.au/ cs3311/99s2/. [7] The Apache Software Foundation. Apache Home Page. http://www.apache.org/. [8] The PHP Group. PHP hypertext preprocessor. http://www.php.net/. [9] WebCT. WebCT.com Home Page. http://www.webct.com/. [10] D. Yaskin and S. Gilfus. BlackBoard 5 – Introducing the BlackBoard 5: Learning System. White Paper, BlackBoard Inc., 2001.
The most recent evaluation of the system was to use it ”live” for four courses in CSE in the July-November semester of 2001. These courses ranged from a large undergraduate class of 440 students to small postgraduate classes (20-40 students). The system proved to be extremely reliable (helped by the fact that it was running on a very stable server). Neither the Apache server nor the mSQL database had any downtime during the semester. The undergraduate class made extensive use of the Message Board facility, and suggested some modifications to the user interface, which were successfully incorporated (with no downtime). Several hundred messages were posted on the Message Board, with students often answering queries from other students before the Lecturer had a chance to respond. One of the postgraduate classes had a group project, and the groups used the WebGMS module to set up group web pages. However, they did not make extensive use of the facilities such as the web-based source-code control system.
6. Conclusion A web-based course management system has been built that facilitates the process of course and student management in the CSE environment. WebCMS incorporates the functionality of several existing CSE applications into a 6