This program is based on a popular and long-running first-year undergraduate course for non-computer science majors at UBC, and delivered through two online courses. You’re supported throughout the program by UBC facilitators, who host live virtual office hours twice a week.
No matter which programming language you might learn in the future, you can use systematic program design to tackle any programming challenge. These skills work equally well for small and medium-sized software programs.
By the end of the program, you’ll be able to:
- break down a large programming problem into well-structured sub-problems
- design the representation for a reasonably complex data problem
- write well-organized, well-documented and well-tested Python programs.
Both courses finish with a final project in which you write a program that solves a data problem of your choice.
Why Do We Teach Using Python?
Python is a powerful, general-purpose and versatile programming language. It’s a good language to learn first because it’s concise and easy to read. Python has a large programming community, and rich online documentation. A wide variety of applications, such as business operations, web development, machine learning and data science, rely on Python.
Roles that require Python skills – analysts, researchers, engineers, and even animation artists – have roughly doubled in the past three years in Canada. To succeed in these roles, you need more than just Python: you have to be able to quickly and reliably develop high-quality programs – the key learning goals of this course.
Learning a powerful programming language like Python may sound daunting. In these courses, however, we focus on a subset of Python, and only introduce new language features when the problems we're solving require them.
Who is This Program For?
This program teaches beginner programming skills, and is designed for adult learners who have little to no background in computer science. If you’re interested in applying Python to data science problems, consider Key Capabilities in Data Science. We put together a comparison table to help you choose the program most suited to your needs.
The skills taught in these courses are well-suited for jobs and roles in which programming is required as part of a greater skillset. You might work as a business, systems or marketing analyst, researcher, engineer, FX and animation specialist, or in a similar role.
Take these courses if you want to upskill with programming skills for your current role. If you want to pursue a career in software development, these courses set you up to take the additional courses or programs you will need.