Storage of Placement Data
3 types of fields
multi-valued fields: temporary placement for CS, statistics, math
numeric data: ACT, SAT, semesters taken
enumerated types: standardized scores, grades
'unknown' always a possible value
Processing Data Values
numeric data: simple comparison (=, !=, <=, <, >=, >)
enumerated types: translate to underlying code, then compare
multi-valued fields: check if specific value present
Rules
analysis of standard scores follows simple table
remaining analysis based on qualification rules
Rule Structure
hierarchical (directed graph, no cycles)
standard scores depend upon SAT, ACT, SAT II
tentative math placement depends upon standard scores, math taken
math placement selects highest tentative math placement
tentative CS or stat placement depends upon
standard scores, cs, stat, math placements
cs, stat placements select highest tentative cs, stat placements
Inference Engine
Basic algorithm:
goals in array
for each goal in array
for each rule in rule base
if rule might meet goal
if rule already tried, skip rule
else for each condition
if condition known,
check if true
else
find rule to meet goal and check recursively
when all conditions checked or some fail
mark rule has been tried
(e.g., prop[rule] = "checked")
if result holds
record result in prop array
break from goal search
Example: Apply approach to sample student for CS placement