IMathAS

Version: 1.2. See Change Log for detailed change history.

What is IMathAS

IMathAS is an Internet Mathematics Assessment System. In essence, it is a very light Course Management System (CMS), most similar to (and inspired by) WebWork and WIMS, and similar to publisher-produced systems like iLrn, MathXL, etc.

IMathAS was written by David Lippman (c) 2006, and 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

Why a new system

You may be wondering why another system, when excellent systems already exist, or why this wasn't designed as a BlackBoard Building Block or Moodle Module. The answers are actually pretty simple, and based on pure practicality.

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 write it as a Moodle Module because my school doesn't have Moodle installed. I didn't write it as a BlackBoard Building Block because my school doesn't have the Enterprise version of BlackBoard. Certainly IMathAS could be integrated with Moodle or BlackBoard, and I encourage anyone with a development server and the know-how to take it on.

Installation

Beginning with version 1.2, IMathAS is distributed in the configuration including a fancier login page and some information pages. The loginpage and info header will need to be editted to work with your install if you want to use them.
  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

Answers to IT's questions

Versions

The system should work with version 4.2.0 or higher of PHP. It has been tested on PHP5 and PHP4.2.2. PHP5 does not have MySQL support enabled by default, but needs to be enabled for IMathAS. The system has been tested with MySQL 3.23, but 4+ is recommended. IMathAS uses the mysql_ library of PHP, not the mysqli_ library.

CPU Use

A standard student session consisting of completing a 10 question assessment with a few reattempts then checking the gradebook will use about 2 cpu seconds total.

Security

IMathAS uses a standard databased-stored sessions-based system. Only the userid is stored in the session cookie; rights are always looked up from the database. 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

All user input stored in the database is passed through add_slashes (or magic_quotes is used, if enabled) to prevent SQL injection attacks