Course Packages

At ECE VSP, each student will take one themed course package in the discipline of electrical or computer engineering. Each course package comprises of two relevant courses taught by world-class UBC Faculty instructors. Each course is approximately 39 hours of instructional time that includes practical and theoretical learning. Students will earn a certificate and grades letter* upon successful completion at the end of the program.

*VSP course packages do not carry UBC credits and the VSP grades letter is not an official UBC transcript. Students should check with their home institution on whether credits could be awarded at its discretion.


Application Deadlines

July Session:
April 25, 2025


July Session 2024
OpenClose

ELEC A JULY – Algorithms and the World Wide Web/Building Modern Web Applications

Algorithms and the World Wide Web

The Internet and the World Wide Web have enabled new methods for communicating and working with data. What is the underlying infrastructure for the Internet? What are the algorithms used to move bits of data around? How is your credit card number kept secure when you buy a book from Amazon or Baidu? How is your location determined using GPS when you play Pokémon Go? How do some dating sites match people? We will discuss some of the system building and algorithmics that power the World Wide Web.

Building Modern Web Applications

We will discuss the central abstractions and principles that enable the development of robust web applications. These principles can be applied when building applications using technologies such as HTML, CSS, and Javascript. Prior programming experience (for example, with C/C++, Java, Python) and an ability to learn new languages will be assumed. In particular, students will be expected to complete a mini-project using Javascript and related technologies that emulates a real-world application.

Prerequisites: Prior programming course in Python/Java/C++, Prior experience using algorithms and data structures


ELEC B JULY – Introduction to Digital Signal/Image Processing

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)

Teaching Team

Click on an image to learn more about our Vancouver Summer Program teaching team.

Sathish Gopalakrishnan,
Associate Professor

ELEC A: Algorithms and the Worldwide Web
/Building Modern Web Applications

Karthik Pattabiraman,
Professor

ELEC A: Algorithms and the Worldwide Web
/Building Modern Web Applications

Jane Wang,
Professor

ELEC B: Introduction to Signal/Image
Processing and Deep Learning