CrashCards was a project I worked on in my first year at the University of Saskatchewan, in my social web class. Our task was to create a social web app of our choosing, which would be presented in class at the end of the semester. We were allowed to create anything we wanted, so long as it demonstated the concepts taught in class. Our group of three chose to build a social flashcard sharing website. The website was built primarily with PHP and Javascript, with XML to store the decks. For my part, I contributed to interface layout and wrote most of the PHP. I also designed the MySQL database.

If you would like to take a look at the code from this project, see the repository.

Community Babysitting System

For my final exam in one of my CST web programming courses we were asked to make a babysitting job management site, a site where babysitters and parents could sign up to post and browse babysitting jobs respectively. This PHP and JavaScript based app provides 5 major pages: registration user type, individual user registration forms, user settings, job browsing, and job posting. In the registration process all the text fields were validated using PHP to ensure valid values (we were asked to skip JavaScript validation to save time). The user settings page allows the user to alter any of their information except their username; the parents also had the ability to add children. The job posting page allowed a parent to post a new baby sitting job, babysitters did not have access to this page. The job browsing page featured a select box filled with any days that have babysitting jobs, after selecting a day the various jobs were retrieved via AJAX, and after clicking one of the job links, the details of the job were displayed on the right.

If you would like to take a look at the code from this project, see the repository.

HETT Scheduling Program

In the second year of my CST program we worked on projects to gain real world programming experience. My project group had Lyle, the program head of the SIAST Heavy Equipment Truck and Transport program, as our client. Lyle was looking for us to create a scheduling program that would make the process of creating the yearly class schedule much simpler for him. Aside from the initial meeting with Lyle, we held meetings before each of the four releases and communicated with Lyle through email on a regular basis. Ensuring that we were able to deliver exactly what Lyle was looking for was our top priority. The final version of the software allowed the user to enter in a series of student groups and schedule them begining on certain days in the year, then based on what type of group was entered (Apprentice 1-4 or Pre-employment), the program would automatically schedule the courses for each group as needed. While not flawless, we were able to come very close to generating a perfect schedule which could then be cleaned up and polished by hand. Lyle was extremely happy with this because it saved him weeks of work in a matter of minutes, leaving only a little bit of correction for him to do.

Light Show Simulator

In the third semester of the first year of the CST program we worked on group projects to gain experience with the Agile Development model. We performed stand-up meetings every morning, worked in XP pairs, and delivered 3 different releases. Each group was assigned to an instructor who would be pantomiming as a client. Our instructor referred to himself as ‘Sparky’ and was looking for us to create software to be used for designing timed Christmas light shows. Being that we all had the most experience with Java, it ended up being what we chose to build the software. We were tasked to deliver software in which he could lay out Christmas lights over top of an imported background image, using a range of different light types and colors. We also had to play a song which he could time the show to. Additionally we were asked to add the ability to create sequences of events ahead of time that could be saved and loaded into a larger projects; this was meant to make very large shows easier to build by using premade sequences. Considering we only had about 4 weeks to build these projects, I was extremely satisfied with the progress we made.