Computer Science undergraduate students have the opportunity to work on a large array of different course projects throughout their academic career. We have many innovative projects and insightful technological solutions that come out of our classrooms - and each project is a creative vision from our students. Below are a few samples of undergraduate student projects with interactive elements.
Drones are everywhere! While Amazon uses drones to deliver packages, our students carry out research to explore its capabilities. Alicia Spencer and her team developed a project where a drone would analyze the different colors found in its surrounding, and hover towards a predetermined color. In the above image, the drone was programmed to navigate towards the color purple. Alicia and her team developed this project for the Mobile and Ubiquitous Computing course (CMPT 436).
Multi-Use Air Guitar Simulator
People have been playing air guitar for generations. The joy of playing our favourite artist's cover songs have proven to be an all-time favorite past time, as we have seen from popular games like Rock Band and Guitar Hero. These students decided to take it a step further and create a game that mimicked the generations-old motion of playing air guitar, where no physical instruments are required.
This project is a multi-user air guitar simulator using the Xbox Kinect. The Kinect is able to detect where your hands are in space (while in range of the sensors). Jason Prokop and Bo Dong created the program so users could strum with one hand and use your other hand to reach different notes. They implemented two instruments: lead guitar and bass guitar, along with a recording system where users could create their own song one piece at a time.
This project was developed for the Implementation of Graphical User Interfaces course (CMPT 381), taught by Professor Carl Gutwin.
Jason and Bo were very interested in using the Kinect to create a project where mutiple users can participate. They both had a passion for music and guitar. They have seen air guitar games in the past using Kinect, but none implemented actually strumming and playing notes. They succeeded with a goal of creating a more realistic air guitar game, as well as adding a record studio component where users and record their own songs, instead of only playing existing hits.
The project was developed using Processing, which proved to be an excellent language for prototyping graphical user interfaces. They also used the Kinect and the Kinect Software Development Kit along with SimpleOpenNI to be able to work with the Kinect easily in Processing.
When asked if they had more time and money to work on this project, Jason and Bo exclaimed they would bring this project up to date with the latest version of Kinect and improve the responsiveness and accuracy so that users would have a more flawless experience. Next, they would improve the sound by integrating realistic music software so strumming the guitar would not just trigger sound files, but instead would send a signal to the software to generate the appropriate guitar sound. After the necessary framework was in place, they would like to add more instruments -- drums, violin, even a DJ controller, and special effects for all instruments. Their biggest takeaway was how empowering it was to work on a project that interfaced with users in a more interesting way than just using a keyboard and mouse as input.
Students in the Advanced Computer Graphics course (CMPT 485) developed 3D models of the University of Saskatchewan campus or city buildings from scratch. Models were built either by hand or using a modelling package, such as Blender. Photographs of the buildings were taken and applied to incorporate textures. Once complete, students shared building models to create a cityscape and programmed a smooth fly-through animation to showcase the finished product. Students also added extra effects, such as colored lighting, shading, shadows, terrain, backgrounds, and music. All of the 3D graphics and animations are generated in C++ with the OpenGL API.
Lindsay Sweet and Bradley Weiers developed a mobile app called Crop Scouter, which helps farmers identify and manage unwanted weeds in their crops. An app such as this could save time and money for farmers. Lindsay and Bradley received plenty of media coverage for their Crop Scouter iPhone app, since smartphones were not as common in the agriculture scene at this time. This project was developed for the Smartphone Programming course (CMPT 298).