Welcome to CPSC 110

Computation, programs and programming play a vital role in the work of scientists, engineers, artists and other professionals: they allow us to organize, store, analyze and visualize information; create animations, music, and online communities; control devices in our environment; develop computational models and simulations; and much much more.

The major goal of this course is to introduce students to a systematic method for solving hard design problems. Going forward in your career you will of course learn additional techniques, but the design method covered in 110 will serve you well whenever you face a difficult design problemwhether it is program design or a problem from another field entirely. Previous students have said:

    Studying computer science inspired me to think about problems differently and take a more systematic approach to them.

    Program design is applicable not only to computer science, but numerous areas of life. It is essential in the development of problem solving skills.

The course is designed to be interesting, accessible and useful for all UBC students—CS majors and non-majors alike. No prior programming experience is assumed, and very little math and science background is required. The course will also prepare you to learn more Computer Science skills and concepts in the future, either through formal courses or on your own.

Where to go

UBC CPSC 110 builds upon the edX Systematic Program Design courses, and provides additional material for UBC students.

If you are a UBC student and will be taking CPSC 110

If you are a UBC student and have questions about the course 

  • Please carefully read our FAQ below 
  • If your question is unanswered, please send email to cpsc110-admin AT cs DOT ubc DOT ca

If you are a UBC student and will be taking the challenge exam in early May 2016

You can access the course materials needed through https://edge.edx.org/courses/course-v1:UBC+CPSC110+2015W2/about

Please note that you will need to submit your application before noon on Monday, May 9th.

If you are NOT a UBC student but are interested in learning the course material
    You can find much of the content through edX.


The lecture section I want to take is full / I am on the wait list for CPSC 110. What should I do?

There isn’t anything that an instructor can do to get you into a lecture section that is full. But each term, a number of students sign up for CPSC 110 hoping to learn how to use existing programs like Excel, Word, Power Point, etc. When they discover that this is not the focus of 110, they drop and some space opens up in the course for students from the wait list.

Our experience and analysis of past terms have shown that students who start 110 late tend to not succeed in the course. For this reason, we do not intend to allow students to join the course after the first day of lecture. In limited cases students from the waitlist may be allowed to join the course if they can demonstrate to the instructor that they have actually been attending class and doing work in the course from the first day of the term. 

If you are currently on the wait list, then please check SSC regularly until after the first day of term to see whether you are moved into the course or not.

I'm registered in a lecture section and a lab section, but I want to switch into a different lab section that is full. Can you get me into the lab section?

There isn't anything an instructor can do to get you into your preferred lab section if it is full. You should closely monitor the SSC between the beginning of term and the add/drop deadline to see if space opens up in your preferred lab section. You must attend the lab section that you are registered for even if it's not your preferred lab section. If you are able to switch your lab section on the SSC, when you first attend your new lab you should identify yourself to the TA as a student who just joined that lab section.

I'm registered in a lecture section, but all the lab sections that fit my course schedule are full. What should I do?

  • Closely monitor the SSC website to see if space opens up in the lab section you want.
  • Up to the add/drop deadline, attend a lab section that fits your course schedule. Identify yourself to the TA as a student who is hoping to get into that lab.
  • If you still don't have a lab section by the second lab, email cpsc110-admin AT cs DOT ubc DOT ca and describe your situation.
  • Since you are registered in a lecture section, we will ensure that you end up in a lab section that fits your course schedule. This may not be your preferred lab section, however.