Chris Szalwinski
Chris Szalwinski | |
Faculty Picture | |
Occupation | Seneca College School of Information and Communications Technology Faculty |
---|---|
Office | T2093 |
Phone | 416.491.5050 ext 33364 |
IRC | |
ICT Home Page | https://scs.senecac.on.ca/~chris.szalwinski/ |
Blog | |
chris dot szalwinski at senecacollege dot ca |
Chris Szalwinski is a Professor at the School of Information and Communications Technology of Seneca College.
Chris is a software developer who teaches C, C++, DirectX Game Programming, and Human Computer Interaction.
Chris is currently developing a course in parallel programming on heterogeneous computers; that is, how to convert your desktop into your very own supercomputer. This course will teach ICT students to harness the processing power available on today's desktops for tasks that benefit from high performance computing. Students who finish this course should find themselves well-positioned to assist employers and clients in incorporating this new technology into their day-to-day operations.
Chris is actively seeking initiatives that will establish a center of applied research in the field of parallel programming at ICT. The center will provide ICT students who have some parallel programming skills with opportunities to apply and refine their skill set by working as research assistants on applications that benefit from heterogeneous design. Alongside his own particular research interest (see below), Chris is seeking collaborations with academia, business, and industry on research projects that will advance the state of this technology and better prepare ICT students for the challenges and opportunities arising from the democratization of this aspect of high performance computing.
Chris has successfully incorporated cutting-edge software technology within both private sector firms and university graduate programs.
Courses
ICT Courses Taught
OOP244 - Introduction to Object-Oriented Programming
- Further information: OOP244 Web Site
BTP200 - The Object-Oriented Paradigm using C++
- Further information: BTP200 Web Site
BTP300 - Object-Oriented Software Development I - C++
- Further information: BTP300 Web Site BTP300 Wiki
BTH740 - Human Computer Interaction
- Further information: BTH740 Web Site BTH740 Wiki
GAM666, DPS901 - Introduction to 3D Game Programming
- Further information: GAM666 and DPS901 Web Site GAM666 and DPS901 Wiki
GAM670, DPS905 - 3D Game Programming Techniques
- Further information: GAM670 and DPS905 Web Site GAM670 and DPS905 Wiki
Forthcoming ICT Courses (Fall 2012)
- GPU610 Parallel Programming Fundamentals
- Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to parallelize serial code and how to program the GPU. Students learn to read, write, and debug simple heterogeneous programs. Students also study cases that have benefited from parallelization.
- Pre-requisite: OOP344
- DPS915 Introduction to Parallel Programming
- Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to parallelize serial code and how to program the GPU. Students learn to read, write, and debug simple heterogeneous programs. Students also study cases that have benefited from parallelization and develop a heterogeneous application for a client.
- Pre-requisite: BTP300
Applied Research (Initiatives - Winter 2013)
General Interests
- Heterogeneous Computing (CPU/GPU) for mainstream applications
- collaborations with academia, business, and industry
- writing parallel code to speedup and enable SME applications
Personal Interests
- mathematical applications
- numerical methods algorithms for open source libraries
- direct heterogeneous solution techniques (frontal)
- scientific and engineering applications
- non-linear finite elements for granular materials
- friction and partial-slip
Cross-References
External links
Publications
- ---- (2011). Intermediate C++. Seneca College 889000191877.
- Anastasiade, J., and ---- (2010). Building Computer-Based Tutors to Help Learners Solve Ill-Structured Problems. In Proceedings of the World Conference on Educational Multimedia, Hypermedia and Telecommunications 2010. Toronto, Ontario, Canada: Association for the Advancement of Computing in Education. pp.3726-3732.
- ---- (2010). Introduction to C++ for C Programmers. Seneca College 889000191647.
- ---- (1983). Flexibility of a contact area of an isotropic elastic body, Journal of Applied Mechanics 52, 62.
- ---- (1983). The particle stress tensor, Geotechnique 33, 181.
Monographs
- ---- (1984). The Frontal Solution Technique - University of Cambridge, England
- ---- (1976). Engineering Approximations: the finite element method in structural mechanics - University of Toronto
Applications Software
For Structural Engineers
- ---- (1989). TIMECOST - Time-keeping, job-costing, client-billing dBase IV accounting package
- ---- (1987). SLABDESN - Reinforced concrete slab analysis and design program
- ---- (1985). FRANV4 - Elastic analysis of hi-rise structures with many degrees of freedom
- ---- (1976). PRSN - Properties of irregular sections with shear center
- ---- (1975). LLOAD - Live load reduction program for structural engineers
- ---- (1974). CONCBM - Analysis, design and detailing of reinforced concrete beams
- ---- (1972). EARQ - Earthquake analysis for structural engineers
- ---- (1972). DEFLCTN - Long-term deflections of reinforced concrete beams
For Research Engineers and Academia
- ---- (1974). FRONTAL - A software library for efficient solution of symmetric systems of element based simultaneous equations
- ---- (1976). FEASVOMO - Finite Element Framework for developing and testing new and innovative elements
- ---- (1983). FEASAS - Finite Element System for the analysis of reinforced earth embankments