IMathAS

Version: 1.6. Released November 4, 2008
See Change Log for detailed change history. The most recent version of the code is available via SVN at Google Code

What is IMathAS

IMathAS is an Internet Mathematics Assessment System. It is primarily a web-based math assessment tool for delivery and automatic grading of math homework and tests. Questions are algorithmically generated and numerical and math expression answers can be computer graded. Beyond that, IMathAS includes learning management tools, including posting of announcements, text files, and attachments, as well as discussion forums and a full gradebook. In postings and assessments, IMathAS allows accurate display of math and graphs, with simple calculator-style math entry and point-and-click graph creation. It is most similar to (and inspired by) WebWork and WIMS, and similar to commercial and publisher-produced systems like iLrn, MathXL, WebAssign, etc.

IMathAS was written by David Lippman (c) 2006-2008, with with partial support from the WA State E-Learning Council, the Transition Math Project, and Pierce College. It is distributed under the GPL. See the license.txt file distributed with IMathAS for more details and credits for components attributed to others.

Features

IMathAS was built on three primary philosophies:

Core Features include:

Details

For details on how the system works, look over the Help File or view training and support resources.

Why a new system

You may be wondering why another system, when excellent systems already exist.

For my purposes, WebWork and WIMS were too difficult to install (since I don't have direct access to my school's webserver). I didn't want to use commercial or publisher produced systems because I don't want students with used books to incur additional cost.

Installation

  1. Download IMathAS, unzip it, and copy the directory to your webserver
  2. Change permissions (chmod) of the following directories to allow the webserver process to write to the directories:
  3. Rename (in the main directory):
  4. Edit config.php. Change these options to your liking:
  5. Run the dbsetup.php script (access http://yoursite.edu $imasroot/dbsetup.php), or send it to your system administrator and ask them to run it, if you don't have creation access to the database server. Alternatively, have your system administrator create a database and database user, and use these names in the config.php file before running dbsetup.php. This script sets up the necessary database user, database, and tables for IMathAS.
  6. Delete the dbsetup.php script, or store it somewhere not on the webserver
  7. Log into IMathAS. Access http://yourside.edu $imasroot. If you didn't change the initial imathas user settings when running dbsetup.php, log in as 'root' with password 'root'. If you did not change the inital imathas user settings, click the "Change Password" link now to change the password to something substantial. Alternatively, you can go into the Admin page, create a new user with Admin rights, then delete the 'root' admin.
  8. Edit loginpage.php and infoheader.php if desired.
  9. If you plan to use the new instructor account request page, edit newinstructor.php

System Requirements

Versions

PHP 5 and MySQL 4+ are recommended. Most of the system will work with PHP 4.2+ and MySQL 3.23, but future compatibility is not guaranteed.

PHP with GD2 and Treetype are recommended for best image-based graph support

Server Requirements

An installation serving 2500+ students with 80+ concurrent users has operated well on a commercial shared web server.

Security

IMathAS uses a standard databased-stored sessions-based system. If a user does not log out, the session is cleared from database after 24 hours.

Questions (written by teachers) are passed through an interpreter that only allows authorized functions to be used. Student answers are evaluated client-side using JavaScript, and are never evaled server-side.

Macro Libraries (PHP function libraries that can be used in writing questions) can only be installed by full Admins in IMathAS. The option allowing install can be disabled in the config.php file