Skip to main content
Ontario Tech acknowledges the lands and people of the Mississaugas of Scugog Island First Nation.

We are thankful to be welcome on these lands in friendship. The lands we are situated on are covered by the Williams Treaties and are the traditional territory of the Mississaugas, a branch of the greater Anishinaabeg Nation, including Algonquin, Ojibway, Odawa and Pottawatomi. These lands remain home to many Indigenous nations and peoples.

We acknowledge this land out of respect for the Indigenous nations who have cared for Turtle Island, also called North America, from before the arrival of settler peoples until this day. Most importantly, we acknowledge that the history of these lands has been tainted by poor treatment and a lack of friendship with the First Nations who call them home.

This history is something we are all affected by because we are all treaty people in Canada. We all have a shared history to reflect on, and each of us is affected by this history in different ways. Our past defines our present, but if we move forward as friends and allies, then it does not have to define our future.

Learn more about Indigenous Education and Cultural Services

Experiential Learning Workshop Series

The Jeffrey S. Boyce Engineering Innovation and Design Studio is offering a series of workshops as extra-curricular activities to provide students with the opportunity to participate in experiential learning - learning by doing.

The goals are:

  • to assist them in expanding their knowledge and further developing their technical and professional skills using industry-standard tools,
  • to enable students to reflect on their learning, master new concepts and skills,
  • to encourage students to apply the concepts they learn to practical contexts,
  • to help students build their portfolios with competencies that employers look for, using self-guided projects.

The current workshop series may run as virtual or in-person content delivery. While the workshops are designed to be self-contained, it is assumed that students have some programming knowledge equivalent to ENGR1200 - Introduction to Programming for Engineers.  

Depending on the topic, some workshops will run four to five 2-hour sessions (Monday to Friday, 2 hours per day), and others will be run for one 2-hour session or two 2-hour sessions. All workshops will be delivered by people with significant experience in the topic.

We ask that you please attend all of the sessions that you register for, as registration is limited. 

CLICK HERE FOR REGISTR...

CLICK HERE FOR REGISTRATION 

PREVIOUS WORKSHOPS

Winter 2023 Workshops

  • Developing HTTP-based APIs

    Feb 15 | 5 - 7 pm

    Facilitators: Michael Lescisin and Thayan Sivathevan

    This tutorial explores creating HTTP-based Application Programmer Interfaces (APIs) to make computational services available on a network. Students will learn about software-as-a-service (SaaS) using the API exchange as a gateway, how to develop applications using cloud-based APIs, and how to develop new APIs to be used by others.

    Register for the workshop: https://forms.gle/VNeKWWcBrxeWt97c8

Spring/ Summer 2022 Workshops

  • React Web Application for Sleep Tracking
    React Web Application for Sleep Tracking
    June 23 | 2 - 4 p.m. 
    Facilitator: Soham Bhavsar

    In this workshop, students will learn how to develop a web application using react to allow users to track their sleep per day and create a report of their weekly sleep cycles. The application will feature a login/signup for users to track their data.

    Watch Session Recording

  • JavaScript Word Guessing Game
    JavaScript Word Guessing Game
    July 5 | 2 - 5 p.m. 
    Facilitator: Soham Bhavsar

    In this workshop, students will learn how to design and develop a web browser-based game with basic HTML, CSS, JavaScript and NPM that allows users to guess the randomly generated word from a JSON list.

    Watch Session Recording

  • Object Size Detection using OpenCV
    Object Size Detection using OpenCV
    July 14 | 2 - 4 p.m. 
    Facilitator: Soham Bhavsar

    In this workshop, students will learn how to develop an application using Python, OpenCV and ArUco to detect dimensions of objects in real time.

    Watch Session Recording

  • Self-Driving Car Simulator using JavaScript
    Self-Driving Car Simulator using JavaScript
    July 28 | 2 - 5 p.m. 
    Facilitator: Soham Bhavsar

    In this workshop, students will learn about building a simulation application using JavaScript and neural networks to showcase a moving car in a simulated environment to avoid collisions with other vehicles.

    Watch Session Recording

  • Developing and Consuming APIs
    Developing and Consuming APIs
    August 4 | 5 - 8 p.m. 
    Facilitators: Thayan Sivathevan and Soham Bhavsar

    In this workshop, students will learn about software-as-a-service (SaaS) using the API exchange as a gateway. Students will learn how to develop applications using cloud-based APIs, and how to develop new APIs to be used by others.

    Watch Session Recording

Winter 2022 Workshops

  • Developing a React Web App with RIOT API
    Developing a React Web App with RIOT API
    March 24 | 11:30 am - 1 pm and March 25 | 4 pm - 5:30pm
    Facilitator: Thayan Sivathevan and Soham Bhavsar

    In this workshop, we will show how to develop a full-stack web application on the React platform with an Express.js backend, incorporate the Riot Games public API to allow users to fetch stats of players, and deploy the app on Heroku.

    Watch Session Recording

  • Beginners Workshop for Arduino: Day 1
    Beginners Workshop for Arduino: Day 1
    March 23 | 2 pm - 4 pm
    Facilitator: Nan-Rong Hui

    This workshop will cover the basics of the Arduino and how to use it efficiently. Basic components, circuit theory and design and how to use it parallel to the arduino will be covered. It is a general introduction and will also help form the foundation of arduino circuit design.

  • Getting Started with Raspberry Pi
    Getting Started with Raspberry Pi
    March 22 | 11 am - 2 pm
    Facilitator: Abhay Kaushik

    This workshop is an introduction to the Raspberry Pi and its IOT capabilities. The workshop introduces attendants to the hardware and software used by the Raspberry Pi and teaches attendants how the Raspberry Pi can be used with various physical sensors. The workshop will also cover basics of coding Raspberry Pis to achieve the user's desired functionality.

  • Using Riot Api to create an AI model to predict the results of a LOL game
    Using Riot Api to create an AI model to predict the results of a LOL game
    February 17 | 5:00pm - 8:00pm
    Facilitator: Thayan Sivathevan

    In this workshop, we will use the riot api to gather data and use it to train a simple neural network model to predict who win a league of legends game. Software seeded: Python, Anaconda, Numpy, TensorFlow, Pandas.

    Watch Session Recording

     

  • Developing and Publishing a Discord NodeJS Bot
    Developing and Publishing a Discord NodeJS Bot
    February 18 | 11:30am - 2:00pm
    Facilitator: Soham Bhavsar

    With Discord becoming more popular amongst students, groups, and courses, we are going to be creating and deploying a Discord bot using Node.Js. This workshop will cover project setup, how to initiate the bot into a discord server, basic and more in-depth functionality, and how to deploy the bot to a platform such as Heroku.

    Watch Session Recording

     

Fall 2021 Workshops

  • Preparing for the Certified SOLIDWORKS Associate Exam
    Preparing for the Certified SOLIDWORKS Associate Exam
    October 18 - 22 | 12:00pm - 2:00pm
    Facilitator: Mihir Mistry

    SOLIDWORKS is a universally recognized CAD software used by many professionals in a variety of engineering fields. The software allows you to create complex models in 3D space and perform various analyses. This workshop series is intended to prepare students to complete the CSWA exam. This certification will be very beneficial for students looking for jobs or co-op opportunities.

    The workshops will go through all the steps required to successfully complete the exam. This means understanding how to make well defined sketches and relations, using global variables and creating assemblies with standard mates.

    Watch session recordings

    Day 1: Basic Part Modelling and Fully Defined Sketches

    This workshop will begin by discussing the CSWA exam and what you should be expecting in attempting the exam. The primary focus will be on creating fully defined sketches, maximizing the extrude feature, global variables, setting units and precision as well as material selection.

    Day 2: Intermediate Part Modelling

    The next section of the exam typically covers an intermediate part creation section that requires making use of a revolve feature. We will focus on understanding this feature as well as completing some sample part files.

    Day 3: Advanced Part Modelling

    The final modelling section of the exam will include a complex geometry to create. This will focus on combining everything covered so far. We will run through sample parts to gain familiarity and develop a good pace to complete the content in time.

    Day 4: Assemblies using Standard Mates

    This workshop will focus on understanding how to use standard mates as well as the importance of using a given origin point in an assembly. This will be supplemented by completing an assembly using these mates and performing a moment of inertia / centre of mass calculations.

    Day 5: Sample CSWA Exam 

    The final workshop session will be a run through of a sample CSWA exam. This will be a comprehensive review of the content and give you an idea of what to expect when attempting the exam.

  • Getting Started with Arduino
    Getting Started with Arduino
    October 25 - 29 | 12:00pm - 2:00pm
    Facilitator: Mihir Mistry

    Arduino is a cost effective open source microcontroller platform designed to be easy to use for new electronics users. There are nearly unlimited options for inputs and outputs which include: sensors, indicators, displays, motors and many more. The Arduino platform provides a simple to use IDE to easily program these applications. This is an ideal tool for those looking to get into electronics.

    This workshop series aims to understand how the electronic components work and how to integrate them into your projects. The series starts off with an overview of the Arduino system and the programming environment (Arduino IDE). Then quickly transitions into covering the various electronic components and concepts. Throughout the series, small hands-on projects and programming sessions will provide you with a fundamental understanding in order to create your own electronics projects. This workshop requires students to have their own Arduino kit.

    Watch session recordings

    Day 1: Introduction to Arduino 

    The first workshop will introduce you to the Arduino and Arduino IDE. This will include initial setup, programming the Arduino microcontroller, as well as some basic circuit theory. This workshop is intended for those with no previous experience and will be starting from basics.

    Day 2: Controlling Digital I/O with Arduino

    Digital I/O devices are the most common electronics components used with Arduino. This workshop will cover how digital components work, as well as how to interface and program the variety of digital I/O. This includes interfacing with LEDs, push buttons and an active buzzer.

    Day 3: Controlling Analog I/O with Arduino

    Analog I/O devices are also used with Arduino but benefit from using different electronic signals. This workshop will cover how analog components work, as well as how to interface and program the variety of analog I/O. This includes interfacing and calibrating potentiometers and joysticks.

    Day 4: Advanced I/O with Arduino

    There are a variety of additional electronic components that allow for real world applications and interaction. This workshop will focus on how to control these systems which include servo motors, stepper motors and LCDs. Concluding by creating an Arduino circuit that will use Analog and Digital I/O together.

    Day 5: Utilizing I/O Data with Arduino

    To complete the Arduino workshop series, we will focus on sensors. Sensors are used in a variety of applications and require understanding the fundamentals. This workshop will cover Digital sensors, Analog sensors, and using the Serial Monitor. As well as how to utilize sensor data for logging or to perform an action with other components.

  • Introduction to Rapid Prototyping with 3D Printing
    Introduction to Rapid Prototyping with 3D Printing
    November 1 - 3 | 12:00pm - 2:00pm
    Facilitator: Mihir Mistry

    Watch session recording. 

    Day 1:Introduction to 3D Prototyping (Limitations and Ideation Process)

    This workshop series will start off with discussing what 3D Printers are and how we can use them in rapid prototyping development. We will focus on the limitations of the technology and where we can use it to bring our ideas to life. This will culminate in introducing tips to use when prototyping allowing you to develop a cohesive prototype plan.

    Day 2: CAD Modelling for Additive Manufacturing

    This next workshop session will focus on taking the prototyping idea into the 3D workspace. We will work together to create a CAD model that will interface with real world equipment. Giving you a fundamental understanding of tolerances and design for additive manufacturing (DFAM).

    Day 3: Controlling Analog I/O with Arduino

    To complete the session we will walk through how to prepare your file for 3D printing as well as optimise your printing time and quality based on the desired application. We will discuss post-processing techniques and other methods that can be used to enhance your prototypes. Once this workshop is completed you can schedule a time to print your prototype using one of the many 3D printers available to students.

     

  • Introduction to Artificial Intelligence & Machine Learning
    Introduction to Artificial Intelligence & Machine Learninginting
    November 3 - 4 | 6:00pm - 8:00pm
    Facilitator: Nicholas Varas

    These workshops are designed to give students insights into the world of Artificial Intelligence and Machine Learning. No prior knowledge or understanding is needed. Topics covered include: What is A.I? History of AI, Machine Learning vs. Deep Learning vs AI, How does AI learn, Ethics of AI, How Industry uses AI, and the Future of AI.

    Watch session recording.

  • Introduction to Electronics Prototyping
    Introduction to Electronics Prototyping
    November 4 - 5 | 12:00pm - 2:00pm
    Facilitator: Mihir Mistry

    Watch session recording.

    Day 1: Basic Circuit Theory and Breadboard Prototyping

    The focus of this first workshop is going to be reviewing some basic circuit theory that will allow us to prototype a working circuit. This circuit will be a simple alternating LED circuit that does not require a microcontroller. Once the circuit is sketched and understood we will create a breadboard version of the circuit. We will end the session by making use of the electronics workbench to test and troubleshoot any issues with the prototyped circuit.

    Day 2: Soldering and Creating a Perfboard/PCB Prototype

    Using the tested circuit we will now look into what it takes to create a perfboard circuit. This will require going over the fundamentals of THT (Through Hole) Soldering. We will then solder the components together in order to then have a usable circuit. We will end the session once again by making use of the electronics workbench to test and troubleshoot any issues with the prototyped circuit.

     
  • Getting Started with Raspberry Pi and IOT
    Getting Started with Raspberry Pi and IOT
    November 8 - 12 | 12:00pm - 2:00pm
    Facilitator: Mihir Mistry

    The Raspberry Pi is a small, low-energy and powerful computing device that can be used in a variety of applications. Some use it for entertainment, home automation or a variety of other IOT based projects. The strong processing power allows for an operating system (OS) to run cleanly on the system, the GPIO pins allow for interaction with a variety of electronic components and the Wi-Fi capabilities allow for IOT projects to easily come to life. 

    This workshop series will focus on covering the fundamentals of using the Raspberry Pi which includes understanding what the Raspberry Pi is and how it can be used, programming in order to control GPIO, scripting in order to control the OS, creating a GUI application and finally utilizing all these skills to create an IOT device. This workshop requires students to have their own Raspberry Pi kit.

    Watch session recording.

    Day 1: Introduction to Raspberry Pi

    This introductory workshop will focus on understanding how the Raspberry Pi works. Loading the Raspbian operating system and getting the Pi setup for use with and without a monitor.  This workshop is intended for those with no prior experience.

    Day 2: Controlling Real World Hardware (GPIO) with Raspberry Pi

    Using the fundamental understanding of operating the Raspberry Pi, this workshop will focus on how to control real world electronics by interacting with the GPIO (General Purpose Input/Output) Pins. Programming and troubleshooting circuits with a Raspberry Pi will allow you to expand the use of this device beyond a simple computer.

    Day 3: Shell Scripting to Automate the Raspberry Pi

    This workshop will focus on expanding the use of the Raspberry Pi as a powerful microcontroller, by integrating the use of a GUI in order to control electronics through the GPIO pins. GUI (Graphical User Interface) adds another level of complexity to your personal projects while also adding increased convenience in its operation.

    Day 4: Creating your own GUI for Raspberry Pi

    This workshop for Raspberry Pi will focus on IOT (Internet of Things) integration using NodeRED. This microcontroller is Wi-Fi capable, meaning we can integrate the use of IFTTT (If This Then That) services and NodeRED which allow apps and even voice commands to trigger events. The end goal of this workshop will be to create a simple IOT circuit that will allow us to control GPIO pins over WiFi.

    Day 5: Using APIs with the Raspberry Pi

    The final workshop session will introduce students to making use of APIs and using this information/data to control a circuit. This eliminates the need for physical sensors. We will discuss and walkthrough projects that can use this technology including: Home Automation, Weather Stations, etc.

     

     

  • Developing and Managing Cloud Service APIs
    Developing and Managing Cloud Service APIs
    Thursday, November 11 | 5:30pm – 7:30pm
    Facilitator: Michael Lescisin

     

    The Cloud Computing paradigm refers to moving any computational services that are traditionally provided at the local level to further-away parts of the network. These services may be developed and hosted on-premises by a single organization, or they may be developed, hosted, and made available by a third-party. In this tutorial, we explore creating HTTP based Application Programmer Interfaces (APIs) to make computational services available on a network, and highlight the security issues that need to be addressed when doing so. Finally, as is required in the case where Cloud services are provided by a third-party, we explore using our own API management software to provide the necessary accounting for the third-party services used by a client.

  • Creating a Brower-based Multiplayer Game using Socket.io
    Creating a Brower-based Multiplayer Game using Socket.io
    Tuesday, November 16 | 5:00pm – 8:00pm
    Facilitator: Thayan Sivathevan

    Watch session recording. 

    Using Nodejs, we will be creating an online web browser multiplayer connect 4 game. This game will combine using HTML, CSS, images and Nodejs web server.

Spring/Summer 2021 

Week-Long Workshops

  • Getting Started with Cross-Platform Development using Flutter
    Getting Started with Cross-Platform Development using Flutter
    May 31 - June 4  |  3:00pm - 5:00pm
    Facilitator: Mohamed Ibrahim

    Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase (https://flutter.dev/). In this workshop, we will dive into Flutter development by building applications from scratch. We will cover building great user interfaces, app navigation, persistent storage, network requests (API calls), managing state, integration with Firebase, and all the concepts you need to start bringing your ideas to life. We will focus on mobile development but everything we learn will be transferable to other platforms as well. Not sure what to expect? Check this Keynote to learn more about Flutter: https://www.youtube.com/watch?v=zSbsIiluixw 

    Day 1: Introduction to Flutter
    • Creating a new project
    • Running your app
    • Hot Reload and Hot Restart
    • Widgets
    • Stateful vs. Stateless Widgets
    • MaterialApp, Scaffold, Container, Button, ListView, etc
    • User interactions with Buttons, GestureDetector, and InkWell
    • Adding app icon and splash screen
    • Adding assets and third party dependencies
    Day 2: Building Stateful Apps and Making API Calls
    • Navigation
    • Managing State
    • Network requests (API calls)
    • Parsing JSON data
    • Handling user input
     Day 3: Storing Data Locally
    • Data persistence using SQLite database
     Day 4: Firebase Integration
    • Authentication with Firebase
    • Working with firestore database
     Day 5: Putting It All Together
    • App build

    Click here to see workshop recording.

  • Getting Started with Web Development using the MERN Stack
    Getting Started with Web Development using the MERN Stack
    June 7 - June 11 |  1:00pm - 3:00pm
    Facilitator: Thayan Sivathevan

    This workshop will show students new to web development or MERN (MongoDB, Express, React, and Node.js) how to develop a small full-stack web application. The students will learn how to use express to create routes and middleware to manage data. How to communicate with and create models for MongoDB and mongoose. How to work with React to create dynamic sites using CSS, components, routing, requests, and a few libraries. Most importantly, they will learn how to put it all together to create a full-stack site.

    Day 1: What is MERN?
    • Why is it different and more useful than basic HTML/CSS/javascript?
    • Discuss the popularity, uses, and modularity of a React frontend.
    • How to install MERN.
    • Set up a NodeJS environment.
    • Start working with MongoDB Atlas. 
    Day 2: Start Working with creating a backend
    • How to use NodeJS and Express for creating a backend
    • Creating routes and connecting to MongoDB
    • Using postman to test the routes
    • Discuss how to use middleware and why we need it.
    Day3: Using React
    • Start by creating a basic static website with React
    • Discuss how React uses JSX to be more efficient 
    • Using React libraries and css to create a better site.
    • Discuss how to react states and rendering work.
    • How to route pages use React routing. 
     Day 4: More React
    • How to send requests using React.
    • Create a more dynamic site with React.
    • Understand how to use and understand JSON.
    • Debug errors and problems with console.log().
     Day 5: Putting It All Together
    • Combining everything to create a full-stack site.
    • Ideas for projects

    Click here to see workshop recording.

     

Two-Day Workshops

  • Jupyter Notebook and Data Visualization using Python
    Jupyter Notebook and Data Visualization using Python
    June 10 - June 11.  |  5:30pm - 7:30pm
    Facilitator: Michael Lescisin

    In this workshop students would gain familiarity with the popular data science Python packages that are: Numpy, Scipy, Matplotlib, scikit-learn, and pandas by using them interactively in a Jupyter notebook. Using these tools, students will work through the processes of data gathering, data analysis, and data visualization. Specifically, students will gather data from publicly available data sources, analyze the data using supervised classification, unsupervised clustering, and mathematical regression. The data and its analysis will be visualized through Matplotlib by rendering visualizations such as scatter plots, time series graphs, and tree diagrams. The workshop will also discuss the idea of distance metrics and demonstrate Levenshtein distance as a means of measuring the similarity between strings of symbols. The workshop will conclude with a practical example of detecting various events from a set of raw data.

    Click here to see workshop recording.

     

Single Day Workshops

  • GIT and GitHub
    GIT and GitHub
    June 4.  |  3:30pm - 5:30pm
    Facilitator: Michael Lescisin

    In this workshop students will gain familiarity with the popular source code management tool, git. Students would start with a basic example of keeping track of changes to a living document locally with git and reverting changes using the reset and revert git commands. They would then proceed onto using branches locally where they would be able to switch between new features being developed. The students would then proceed onto using git in a group context where each developer can work on their own feature / task branch and then use code review tools such as GitHub Pull Requests for reviewing the code before it is integrated into the mainline branch. If time permits, the rebase and cherry-pick git commands would also be covered as they are often used when using git in a group project context.

    Click here to see workshop recording. 

  • Linux Internals
    Linux Internals
    June 3 |  5:30pm - 7:30pm
    Facilitator: Michael Lescisin

    In this workshop, students will gain familiarity with developing applications that integrate with modern Linux desktop, server, and embedded environments. The workshop would introduce the various UNIX Inter-process Communication (IPC), and process-to-kernel communication interfaces such as device files, named / anonymous pipes, and IP / UNIX Domain sockets. Socat will be used for debugging and exploring these interfaces as well as for demonstrating how to enable remote access to these services. The workshop will then proceed onto explaining how these interfaces are used practically in modern Linux desktops (DBus, PulseAudio, XServer). The workshop will conclude with the construction of a basic debugger/analyzer utility for a process as it communications with the rest of a Linux desktop.

    Click here to see workshop recording. 

  • Getting Started with Docker
    Getting Started with Docker
    June 17 |  5:30pm - 7:30pm
    Facilitator: Michael Lescisin

    In this workshop, students will gain familiarity with containers and then learn how to use and build docker containers including writing docker files. Students will build an application using the microservices architecture implemented using docker containers. As time permits, advanced topics related to scalability and security will be covered.

    Click here to see workshop recording.

     

  • Developing SaaS applications - REST APIs and the API Marketplace
    Developing SaaS applications - REST APIs and the API Marketplace
    June 18|  5:30pm - 7:30pm
    Facilitator: Michael Lescisin

    In this workshop, students will gain familiarity with the idea of software-as-a-service (SaaS) and microservice architectures using API-Marketplace as a gateway. The workshop will demonstrate the creation of a REST API-based microservice and a web application that makes use of this microservice. The examples would likely use Node.js and Express.js for the creation of the REST API and the web service that uses the REST API. An example of a setup involving a microservice and a web application would be a microservice that provides a recommender service (for example, recommending a vacation destination based on a list of personal interests) and a web application that makes this recommendation data available (for example, a "Recommended For You" website sidebar).

    Click here to see workshop recording.