Navigation

As a computer scientist, this is perhaps the most important section of my portfolio. I will highlight my programming knowledge and share some of my more major projects (currently, most of these are from school).

Skills

C/C++ Programming

All of my co-op jobs have used C or C++. At Ross Video, I used C for embedded systems programming in Linux. At Corel, I worked on a Windows application using C++. Additionally, some school projects have been coded in C++, including my honours project, and I worked on Inkscape during the Summer of Code, which is also C++. Therefore, I can confidently say that I have a high proficiency in these languages.

Java Programming

All my Java programming experience has been in school, but many major fourth year and grad studies projects have been implemented with it. I am only slightly less proficient in Java than C/C++ as a result.

Other Languages

There are several languages that I learned in school but have not had the opportunity or need to use elsewhere. It would take only a short period of time to refamiliarize myself with them should they be required for a project. These languages are Perl, Javascript, Scheme, Prolog, and Assembly.

I am also able to use HTML, CSS, and XML with reasonable ease.

Development Tools

Tools I have used in the industry include CVS, Visual Source Safe, Visual Studio, KDevelop, VIM, Bugzilla, Rational ClearQuest, and TWiki. Additional tools I have used for personal and school projects are SVN, Rational Rose, and Eclipse.

Software Engineering

I have a good grasp of software engineering practices and can adapt very well to new processes. I know about all stages of the software design process, including a special interest in user and task analysis. I have a good familiarity and understanding of design patterns.

Projects

These links will take you to pages with a detailed discussion about the project (most recent listed first).

Note that there are many smaller projects described on individual course pages.


©2008 wing-tip web sites