Like many software projects, educational or not, this system has many different parts. The author has some question if it is even eligible for this type of competition, so as a judge you must determine if this is actually the kind of system that you wish to award.
There are several widely distributed pieces that are routinely used in VCSU-MEP:
- A MOO (the M in MEP) requires a MOO Server and we use the Lambda MOO Server available at http://sourceforge.net/projects/lambdamoo/
- The advantage of a MOO is it a programmable system. The server is worthless without a core of defined objects. We started with the enCore MOO database, see http://moo.vassar.edu:7000/112/
- There must also be available web server and we use Apache at http://httpd.apache.org/.
- The client applet that you should be using to view this is also widely distributed by enCore.
Within this framework is the software that makes the MEP distinctive from other MOO based systems. This would include:
- The course and lesson system, a series of specialized objects that track which exhibits a student has visited as well as which lessons have been completed.
- Several agents:
- The lost agent determines from the course whether the student is in their current lessons and directs them back to where they should be.
- The aimless agent determines if the student is making progress in their current lesson and assists.
- Several roving goalies who are sent to a student by a dispatcher when the student completes a high level lesson.
- The receptionist who reminds a student what should be worked on when the student enters the MEP.
- Numeous interactive objects that may be requirements of a lesson:
- A code machine allows an examination of programming language code, including traces and explanations.
- The captured presentation that gives the audio and slides of a presentation, one slide at a time.
- The syntax test, which allows a student to type in a simple construction from a programming language. It then verifies if the construction is correct or not. A related object allows practice on these constructions without recording the result.