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
July 2025 Course Packages
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 web 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
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)
For more information
For VSP Electrical and Computer Engineering-specific questions, please email vsp@ece.ubc.ca.
Student testimonials
– Zhaolin Shu, VSP Applied Science Student
– Ducheng Lu, VSP Applied Science Student