Developing and Deploying Online Courses with Jcourse
JCourse, created at Carnegie Mellon University, is a Javaand XML-based system for developing and deploying web-based courses. On the development side, JCourse allows content providers to work more independently of web designers than has been previously possible. On the deployment side, JCourse provides basic (albeit incomplete) support for the IMS Question and Test Interoperability v1.0 specification (www.imsproject.org), which allows questions and tests from one compliant system to be reused in other compliant systems. Because Java and XML are platform-independent, JCourse runs on Windows and Unix (including Linux). JCourse was used to create a web-based course on Causal and Statistical Reasoning (www.phil.cmu.edu/projects/csr) that has been successfully used by about 150 students at the University of California, San Diego, the University of Pittsburgh, and Carnegie Mellon University. JCourse supports the development and deployment of web-based courses. Development support includes instructional and assessment pages. Deployment support includes an assessment engine, a user interface for student and instructor access to student performance data, and security-related access control. Without JCourse, instructional content for online courses is typically created as HTML web pages by the content author. The instructor uses his or her favorite text or HTML editor to create the HTML file, and then FTPs it to a web server so the students can access it. This approach works well when instructional materials do not require professional design from a visual design perspective, but otherwise it falters. (Consider, for example, an online course intended to be packaged and distributed as a commercial product.) Because content authors are subject experts, not visual designers, the course development effort requires a separate visual designer role. HTML presents several major problems in such a situation. First, since HTML encodes both content and presentation, content authors and visual designers cannot work independently, which reduces the number of design iterations. Second, content authors produce non-HTML versions of the content (e.g., Microsoft Word), which leads to synchronization issues. Third, HTML does not provide a mechanism for keeping multiple pages consistent in appearance. Finally, the course developers may want to give the course a completely new look from time to time. For large courses this is difficult with HTML, as each page must be individually updated. JCourse solves the above by separating content and presentation into different files. The content files use a simple XML (eXtensible Markup Language) format appropriate for the content author. The presentation files, or stylesheets, are based on XSL (eXtensible Stylesheet Language), a sophisticated language that visual designers can use to define page appearance. The XSL stylesheets are applied to the XML content files to obtain web-ready HTML files, which can then be viewed using any web browser without special plug-ins. The transformation process is called XSLT (XSL Transformations). XML, XSL, and XSLT are all W3C technologies (www.w3c.org). Using JCourse, authors and designers can work more independently, allowing rapid design-test-revise iterations. Since the content format is simple, there is no need for the multiple copies that become out of sync. Having a stylesheet enforces a consistent look across pages. Finally, changing the look of the entire site is simply a matter of changing the stylesheet (or small number of stylesheets) responsible for that look. For assessment development, JCourse provides basic support for the IMS QTI specification, which defines a portable XML-based format for the creation of questions and tests. As the format is complex, JCourse includes an assessment authoring application, implemented using Java Swing. The interface allows the author to create IMScompliant questions and tests, including singleor multiple-response choice questions, and fill-in-the-blank