Teaching
Project Courses

With my experience leading teams, I've also been able to teach the final project course at Brock University for their Game Design and Game Programming programs. This instructor role is to mainly acts as a publisher/CEO and allow the students be the leads and producer for their own project. This allows for guidance but not too much involvement to allow the students to get their own idea, make some mistakes and get maximum amount of learning in one school year.
The course runs through multiple iterations on the idea in early stages and even allows external partners in the Game Development industry to add their own expertise and reinforce specific focal points of the projects. This guidance includes preproduction, team management, communication channels, multiple revisions of Game Design Documents, revisions on productions plans, production, asset pipeline, development in multiple areas and potentially launch if the team is comfortable (Itch.io and Steam).
As there is so many students, there are multiple classes with other instructors. It is important to bring the strengths of each instructor while staying on the same line of scope for the projects. A number of the projects I have given feedback on or directly taught (like Shatter Keep) can be found on Brock University's website.
Programming Courses

I've taught in multiple different programs across colleges and universities over the past 5+ years. These classes are normally technical due to my background in programming and being a Technical Lead. These classes has ranged over my time teaching but includes:
- fundamentals and basic programming principles
- advanced design principles
- in engine work
- multi-platform support
- app development
- networking/web development
A good chunk of my time teaching has been at Niagara College with being the sole instructor for Networking Principles and Mobile Development. These are upper year courses and even though there is a lot of material to cover, I believe it isn't just teaching the programming languages or libraries but the logical structure to be able to use any programming language and to think ahead for these systems. I believe it is important to plan out coding structures teaching UMLs, Technical Design documents, debugging and common issues like memory management, stack/heap, garbage collection, and code efficiency. Some of these techniques include Object Pooling, event based programming, and benefits and limitations of Object Oriented Programming.
Workshops

One of my most flexible classes is the workshop course at Brock University. With this, we run a weekly workshop ranging in multiple different aspect and fields related to Interactive Digital Media. There is no set topics from year to year as I try to identify the wishes of the students, their current needs, and any areas that may require more focus than the program currently touches on. Usually we get industry experts to give these workshops to get the most up to date information and share their expertise into the program. There are times I make workshops when I see a need from the project course like more detailed information in quality assurance. The grad panels are usually the most popular workshop as it allows advice from successful graduates and what advice they would give to current students on how they can improve and what to do after graduation.
The structure for these workshops are normally finding the topic of the workshop, using our network or reaching out to that network to find someone with the expertise, hitting EDI targets, discussing workshop details and slides with the presenter and determining a time, supporting the presenter during the workshop, and compensation for the workshop.
Internships

At Brock University, I also help students with internships for the Game Design and Interactive Arts and Science programs. These are either a part time 80 hour unpaid internship during the school year or a full time paid internship during the summer. My role here is much less teaching as it is about networking at many different events to find hosts and connect students with the hosts or help students communicating with externals at networking events to find their own host. This allows me to stay tied in industry and connect industry with students when they need them (for testing groups, etc). The student's don't just work at the internship as communication with the student and host is key to make sure both parties are benefitting. These come from more formal evaluations like goal setting forms, interim and final evaluations, and a final reflection or informally through emails and meetings. The number of students who get internships range from year to year but usually 5+ a term to over potentially over a dozen in the summer.