Changes

Jump to: navigation, search

User:Chris Szalwinski

581 bytes added, 22:12, 16 May 2014
no edit summary
<tr>
<th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Office</th>
<td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">T2093T2088</td>
</tr>
<tr>
<th style="padding: 0.2em 1em 0.2em 0.2em; background: transparent none repeat scroll 0% 0%; line-height: 1.2em; text-align: left; font-size: 90%;vertical-align: top;">Phone</th>
<td class="" style="padding: 0.2em; line-height: 1.3em; vertical-align: middle; font-size: 90%;">416.491.5050 ext 3336433634</td>
</tr>
<tr>
<p>
'''Chris Szalwinski''' is a Professor at the [https://scs.senecac.on.ca/ School of Information and Communications Technology] (ICT) of Seneca Collegeand an independent scientific researcher.He teaches C, C++ and Parallel Programming. He has taught Game Programming (DirectX) and Human Computer Interaction and has published comprehensive web sites that contain his course materials. He currently leads the programming faculty and is updating its course material for the C and C++, diploma and degree subjects. He does research on soft matter mechanics in his spare time.
</p>
<table>
<tr>
<td>
<p>
In fall 2012, Chris introduced an ICT course in parallel programming on heterogeneous computers using Nvidia's CUDA technology; that is , a software developer course on how to use your desktop as your very own supercomputer. He teaches ICT students to harness the processing power available on today's desktop graphics cards for computing tasks that benefit from high performance hardware. Students who teaches C, C++, DirectX Game Programming, finish this course should find themselves well-positioned to assist employers and Human Computer Interactionclients in solving embarrassingly data-parallel programming problems.
</p>
<p>This winter (2014), Chris is currently developing a taught an intermediate successor course in parallel programming on heterogeneous computers using Nvidia's CUDA technology; that is, how to convert your desktop into your very own supercomputercomputing. This new 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 covered a variety of parallel algorithms and clients in incorporating this new technology into their day-to-day operationsplatforms.
</p>
<table><tr><td><p>Chris is actively seeking initiatives that will establish a center of interested in supervising applied research initiatives in the field of task-parallel and data-parallel programming at ICT. The center will that provide ICT students who have some parallel programming skills completed his courses with opportunities to apply and refine their skill set by working as research assistants on heterogeneous applications that benefit from heterogeneous design. Alongside his own particular research interest (see below), Chris He is seeking collaborations interested in joint collaboration with academia, business, and industry on research projects that will advance the state of this technology and better prepare ICT his students for the challenges and opportunities that are arising from in the democratization of this aspect field of high performance accelerated computing.
</p>
</td>
</table>
<p>
Before joining Seneca College, Chris has successfully incorporated cutting-edge software technology within both private sector engineering firms and university government departments and introduced cutting-edge technology into graduate programsat several top-tier academic institutions.</p><p>Chris maintains a personal interest, outside his Seneca College duties, in developing and modelling constitutive relations for soft granular matter. He finds this a fascinating, emerging field, which he believes presents numerous opportunities for innovative programming.
</p>
== Courses ==
=== ICT Courses Taught ===
<h5>IPC144 - Introduction to Programming Using C</h5><dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd><i>Further information: [https://scs.senecac.on.ca/~ipc144 IPC144 Web Site]</i></dl><h5>OOP244 - Introduction to Object-Oriented ProgrammingUsing C++</h5>
<dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd>
<i>Further information: [https://scs.senecac.on.ca/~oop244 OOP244 Web Site]</i>
</dl>
<h5>OOP344 - Object-Oriented Programming Using C++</h5>
<dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd>
<i>Further information: [https://scs.senecac.on.ca/~oop344 OOP344 Web Site]</i>
</dl>
<h5>BTP100 - Programming Fundamentals Using C</h5>
<dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd>
<i>Further information: [https://scs.senecac.on.ca/~btp100 BTP100 Web Site]</i>
</dl>
<h5>BTP200 - The Object-Oriented Paradigm using C++</h5>
<dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd>
<i>Further information: [https://scs.senecac.on.ca/~gam670 GAM670 and DPS905 Web Site] [http://zenit.senecac.on.ca/wiki/index.php/GAM670/DPS905 GAM670 and DPS905 Wiki]</i>
</dl>
<h5>GPU610, DPS915 - Introduction to Parallel Programming</h5>
<dl style="margin-bottom:0.5em;margin-top:0.2em;line-height:1.5em;"><dd>
<i>Further information: [https://scs.senecac.on.ca/~gpu610 GPU610 and DPS915 Web Site] [http://zenit.senecac.on.ca/wiki/index.php/GPU610/DPS915 GPU610 and DPS915 Wiki]</i>
</dl>
=== 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 heterogeneous computing (CPU/+ GPU) for mainstream scientific applications* joint collaborations with academia, business, and industry: writing parallel code to speedup and enable SME applications on desktop platforms
=== Personal Interests Domain Expertise ===
* mathematical applications
: numerical methods algorithms for open source libraries: direct heterogeneous solution techniques (frontal)
* scientific and engineering applications
: non-linear finite elements for soft granular matter: elasto-plastic constitutive relations for granular matter
: friction and partial-slip in contact problems
* game programming
: instructional frameworks
* GPU programming
== Cross-References ==
<ul>
<li>
[https://scs.senecac.on.ca/~chris.szalwinski/timetable.html Chris' Current Teaching Schedule]
</li>
<li>
[https://scs.senecac.on.ca/~chris.szalwinski/ Chris' ICT Home Page]
</li>
<li>
[http://fwks.senecac.on.ca Frameworks Page]
</li>
</ul>
== Publications ==
* ---- (20112013). Intermediate Programming Computers Using C. Seneca College. June 2014 Edition.* ---- (2013). Introduction to Object-Oriented Programming Using C++11. Seneca College 889000191877November 2013 Edition.
* Anastasiade, J., and ---- (2010). Building Computer-Based Tutors to Help Learners Solve Ill-Structured Problems. In [http://aace.org/conf/edmedia 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.

Navigation menu