Final Implementation - Dynamic Educational System for Physics

Billy Koch, Matthew H. Pinner, and Nick Wilson

June 05, 2001

Introduction

The purpose of our project is to redesign the web page for Physics 100 Studio such that the content is dynamically generated by the professors of the course. This will allow for greater flexibility in what a particular professor wants to assign for his or her students, and make it possible to modify the look and contents of the course web page with little or no HTML experience.

Implementation Overview

The DESP system has two major components that are necessary for proper operation. The front-end is essentially the web interface that students, professors, and system administrators see when visiting the course homepage. The back-end, however, remains mostly hidden behind the scenes, doing all the dirty work for providing data to the front-end to display. The back-end is driven by a MySQL database, the Apache web server, and the Tomcat java servlet engine. These three primary components work together to provide the information necessary to render the web page properly.

Front-End

When users visit the web page, they are presented with a login prompt. After the users have been successfully validated, they are presented with a schedule organized into weeks and days. The user can then select a day, which will bring up the agenda of assignments for that day. This information is stored statically on the system, but can be later altered by a professor through the administrative portion of the system. The administrative login is done through a different page for the sake of a professor being able to log in as if they were a student. This way they can preview the entire contents of the web page exactly as the student will see it. The administrative login will present the user with a schedule as well, but instead of showing the activities for the selected day, it gives the user the option to add, drop, or rearrange activities for that day. The professor also has the option to add a new activity from files he may have on his local machine, or stored on another server by providing a link. The system will automatically copy these files over and update the database to make this new activity available for all other professors to use as well.

Back-End: Database

Although the contents of each day’s activities are stored on the system statically, these pages must be generated dynamically at some point based on the professor’s preferences for what activities to assign and how to order them. This information is stored in the SQL database, along with user login information, all available module information, and information about each section. The “publish” button will take the corresponding information from the database and create the static pages that the student sees when he or she logs in. The performance benefit of this is two-fold. First, when a large number of students (say a classroom full) are logged into the system and requesting the same page many times over, the system impact is minimal in that apache can easily handle serving up basic html across a local area network. Secondly, this puts minimal strain on the database, which will most likely be the slowest component of the entire system.

Back-End: Java Servlet Engine

The servlet engine we are using for our implementation is a freeware project known as Tomcat, which is being developed as a subset to the Apache project. It works in conjunction with the apache web server to deliver dynamic content through .jsp pages (java servlet pages). This allows for the seamless integration of powerful java code within html files for the purpose of database access and dynamic content generation.

Conclusion

The goal of this project is to make the arrangement of activities on the physics homepage as simple as possible for the professors. The possibilities of dynamic educational content are endless, and this project is only the tip of the iceberg for what will undoubtedly be the future of Internet education.