Student Projects

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.

Capsized

Capsized is a 2D platformer that was initially developed as a student project for the Game Mechanics course (CMPT 306). Computer Science student, Lee Vermulean, paired up with Jesse McGibney, a Fine Arts student, to create an alien-themed action and exploration game illustrated in a unique art style. Lee and Jesse continued to develop the game once the course was complete. Capsized was successfully released to the public and they have since been developeing games full-time, creating their own company AlienTrap. You can find out more about Capsized and AlienTrap on their website.

Color-Detecting Drone

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-User 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.

Project Details

Who

Jason Prokop, Bo Dong

What

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 and Bo 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.

Why

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.

How

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.

More Time & Money

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.

<

3D Modelling

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.

Crop Scouter

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).

Key Frame Animation

For his Computer Graphics (CMPT 829) project, Mike Sheinin wanted to learn all the steps involved when creating a 3D character animation. He started with a 3D character model, gave it a skeleton so it could move, then used key-frame animation in Blender to acheive the finished product.

Project Details

Who

Mike Sheinin

What

3D Animation using key-frame

Why

This project was developed for CMPT 829: Computer Graphics, taught by Professor Ian Stavness.

Mike chose this project to learn something that would hopefully be beneficial in a future career in video game development. Learning how 3D character animation worked gave Mike hands-on practical knowledge of the techniques and tools that professionals use to create 3D movies and games. Throughout the project, Mike enjoyed learning about the history of animation and how it has grown with the use of computers. He was interested to learn how animated movies are created, such as Toy Story.

How

The 3D character animation was developed first with a 3D character model, which then was rigged to give the model a skeleton. The character was skinned and connected to the skeleton. Finally keyframe animation in Blender was used to get the finished product. The bulk of the animation was developed using Blender, a free open-source 3D graphics and animation software. The original character model was created from blendswap.com, a great resource of Blender-specific models.

More Time & Money

When asked if he had more time and money to work on this project, Mike would create more animations for this character, such as running, jumping, throwing, etc. He envisions his charatcer being used as a common animation seen in a variety video games. If he could create multiple characters, then he could eventually create a new game using his own animations. It has always been a mystery to Mike how to make his own 3D game, but now he has the skillset to create one himself.