Skip to main content
Mandatory COVID-19 screening Faculty, staff, students and visitors must complete a screening questionnaire before coming to campus. Visit the Ready for You website for screening and other COVID-19-related information.
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 Jeffery 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 students 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 Experiential Learning Workshop Series for Spring 2021 will be running remotely. 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.

We are offering week-long as well as shorter workshops. Week-long workshops will run Monday to Friday, 2-hours per day. One-day workshops will be one 2-hour sessions, and two-day workshops will be two 2-hour sessions. All workshops will be delivered by people with significant experience in the topic. While the workshops are free for current Ontario Tech engineering students, some may include the option to purchase equipment if you wish to participate in hands-on learning. This is optional, there is no purchase necessary to take the workshop. Equipment information, if applicable, will be listed under the workshop description. 

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

Project Showcase

We will be hosting a virtual showcase on Tuesday, July 6 for students to showcase the projects they have created using the new knowledge they learned from the workshop(s). A team of judges will select the 3 most influential projects for prizes.

This is a great opportunity for students to work on self-guided projects (individual or team) to develop their personal portfolios. The workshops are free for Ontario Tech Engineering students (undergraduate and graduate), and students may register for more than one workshop. Please register in the workshop(s) that you will actually attend.

We hope to see you and your projects this Spring!

REGISTRATION IS NOW OP...

REGISTRATION IS NOW OPEN. CLICK HERE TO REGISTER

Please Note: Registration closes Thursday, May 20th. 

Workshop Descriptions

Week-Long Workshops

  • Getting Started with Arduino
    Getting Started with Arduino
    May 31 - June 4  |  10:00am - 12: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.

    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 the 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.

    Optional Equipment/Software

     

  • 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
  • Getting Started with Raspberry Pi
    Getting Started with Raspberry Pi
    June 7 - June 11 |  10:00am - 12: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.

    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

    The Raspberry Pi can perform many tasks and can be scheduled to run for prolonged periods of time. This workshop will focus on using the Shell Scripting tools in order to automate these tasks, making more efficient use of the system.

    Day 4: Creating your own GUI for 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 5: Introduction to IOT for Raspberry Pi

    The final workshop for Raspberry Pi will be an introduction to the IOT (Internet of Things). This microcontroller is Wi-Fi capable, meaning we can integrate the use of IFTT (If This Then That) services 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. 

    Optional Equipment/Software

     

  • 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
  • Getting Started with Engineering Design using SOLIDWORKS
    Getting Started with Engineering Design using SOLIDWORKS
    June 14 - June 18  |  10:00am - 12: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 teach students with varying levels of experience on using this software. SOLIDWORKS is a strong and feature-rich application that requires time to master, however, this workshop series aims to provide you with a solid foundation. 

    The workshops will go through all the steps required in creating a part which includes sketching, dimensioning and applying features. As well as diving into the variety of additional features available. At the end of the workshop series, you will have developed fundamental skills and concepts central to the successful use of SOLIDWORKS.

    Day 1: Basic Part Modelling using Solidworks

    This introductory workshop is a first dive into using the software. This will include understanding how to navigate the UI and be able to create basic 3D parts, using fundamental CAD tools which include sketches and features. 

    Day 2: Advanced Part Modelling using Solidworks

    Building on the fundamentals of the previous workshop, more advanced topics and features will be covered. This includes more complex feature options, as well as optimized sketching tools. These added skills will allow you to create parts quicker and more efficiently. 

    Day 3: Additional Design Features in Solidworks

    This workshop aims to cover more complex uses of the software which will include creating threads, using the SOLIDWORKS toolbox, 3D Sketching, and other features not yet covered. Once completed you will be able to create a variety of parts, with varying geometries. 

    Day 4: Assemblies in Solidworks

    The assemblies workshop will focus on how to create an assembly using parts. As well as how to create a part in an assembly. These features are very important as they allow you to better understand how your design will come together. The materials and rendering options will then be explored in order to better visualize the completed design.

    Day 5: Optimizing CAD Models with Solidworks 

    The final workshop will cover how to make the most out of this software by creating a parameterized model. As well as briefly discuss DFM (Design for Manufacturing) when creating CAD models. This series will then be capped off with a Mini-Project that will review many of the previously covered topics. 

     

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.

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.

  • 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.

  • 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

  • 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).