Course Management: A complete asynchronous environment in education Abstract Technological improvements enhanced our education experience and involved new terms like distance-learning. Todays education systems are need to be supported by new architectures managing course, instructor, student, and performance records, assignment submission, statistic data collection, assessment, security issues. We have developed a multi-tier architecture integrating back-end tools and systems with commodity interfaces. We implemented an asynchronous open information access environment. The resulting environment evolved with the needs, and reached a large audience, more than 400 users, including in-campus and online distance courses. This paper presents a technical overview of the architecture and discusses its functionalities gained from the experience. 1. Introduction We developed a distributed-open asynchronous information access environment where users access from different locations through a complete security mechanism and user authentication interface integrated to commodity interfaces. The environment provides asynchronous collaboration of supervisors, instructor, co-instructors, TA, students, guests , and administrators through the Web Browsers. Distributed students can on-line register for the courses and get services like passwords assignments, post office & atomized mail lists, file uploading, pictured class lists, surveys, grades, evaluations, performance assessment, and other account administration. The student records and their performance records are planned to be kept in a database continuously that provides a base for a virtual university student services. Students performance pages includes their grades, grader comments, averages, expected grades, failures and suggestions, etc. A student can access his performance page, at any time from any where having web access; can include his resume at job applications for more reliable evaluations. Besides convenience at online grading and submitting the grades to the students, instructors use the environment as technical services provider at the course preparation and as an assessment tool during the semester, or later as a long-term reference. The graders can see various statistics about the students at any time while grading from a web browser. A categorized questionnaire database is useful for online surveys and quizzes. Preparing class surveys provides keep tracking of the student progress, understanding course quality, and increased adaptability to the student needs. Possible customizations of grades brings more flexibilities while grading. The environment also presents an user friendly administration interface on the web. A server administrator can tune up the performance and change the configuration from any web-browser connected to the Internet network. Our architecture considered a broad perception of an educational environment. Similar feature subsets exists in other course management systems such as WebCT [WebCT]. The architecture of WebCT is based solely on the Web Server and file system. While this is suitable for many situations our architectural design is driven by the need to incorporate commodity databases like in PAPI [PAPI] specifications on data interchange formats, and other advanced web systems used by our professors in developing course materials like WebWisdomNT[]. 2. Basic Needs and Problems encountered leading to the project; With our experience we realized that especially the outside distributed students had lived difficulties to follow a course presented with recent web technologies. Many students thousands miles away from our teaching center had frustrated to have offerings in-campus students had. A new complete integrated environment need to be presented to the outside registered students to make them feel like living in a virtual university. Even the in-campus students having many asynchronous resources around craved such an environment. Not having the student records in a trustable, easily-securely accessible database environment is a complete disadvantage for both on and off-campus students. Specific web-based interfaces should allow users to access certain information,perform related operations, and store the results in a state-full environment. The team offering the courses became loaded immediately by the work of technical class preparation. Construction of class lists, email lists, making Unix accounts, listing student home pages, submitting passwords to students and keeping track with add-drop students, measuring class level with surveys for different types of courses needed many human-effort because of lacking an atomized environment. The issues like grading became problem in distributed collaborative education cases with respectful number of teaching team in charge. Furthermore, online progress tracking, having a categorized questionnaire databank, automatically evaluation reports ,and similar services became a need more than a luxury by the time. 3. Features We designed the student records specifically to offer the following functionalities through the Web; http://carver.npac.syr.edu:3768/users-docs/msen7/paper/userstudentmenus.gif 3.1 Course Records Manipulations One can see the courses listed to make operations like browse, update, delete, on the present courses, or new courses can be added. Instructors can prepare surveys to be filled by on-line registering students. 3.2 Student Records Manipulations & Students' own account administration Staff users can see the students registered in a specific course listed. One can create new students optional to students' own online-registration, browse, update, remove a student. Students themselves has private accounts with enhanced tools for their personal use, which they get by online registering to the courses. They can always see their performance records, use post office, upload homework files, administrator their virtual directories and personal accounts. 3.3 Assignments & Grading The team offering courses to students can make new assignments through the web interfaces and specify grading information about the assignments like percentage, published URLs, etc. The on-line grading provides an asynchronous collaboration between distributed staff team members hided from the online students. Students may see their grades online, securely and privately after they are published by graders. The grading interface contains different information and comments depending on the security level of accessing person; grader, students, assistants, instructors, supervisors, parents, etc. The grader may use various interfaces, has different grading alternatives, e.g., numeric, countless customized word grades, etc., and feedback information while grading, e.g., averages, ranks, etc. http://carver.npac.syr.edu:3768/users-docs/msen7/paper/grading.gif 3.4 File Manager NPAC Virtual File Manager is integrated in the environment for uploading homework files into virtual directories in server side, and directory-file manipulations. http://carver.npac.syr.edu:3768/users-docs/msen7/paper/filemanager.gif 3.5 Surveys & Quizzes Through the web interfaces, instructors can prepare surveys & quizzes for students at any time the course offered. A categorized question bank keeped in the database to select previous questions. Questions may be distributed into different categories, and presented in a logical way to the students independent of their preparation at different times. Beyond the regular quizzes, different aspects of quizzes from student-self evaluation quizzes to pop-quizzes in class time are currently in progress. The survey results are automatically evaluated and immediately presented to supervisors on their browsers. By using the surveys and quizzes the understanding level and expectations of the class may be measured, and the performance of the class can be leveraged. http://carver.npac.syr.edu:3768/users-docs/msen7/paper/surveyresult.gif 3.6 User records Additional to the student users, a different kind of the user accounts are kept in the system for instructors, co-instructors, supervisors, super users, TAs, graders, administrators, browsers, other system administrators, etc. These records contains personal information about the users and their access privileges. The security issues about different level of users will be discussed later. 3.7 Services and legacy systems connections One of the important characteristics of the projects is that it contains many services atomized in its environment. The load of the staff offering courses in NPAC relieved considerably. Besides these atomization jobs, there are other services directly offered in the environment like its own post-office categorizing email lists. Administrators can do performance tuning and configuration changes from an easy-front-end interface. The access logs are kept for future references and assessment. 3.8 Security Issues The student records are one of the most private information in education. Because of its exposure to the public over the Internet, the whole environment is subject to attacks to capture, to alter, to destroy the private information. For the sake of completeness, complete security should be inserted into the architecture. We solved the security issues under the following categories; http://carver.npac.syr.edu:3768/users-docs/msen7/paper/security.gif Communication channel security: Currently, we have the technology to secure enough the communication channels over a public network. Using public key cryptography in the SSL protocol secures the transferring of the information over the Internet. User authentication: Like many computer operating systems a user authenticates himself by entering a user login id and a secret password known solely to himself and the system. User access lists: The second part of the authentication mechanism is keeping access lists for the users. All the users are restricted only to access to the allowed part of the database, HTML pages. Access lists can be easily manipulated in the user records interface, simply by carrying present course names to the access list box. User privilege levels: Since privacy issues are most important in such a system, user password authentication and access lists are not enough to keep privacy by themselves. After those steps, a user must have powerful enough privileges to access, delete, update some records, or to see HTML information pages. Presentation security: One of the challenging issues in the security is not the communication security but the keeping privacy after data transfered. It is highly possible that students may see their grades and other private records in a public cluster. Although it is not possible to provide complete security at this level, we improved different strategies to make the risk as low as possible; SSL server prevents browser caching in general, timeout clocks destroy the windows, the new unique id given by each login, with expiration time, prevents using same URL and stealing passwords, etc. 3.9 HTML Editable User Interfaces in template library All the user interfaces are presented through the WEB browsers, and they also keeped as HTML-like files in a template library separated from the implementation and the database records. One can easily edit user interfaces as HTML files without any technical knowledge of the environment. Also using various style sheets for different users is possible. 3.10 Easy system administration A front end menu is prepared for the administrators, who are configuring the connections like, JDBC-Database connectivity, and tuning up the performance, etc. Any third party, who wants to use the project for themselves, can easily use the project just by using user friendly front-end guides without any deep knowledge of components without having highly skilled computer experts. 4. Architecture and Involved technologies The entire architecture is implemented based on the concern of usability, performance, portability and easy installation to any machine in anywhere. The involved technologies includes HTML, JavaScript, Java, JDBC, SQL, SSL and limited amount of Perl for specific local legacy systems. http://carver.npac.syr.edu:3768/users-docs/msen7/paper/architecture.gif The architecture is a multi-tier architecture. In general it can be seen as a three-tier architecture. The more layers in middle tier especially designed in semantics of modularity and easy integration with other related projects. The user interface completely presented as an commodity interface. All the data access, and functionality is managed through the client browsers. The communication with the outside world is provided through dynamically produced HTML pages by the servlets. The communication channel is secured with SSL to complete other inside security mechanisms as previously mentioned. In the middle tier, the main intelligence of the environment is placed hierarchically. The first level contains the high level functionalities to talk with the clients and to perform the operations in a more advanced level without considering the low level system dependencies like database connectivity. The relational database records are considered as the objects at this level. The second level mainly serves as a cache memory to database objects. The cache mechanism provided performance increases by decreasing accesses to the database for each operation. The objects in the cache are defined as the objects which are keeping single relational database table row entry and related methods to perform on them. The last level performs low level operations like connecting to the databases and performing database related operations. Each independent type of tables like, students, users, courses, etc., has an associated class. The last layer in the architecture is database back-end. Since implementation is done with Java, any suitable database supporting basic SQL standards can be chosen and the database access can be forwarded to selected database through JDBC bridge update in the front end options. The parser dynamically produces HTML user interfaces through the template library storing outside editable HTML-like files. Finally, the architecture includes the legacy systems through a cgi-module. 5. Conclusion and Future Directions NPAC's student records database environment has been used by many students, about 450, and staff up to date in two years. It is evolved with professional experience and new needs both by on and off campus course offerings[SC98]. The environment keeps a rich set of online available tools useful in education. Distributed students from Missisipi, Boston, X, and Syracuse online registered for the same course offerings in the environment. The implementation is entirely written in Java in a portable fashion. Another educational organization also installed it. Its layered and modular architecture provides easy upgrading and integrability with other environments, e.g., high level sharing database records. The environment provides easy server administration and configuration through the Web additional to its convenience for users. Currently we are developing new assessment tools having a new horizon using data mining techniques on combination of environment logs and other synchronous and asynchronous resources logs. We are planning database integrations with our other current projects through XML. Using DHTML in user interfaces is another issue. 6. References [VPL] K. Dincer and G. C. Fox, Using Java and JavaScript in the Virtual Programming Lab: A Web-Based Parallel Programming Environment, in Concurrency: Practice and Experience Journal, June 1997. [HPDC-6] K. Dincer and G. C. Fox, Design Issues in Building Web-based Parallel Programming Environments, in Proceedings of the Sixth IEEE International Symposium on High Performance Distributed Computing (HPDC-6), Portland, OR, August 5-8, 1997. [SC98] David E. Bernholdt, Geoffrey C. Fox, Roman Markowski, Nancy J. McCracken, Marek Podgorny, Thomas R. Scavo Syracuse University | Debasis Mitra and Qutaibah Malluhi, Jackson State University, Synchronous Learning at a Distance: Experiences with TANGO, SC 1998. [WebCT] Murray W. Goldberg and Sasan Salari, "An Update on WebCT (World-Wide-WebCourse Tools) - a Tool for the Creation of Sophisticated Web-Based Learning Environments", Proceedings of NAUWeb '97 - Current Practices in Web-Based Course Development, June 12 - 15, 1997, Flagstaff, Arizona. [PAPI] Frank Farance (edutool.com), James Schoening (US Army),Public and Private Information (PAPI) Specification, http://www.edutool.com/papi/papi-500.html