ALGORITHMS FOR UNIVERSITY COURSE SCHEDULING PROBLEMS