The Project

HomeRoom is comprised a web-based user interface, a resource aggregator and a RDF-based content tagging system. The goal of HomeRoom is to support the delivery of learning objects tailored to the learner (and their equipment, internet connection) by providing a friendly interface to the user and gathering individual resources to compose into a complete learning module.

The Class

HomeRoom is being designed and written as part of the Computer Science department's requirements for a Bachelor of Science degree at Southern Illinois University Carbondale. Our work is supervised by Dr. Namdar Mogharreban.

From the course descriptions:

CS498: Selecting and planning a team project which is representative of a project graduates may encounter in their professional employment. This involves team formation, project selection, project planning, proposal writing, and proposal presentation.
CS499: A continuation of CS 498. An exercise in the design, implementation, documentation, and deployment of a group project culminating in a presentation to the computer science faculty.


HomeRoom provides a front-end and a resource aggregator for learning variables that is designed to fit into a larger project for providing learning objects. Two other programs are required to provide these learning objects. One of these programs, a means of collecting the learning variables into a single deliverable file, already exists. The other, a means of selecting learning variables from a list of those that have been found is under development. HomeRoom provides the means of comiling this list of found variables from a request from a prospective learner.


The user is presented with a set of questions to determine their learning style, Internet connection speed and the topic of their interest. It is then the responsibility of HomeRoom to find an appropriate collection of learning variables from the Internet, weighted by the user's learning style and connection speed, on the topic they requested and to make those variables available to the selecting mechanism. Once a set of learning variables are chosen by one of the two external programs, the second collects them into a learning object. This object would then be sent back to HomeRoom to be provided to the user.


To create our application, we designed and built a web frontend with ASP.NET and a backend library to support request processing. Because many web crawlers already exist and provide APIs for search, HomeRoom delegates locating resources to foreign search providers. The processing library interacts with these crawlers to create a list of possible resources from across the Internet, verifies the existence of the resources and gathers information about them. This information is packaged in an RDF file, corresponds to the request, that can be sent for further processing - filtering for compatible resources and aggregation to a single file - before delivering the results back to the user.