CPSC 110 Info



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 CPSC 110 will serve you well whenever you face a difficult design problem—whether it is program design or a problem from another field entirely. In the words of a previous student:

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—intended 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.

Instructions for Students

CPSC 110 builds upon the edX Systematic Program Design courses, and provides additional material for UBC students. Please note that 110 uses its own separate version of the edX course - please see the setup page for how to enroll in that version.

Student Instructions

If you are a UBC student registered in CPSC 110

  • Thoroughly review the syllabus. Note that some details are specific to the current term, however, term-specific details are updated a few weeks before a new term begins.
  • Follow all of the steps on the setup page.
  • Email cpsc110-admin@cs.ubc.ca if you have a question about the course that is not answered by this page or the syllabus. Questions that are answered by this page or the syllabus will not receive a response.

If you are a UBC student and have deferred standing (SD) in CPSC 110 or CPSC 107

Check the date of the next CPSC 110 challenge exam below. As specified on the Standing Deferred and Supplemental exams page, deferred exams for CPSC 110 and CPSC 107 must be written with the next challenge exam or the next term's final exam, whichever comes first.

Important notes about deferred exams:

  • Check your @student.ubc.ca email regularly for communication about deferred exams from the course team.
  • Stay caught up with the course material in preparation for your deferred exam using practice problems, past exams, and other resources on the CPSC 110 Links page. You will still have access to edX Edge and SPD handin after the course ends.
  • Do not contact the course team if you anticipate being absent or are absent from your deferred exam. You must contact your faculty's academic advising office to discuss your options, which may include extending your deferred standing or withdrawing from the course.
  • SD students are not required to pay the challenge exam fee to write their deferred exam and should not fill out the challenge exam registration survey.

If you are a UBC student and would like to take the next CPSC 110 Challenge Exam

The next opportunity to write the challenge exam is with the 2023W2 final exam in April 2024. We will update the exam date and time once the 2023W2 final exam schedule has been released. The exam is computer-based (students must bring their own computer) and will take place in person. We will provide further details (e.g., the location) after the registration deadline below to students who register for the exam.

You must complete all of the following steps before 11:59 PM on Friday, March 29 to register for the challenge exam:

  1. Thoroughly review the CS Department's CPSC 110 Challenge Exam page.
  2. Register in CPSC 110 (or one of the waitlists) so that you will have the option to take CPSC 110 if you do not successfully challenge the course. For example, register for the January offering of the course if you plan to write the challenge exam in December.
  3. Pay the non-refundable fee through the CS Department's payment portal.
  4. Complete the CPSC 110 Challenge Exam Registration Survey. You will receive an email summarizing your responses and confirming your registration at the email address you provide in the survey.
  5. Follow all of the steps on the setup page. Note that you will not be able to access SPD handin/autograder feedback until after you pay the exam fee and complete the registration survey.
  6. Prepare for the exam using practice problems, past exams, and other resources on the CPSC 110 Links page.
  7. Thoroughly review the exam instructions outlined on the CPSC 110 Exam Instructions page. Note that some details on this page will be specific to the current term's midterms, however, instructions for the midterms, final exam, and challenge exam are the same. The only difference is that the midterms are 2 hours while the final exam and challenge exam are 2.5 hours.

Important notes about the challenge exam:

  • Students are permitted to defer their registration for the challenge exam one time. After deferring their registration for the challenge exam once, a student must reapply for the exam and pay the exam fee again if they wish to take the exam at a later date.
  • The course team is unable to provide specific advice to students on whether to challenge the course or not. We can share that both students who have prior programming experience and students who have no prior programming experience can be successful in challenging the course. Students who are successful in challenging the course generally begin preparing 2-4 months before the exam and spend 12-32 hours per week working through the course material, depending on how early they begin.

If you are not a UBC student, but are interested in learning the course material

Visit edX to find much of the CPSC 110 content.

Frequently Asked Questions

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

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

  3. I'm registered in a lecture and lab section, but I want to switch into a different lecture or lab section that is full. What should I do?

  4. I'm registered in the course but there has been a delay in my Visa processing and I will not arrive in Vancouver until after the term starts. What should I do?

  5. Can I use any computer for the course?

  6. Are lecture recordings provided?

  7. Why is one of my grades "EX" in Canvas?

  8. Are total grade calculations for assignment groups in Canvas accurate?

  9. I have a different question about CPSC 110. Who should I ask?