The Automated Advising System was an Algorithm's Club project at Everett Community College.
The goal of the project was to help alleviate the advising workload from the teaching faculty at Everett Community College. At the time, they were responsible for handling most of the student body's mandatory degree advising.
This was particularly an issue for the smaller departments (such as the CS division, which had one dedicated faculty member at the time), who would receive a drastic increase in workload during registration periods.
Another aspect of the project was cleaning up course information inconsistancies. When the project began, a large amount of course information was still recorded manually on Word documents. In many cases this led to issues with communicating course prerequisites to students, as there were no enforced standards as to how to record this information.
This was included as an aspect of the project due to our dependency on that information.
To solve this problem, we designed a web based system that would allow students to generate a potential course schedule based on information they provide. The system would access a database of available courses and prerequisite dependencies in order to determine what courses the student needed for the desired degree, and would suggest a timeline.
This is not enough to completely replace in-person advising, but it would handle a large number of smaller cases, and would give the advisor meetings a better starting point.
I served as project manager for the club during my time at Everett, and was responsible for facilitating communications between project teams. I also particpated in high level design, prototyped front-end web systems, and participated in database development.
I got started with the project shortly after I began pursuing an education in Software Engineering. As such, this was my introduction to many professional development tools and the development process in general.
Technology-wise, I learned the basics of having a web application communicate with a database. I prototyped a login system, and began work on storing and accessing course information in a database.
The project was also a great lesson on working with other developers of various skill levels. One of the largest hurdles to the project was communication. While the 1-3 hour long club meetings were very productive, at home progress was very slow. Due in part to it being a side project for everyone, but there was also a lack of understanding of individual responsibilities.
My early attempts at coordination were by email, which proved to be unsuccessful. The issue was that most of the members of the team had very little need for email otherwise and were not used to checking it. More modern forms of communication, such as Skype, proved more successful.
The biggest lesson in project management was ensuring that every member had clear short term goals. Without short-term goals, members will often retread old ground or lack the motivation to work on the project at all. While it's difficult to establish a long term timeline when working without prior experience, setting up weekly tasks and deliverables during club meetings could be accomplished after some talking.