While faculty continue to be actively involved, the Mathematics and Computer Science now uses an expert system to automate much of this process. The first version of the current program was developed in the Spring, 1993, as a student-faculty project; students Vikram Subramaniam and Ivan Sykes worked with faculty member Henry Walker. The program has been refined and expanded several times over the years to reflect new or revised courses.
While the placement program is written in LISP, the code and run-time environment are quite similar to Scheme. To run the program in the relatively familiar dtterm environment, follow these steps:
(load "~walker/placement/newstudents.lsp") (placement)
more ~walker/placement/newstudents.lspThis command displays the first screen of the rule base. Hit the space bar to view subsequent screens.
Use your knowledge of Scheme/LISP lists to interpret the likely syntax of rules in this system.
input that is impossible,
Impossible Input: In some situations, we can determine that a particular input value could not possible be correct. For example, SAT scores must be between 200 and 800. In such cases, programs could check that whether an input value is possible. If not, the program could either ignore the data or ask the user to re-enter the value.
Run the interactive version of the placement expert system, and enter some scores that are impossible. How does the program behave when just one or just a few data values are impossible? In this test, include both integer values that are out of range and a misspelling of "Unknown".
Repeat the previous step using the Web-based interface to the placement expert system.
Possible, but Unlikely, Input: In other applications, we may want a user to double-check an input value before the program continues. We might expect values of a certain type or range, but we cannot rule out the possibility of other values. For example, in a grocery store, we expect most individual items to be between $0.00 and $100.00 (exclusive). Items over $100.00 are very unlikely although they are possible. (E.g., one side of beef from the meat department could exceed this amount. )
In such cases, a program might review an input value to see if it is unlikely to be correct, and the program may ask the user to verify the correctness of the datum. For example, if a grocery item costs $150.00, the programmer might question if the cashier has entered an extra 0, and the program might give the opportunity to correct this value. Since this value is possible, however, the program should allow the value to be processed.
What happens when such values are entered into the Web-based placement interface?
Possible, but Incorrect, Input: The job of verifying input is particularly difficult when the values seem plausible. For example, if an SAT score of 650 is entered as 560, a program will have difficulty identifying the error.
In programming, one approach to such data entry errors is to ignore them, as they may be too costly or time consuming to find them. A second approach involves supplying the user with a printout of all data entered, so the user can check the values manually. (The paper receipt at the grocery store allows this type of checking.)
How often have you reviewed the paper receipt you obtained from a grocery store? Discuss your answer briefly.
The Web-based program displays both the potential placement and the data entered by the user. To what extent does this seem effective within this Web application in encouraging a user to check the data entered?
This document is available on the World Wide Web as