A team of computer science students has earned the Douglas Niehaus Computer Science Capstone Design Award for an easy-to-use online class schedule generator that incorporates user preferences, such as time of day and days of the week.
Aaron Donnell, Ronald Henderson, Lonnie Jackson, and George Li developed the “Class Schedule Generator” as their senior project in Computer Science Design, a new two-semester course that centers on the creation, implementation, and documentation of a large-scale software system.
The Niehaus Design Award, which is voted on by students in the course, recognizes outstanding workmanship and innovation. The award is given in memory of EECS Associate Professor Douglas Niehaus, who passed away in August. It celebrates his love of teaching and commitment to students.
“We are a grateful to be the winners of the first Niehaus Award,” said Jackson. “Dr. Niehaus was great at not only teaching the technical stuff but also sharing anecdotes about life in the corporate world as a software engineer. There were several times when he would tell us a story in class and something similar would happen at work. I learned a lot from him.”
Li said Dr. Niehaus provided him with many enduring lessons such as “just because you can doesn't mean you should.” The late professor’s advice helped the team stay focused on the true goals of the project, and not become sidetracked on interesting but non-vital features. For Li, it is one of the many lessons learned while working on his capstone project.
“I know this is the first year that CS students had an opportunity to work on these capstone projects and I think we are all fortunate to have this experience,” said Li. “I'm glad our department introduced the senior design projects and hope to see great things from future students.”
During a brainstorming session, Henderson proposed an online class scheduling generator. The group liked the idea for its mix of fun and usefulness. The students began researching and evaluating current scheduling tools, often finding poorly constructed systems that did not work. They had found their project.
“We decided we were going to make one that actually worked. Our program is designed to take the difficulty and tedious out of creating the perfect schedule,” said Donnell.
The students used online KU class schedules to build the database. Li and Donnell prepared data from 7,500 classes for the website. Since class times did not have a.m. or p.m. listed, they had to develop an algorithm to identify the correct start and end times. With preferences allowing students to select morning, afternoon, or evening classes, the scheduler must determine, for example, whether a class starts at 7 a.m. or p.m.
In addition to cleaning the data, the team had to deal with clashing preferences, such as most days off and Monday, Wednesday, and Friday classes. A user must rank her preferences, and the generator assigns a value to each based on the order. If most days off is the most important, she most likely will have Tuesday/Thursday classes in some of her possible schedules. The site returns the top 20 schedules.
“It took a lot of fine tuning to get the preferences to return schedules that I envisioned. The time gap is the most complicated and a big highlight for us. It looks through every section in every class in every schedule, and yet is still very fast and produces accurate results,” said Donnell, who added the average response time was within 10 seconds.
For now, there are no plans to take the site public. They might revisit the idea in their final semester this fall.