Academic timetabling with a microcomputer-based expert system shell