Mobile Devices in the Classroom (CSC399, 2009-10) -- Since many students bring electronic devices to class, we have an opportunity to enrich the lecture experience by offering them a framework for collaboration. Students taking notes on laptops could submit their notes and questions in an instant-messaging like interface, creating a rich transcript of the lecture and submitting questions and feedback to the lecturer in real time. Students (and instructors) commenting on, editing, and rating these posts after class create a complete record of the material, and auto-summarization and transcription software may be able to use the notes to create better quality records from the audio streams.These tools will be presented at the ROP fair in March 2010.
Static Analysis in the Eclipse CDT (CSC492, Fall 2009) -- Static analysis tools are becoming increasingly important to developers. The ability to prove properties about code provides guarantees that cannot be matched with testing alone. For example, one could prove that file operations are only performed on open files or that locks are always taken and released in the correct order. We have developed a plugin for Eclipse that implements property simulation. This allows developers to define finite state machines modeling proper behavior and to verify that their code executes this machines correctly. The work will be presented at the EclipseCon poster session in 2010.
Implementing Scientific Code for a GPU (CSC399, 2008-09) -- Scientific programs are often data parallel and computation intensive. Ideally, they would be run on clusters of machines, and in many cases, they are. However, the startup cost to create a cluster and convert the code to run on it is high. Are single desktop systems with a high-end graphics processing unit (GPU) a viable alternative? In this project, we explored existing GPU architectures and attempted to port a scientific application of interest to the biology department to a GPU system. We found the porting effort to be extremely difficult, not least because the original code had been signficantly optimized and had to be completely restructured to be suitable for a GPU.
Visualization of Operating System Internals (GSoC, Summer 2008) -- At UTM, we use OS/161, a pedagogical operating system developed at Harvard. However, even a simplified OS like OS/161 is very large and can be difficult to debug, let alone extend. To help students understand the relationship between events occuring in multiple threads in the OS, we developed a gdb extension that graphically displays th threads being executed and marks important system call invocations and changes to system state. This tool was deployed at UTM in Fall 2009.
Security Policies for the UTM MCS Department (CSC493, Summer 2008) -- Departments in the University of Toronto must abide by a set of internal and external regulations that regulate how computing systems are used and how student information is kept secure. This project analyzed existing regulations and recommended a set of policies designed specifically for the Mathematical and Computational Sciences department.
|
|