UBC Engineering’s world-class faculty and researchers are committed to an instructional approach that is varied, experiential and engaging. This multi-faceted approach makes UBC engineers stand apart, on a firm foundation from which to build an exciting and rewarding career.

What you might expect/course format

While each course varies based on the subject and instructor, our VSP Packages feature:

  • Interactive in person lectures
  • Hands-on labs, fun and practical demonstrations
  • Team-based assignments
  • Fun social activities
  • Tours of industrial facilities (some programs)
  • Experience with industry standard software 

June 2024 Course Packages

Introduction to Digital Signal/Image Processing

This introductory course focuses on basic concepts and tools of digital signal and image processing. It introduces basic digital signal & image processing theory in the context of real-world applications. Major topics of interest include: Fourier transform, digital filter, correlation, image basics, image filtering, extension to image and video processing applications. Students will explore the basics of signal and image processing and gain the hands-on experience (e.g., using MATLAB and OpenCV software) with project assignments.

Introduction to Hands-on Deep Learning with Python

This introductory course introduces basic concepts and core fundamentals of Deep Learning. Students will learn representative model types, including Convolutional Neural Networks (CNNs), Recurrent Neural Networks (RNNs), and Generative Adversarial Networks (GANs), and their suitability for different learning tasks, through a set of hands-on examples. Each day’s class comprises two parts: a lecture part, which introduces the theory/method and use intuitive/prototype example(s) to illustrate the major concepts, and a hands-on learning part that students work on a specific real-world example. All examples are implemented in Python. By the end of this course, students will finish a term project through designing, developing and implementing a real-world application using open codes, toolbox and software (e.g., standard API calls and AI platforms).

Prerequisites: Basic programming skills (e.g., Matlab, Python); Math foundation (Probability & Statistics, Calculus)

March 20, 2024: This course package has been canceled for VSP 2024. If you have applied to this course package, you should have received an email with the instructions to proceed with your application. If you have any questions about the cancellation, please email vsp.applications@ubc.ca.

Introduction to Digital Design with FPGAs

This course provides a hands-on introduction to designing digital circuits and systems using FPGAs (Field Programmable Gate Arrays). Digital circuits are the basic blocks of modern CPUs Central Processing Units), SoCs (Systems-on-Chip), GPUs (Graphics Processing Units) etc. Aspects of designing, simulating, and implementing these blocks using FPGAs and HDLs (Hardware Description Languages – VHDL in particular) will be covered both in lectures and practical laboratory activities.

Introduction to C Programming and Arduino Microcontrollers

This course provides an introduction to the C programming language, with hands-on applications for Arduino microcontrollers. C is the preferred language for programming microcontrollers and a basic tool for all electrical and computer engineers. You will learn the fundamentals of the C language including control statements, functions, file input/output, arrays, strings, and program debugging. You will learn how to apply these concepts and more to program Arduino systems. You will learn to operate digital inputs and outputs (switches, buttons, LEDs), analog sensors, and basics of real-time microcontroller programming. This course offers both lectures and laboratory activities, and has strong emphasis on hands-on C programming exercises.

Prerequisites: University-level first year mathematics course or grade 12 equivalent

Graduate (Master/PhD) Students: Not accepted

Graduating Students: Not Accepted

March 20, 2024: This course package has been canceled for VSP 2024. If you have applied to this course package, you should have received an email with the instructions to proceed with your application. If you have any questions about the cancellation, please email vsp.applications@ubc.ca.

Robust Software Construction

Software and computer systems underpin nearly every facet of modern life, from communication and transportation to healthcare and commerce, driving innovation, efficiency, and connectivity on a global scale. How can we make sure that the software we build is correct and bug free? How to ensure it does not break in real world deployment? How to ensure team members using our code can comprehend it and use it safely? These are all questions that we discuss in this course. In this course, we will learn techniques to build correct, comprehensible, and changeable software in Java.

Cryptography and Software Security

What are the most common software vulnerabilities that hackers exploit to break into computers? What does your computer do to protect your credit card information when making online purchases? Can someone see which websites you are browsing if you are in private mode? This course will answer these and other questions, exploring common security issues affecting software and computers, and discussing how to protect against them. The course will include both theoretical and practical sessions, where students will learn how to build software that protects against malicious attackers, as well as cryptographic tools to provide security in Internet applications.

Prerequisites: Prior experience with at least one programming language

For more information

For VSP Electrical and Computer Engineering-specific questions, please email help@ece.ubc.ca.

Student testimonials

“My experience in 2019 Vancouver Summer Program is fantastic. I traveled to many places around Vancouver with my friends and TAs, saw many wonderful sceneries and knew the local culture, I even managed to meet my favorite YouTuber “Linus Tech Tips” on an expo.”

– Zhaolin Shu, VSP Applied Science Student

“The instructors were really friendly and prepared abundant materials to engage students in class. We usually had one or two classes, and in the evenings there were all kinds of activities. Even though I didn’t knew anyone in class before, I never felt lonely and soon made some acquaintances whose friendship I still cherish now.”

– Ducheng Lu, VSP Applied Science Student