Virtual School
Home Tutorial Background References Entrance

Interactive Learning Environment (ILE)


I am pleased to announce the initial (0.1) release of Interactive Learning Environment (ILE), a free, open source environment for building web-based learning environments that support arbitrary (instructor-defined) interaction within distributed learning communities.

ILE is small but powerful environment for building interactive learning environments. It can be used to build any web application that needs interactive, persistent form-based features. But its main audience is teachers who think that hauling the education to where students work and live is better than the other way around. ILE is open source (free) software and can be downloaded here

Comparable environments provide a bare foundation to build on from first principles. ILE provides a finished environment you can live in and learn from while remodeling it to suit. The former requires unlimited expertise while the latter only requires learning new skills as you need them from the built-in tutorial.

The installation/downloading tutorial provides all you need; Steven Stansfield's Ocelot servlet engine and web server, ILE itself, and a ILE-based tutorial that leads you through remodeling the system as distributed into the system you need.

Interactive Learning Environments

An interactive learning environment is a web-based environment that supports structured interaction between a community of learners.

The world we live in is a learning environment more interactive than anything on the web. ILE's goal is to bring to the web an approximation of the interactivity we experience in everyday life.

So ILE forms are automatically persistent, just like writing on a blackboard. Form contents are automatically preserved in a database and automatically restored each time the page is revisited. This makes it surprisingly easy to build web-based hand-outs, syllabii, quizzes, and grade sheets and to build custom logic for processing student submissions.

This requires custom logic to specify who can do what, to whom, when, so ILE pages are fully programmable, even by non-programmers. Each ILE page is an object; an entity that "knows how" to present itself by sending HTML text to a browser and what to do with fields in that page's forms or the database.

The teaching implications of this difference are so large that they can't be conveyed in a brief paragraph. See the articles in the ILE References for how interactive learning environments are used in the author's teaching.

ILE Features

Self Contained
The distribution package contains everything you need except for the MySql database server and Ruby programming language, but provides instructions for installing these if need be. The distribution includes the Ocelot servlet engine, the DBH database interface, DBH drivers for MySql and other popular servers, ILE's libraries, and an ILE-based tutorial, to be installed collectively or individually as desired.
No Assembly
ILE installs as a completely functional integrated learning environment that demonstrates how other ILE's can be constructed while explaining how to transform the tutorial contents into your own. The standalone system can be easily integrated with other web and database servers.
The look and feel of all pages are specified by Template files. Templates are fully programmable so they can automatically generate standard navigational features to be shared by all pages. By default, Templates usee CSS (cascaded style sheets) to specify low-level formatting, but this can be easily changed if desired.
Integration and Separation of Concerns
Presentation and logic can be specified within the file that defines each page for single-person projects (integration of concerns). Or they can be specified in separate files (separation of concerns) to facilitate team development.
Pages are Ruby objects, not static data files, so they can be purely static (hard-coded HTML), purely dynamic (everything programmatically generated), or any point in between. Ruby is an object-oriented programming language known for its elegance, simplicity and power that is easily learned by non-programmers.
Pages and Tasks
Pages support unscheduled, unstructured interaction between a visitor and the system. Tasks are a kind of Page that supports scheduled interaction between a visitor and the learning community as a whole.
Persistent Forms
Form contents within tasks automatically persist in the database and are automatically restored when the task is revisited. Instructor comments and/or grades are managed the same way, and can be presented alongside each answer if desired.
Web-based Administration
ILE provides a complete set of web-based adminstrative tools for starting/stopping the server, adding or removing Pages, managing student registrations, and reviewing/grading student task submissions.
Dynamically Reloadable
Page or Task definition files are automatically reloaded by the servlet engine when they change on disk.
ILE is an open source project, licensed under the BSD/MIT license which means it is completely free. It can be downloaded from the installation/downloading tutorial.
ILE implements the teaching infrastructure upon which the lead developer's Taming the Electronic Frontier course was based. This course won the $25,000 Paul Allen Foundation competition in 1997 as the best distance education course nationwise.