About Chris

Professional Profiles

Hi, there!


  • C and C++ programming languages
  • DirectX game programming
  • Parallel programming using CUDA


Ph.D., Cambridge University, England.
M.A.Sc., University of Toronto, Canada.
B.Eng., Carleton University, Ottawa, Canada.


P.Eng., Professional Engineers of Ontario

Professional Experience

My first computer-related job was in Eaton's of Canada credit card department.  I passed the interview by answering one question correctly: "convert this decimal number into its binary equivalent!".  That was 1965 and their computer system occupied an entire floor of their College Street Store.  They rented it from IBM for $300,000 per month and it was much slower than any of today's desktops.

In the 1970s, I developed mainframe applications for three-dimensional frame analyses of high-rise buildings and bridges for structural engineers.  I helped enginneers use these applications to analyze many high-rise buildings throughout the Greater Toronto area and several highway overpasses, such as you see at the intersections of the 401 and 404, 401 and Allen Expressway, 401 and 427 and 427 and the Gradnier Expressway.  With a few colleagues, I specialized this cutting-edge software to determine stresses in the, at the time, tallest residential building in Canada (Palace Pier).  Its cruciform shape along with its height posed some challenging engineering problems.  Different temperature variations across different sides twisted the structure along its vertical axis, which add complexity to the 3-dimensional analysis.  The 3-dimensional analysis, beyond the memory limits available on the U of T IBM 360, augmented the accompanying wind-tunnel study.  I designed an algorithm to optimize memory and disk usage and we used it along with results from the wind tunnel study to determine detailed stresses that the engineers used in their design. 

In the early 1970s, I also developed time-sharing applications for the design and analysis of reinforced concrete floor slabs and beams for structural engineers.  They used these applications in designing slabs and beams in over 1000 buildings in the Greater Toronto area. 

In the mid-1970s, I developed finite element software for the anaylsis of shearwall structures and a library for graduate students to use in their course work.  In the early 1980s, I developed a non-linear material program for the Transport and Road Research Laboratory of the Department of the Environment in Crowthorne England to determine stresses in reinforced-soil embankments using elasto-plastic and critical-state constitutive relations.  In the mid 1980s, I converted and brought to market an 80386 PC version of the 3-dimensional frame analysis software that I had developed for mainframe computers. 

In the late 1980s, I developed a cutting-edge comprehensive relational database application for tracking both time and cost in professional engineering firms on PC platforms.  This application included flexi-time payroll tracking, work-in-progress reports, client invoices, vacation time tracking and financial reports for monthly board meetings. 

During the 1990s, I conducted theoretical research on the mechanics of granular materials. This interest had originated in my Ph.D. work during the late 1970s and early 1980s.  The research involved identifying the principal mechanisms of stress transfer in granular materials.  I recast classical descriptions of friction and developed constitutive relations that model friction, partial-slip, and particle rearrangement.  I continue this research to the present day. 

In 2001, I completed a refresher course at the School of Computer Studies (now ICT) of Seneca College and subsequently joined their faculty as a professor.  I developed course material for the C and C++ programming subjects in the newly created Bachelor of Applied Technology Degree Program.  Over my last 13 years at this School, I have focused on developing comprehensive web sites for our students.  I have completed, published and revised three textbooks that our students continue to use.  I currently hold the position of Programming Curriculum Coordinator and am responsible for guiding the ongoing evolution of our core programming stream.

Although my formal education and training was closely tied to civil and structural engineering community, I have always continued to be most comfortable with applied mathematics, programming, and materials science.

Solutions to the various problems that I have encountered throughout my career have typically been constrained by hardware limitations.  The recently rapid adoption of GPU technology has dissipated some constraints, thanks in large part to the digital gaming industry.  Many of us now have access to super-computer-like processing power on our own desktops.  With heterogeneous computers (CPU + GPU), we can implement algorithms that a two decade ago could only be executed on special purpose and extremely expensive hardware. 

Today, I devote most of my efforts to teaching and applied research in the area of heterogeneous computing.


Henri Matisse, Piet Mondrian, Paul Cezanne, Alberto Giacommetti, Lauren Harris
Ludwig von Beethoven, Johannes Brahms, Frederic Chopin, The Who, Santana
William Shakespeare, Gunter Grass, Jurgen Habermas, Violin Concertos
Cooking fancy dishes, including traditional Polish dishes

Click here for some photos of my unflinching support and continuing encouragement: my family.