A seating chart utility for Law Professors and Administrative Assistants. Images and names pixelated for privacy reasons.
Planning, implementation and achieving results
This is a little Python CGI utility that helps Law Professors and Administrative Assistants map out the seating arrangement at the beginning of the semester.
The problem we had was that the USD Law School had seating arrangements for most of their courses. At the beginning of each semester, an Admin. Assistant would pass a seating chart printout and students would write their name where they sat. They would then convert to PDF and give this to the Professor for them to memorize the student's name. This was both time-consuming and unnecessarily laborious, so they came to ITS for a solution.
Our objective was to develop a little utility that would minimize the amount of effort required to generate these charts and I think we achieved that goal quite well. :)
Influencing, communication and teamwork
During this project, I worked with coworker Jon Pilarski. He developed an Oracle Application Development Framework (ADF) client that would generate a class list for each room. He would then call my Python script with parameters for term, course reference number (CRN), building code, and room number.
I would then connect to the database and query for the class information. I first get the "friendly" course title and terms, and translate academic codes to something people understand, like "Fall 2014". For each classroom, I created a map with defined coordinates for each seat. I initialize the correct classroom into a dictionary. Then I generate the HTML that will overlay on top of the classroom image. I used a jQuery plugin that allows you to click on a spot in a map and zoom in. In this case, the images and names of the students are overlayed on the map. When they click the picture, it pops up with a larger picture, their seat number, and additional information.
The Law School staff was extremely pleased with the solution, and the University saved money by not having to purchase a third-party solution. We weren't opposed to considering a third-party solution, but nothing we saw met our needs.
There are several enhancements we can still do, but so far this has worked pretty much flawlessly for 4 Academic terms. I would like to add basic authentication to the app. I was also hoping to port it to Java and use a graphics library to generate the maps on the fly. Right now, we are manually creating the maps in Photoshop.
I think this is an example of us creating a product that had no good third-party solutions. We got the requirements from the Law staff and delivered on a solution that met their needs.