My Uwaterloo classes

Design Team Members: Steve Swanson

Supervisor: Jesse Rodgers

Background

Students at the University of Waterloo are subject to an undergraduate class system that is less than ideal; information is disjoint, there are no reviews for classes, there is no search feature, rendering it difficult to plan out a university career. A successful solution will allow a user to easily and quickly ascertain the quality of a class and enable them to plan their university careers such that a university student requires reduced effort in choosing courses.

Project description

To improve how current students find classes that they want to take, a web application that has access to all of the class information will be implemented. The web application is being developed in the python based web development platform Django. To improve the user experience, the web application will include a basic and advanced search to help students find the classes they wish to take. Users will also be able to rate classes and upload information on that class to provide more information on the quality of the class. Users will also be able to build a schedule to see if the classes they plan on taking will not conflict or the scheduler could be used to design their schedules such that they have Fridays off! For more detailed information on the project please visit Steve Swanson's blog where a design plan and a progress report are posted.

Design methodology

To ensure that the web application is a strong improvement over the current system an iterative design process will be used. The process focuses on having user testing often and early, and never ceasing to include user feedback. The methodology is outlined as follows:

  1. Development of basic functionality of an aspect of the application, for example rate classes
  2. User test basic functionality
  3. Incorporate feedback
  4. Complete development of functionality of that aspect of the application
  5. User test completed functionality
  6. Incorporate feedback from user test
  7. Make the functionality live
  8. Continue to incorporate feedback from users in the live environment.