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.

Where To Go

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.

If you are... You should...

...a UBC student and will be taking CPSC 110

  • Review the course syllabus. Note that some details are specific to 2022W1, however, the syllabus will be updated before the 2022W2 term begins.
  • Follow all of the steps on the setup page.

...a UBC student and have questions about the course

  • Carefully read our frequently asked questions below.
  • Carefully read the course syllabus.
  • Email cpsc110-admin@cs.ubc.ca if your question is unanswered. You will not receive a response if your question is answered on this page or on the course syllabus.

...a UBC student and have SD status in CPSC 110 or CPSC 107

  • Check the date of the next CPSC 110 challenge exam below. Deferred exams must be written with the next challenge exam or the next term's final exam, whichever comes first. SD students are not required to pay the challenge exam fee to write their deferred exam.
  • Ensure that your CS Account email forwarding is set up properly and check your email regularly for communication about deferred exams from the course team.
  • Stay caught up with the course material in preparation for your deferred exam. You will retain access to edX Edge and SPD handin even after the course ends.

...a UBC student and would like to take the CPSC 110 Challenge Exam in January 2023

  • Mark the exam on your calendar for 12:00-2:30 PM on Saturday, January 14. Note that the registration deadline for the exam is 11:59 PM PST on Friday, December 16. The exam will take place in-person and we will provide further details (e.g., instructions, location, etc.) once the registration deadline passes.
  • Review the CS Department's CPSC 110 Challenge Exam page and pay the non-refundable fee before the registration deadline through the CS Department's Payment website.
  • Complete your registration for the exam and gain access to SPD handin/autograder feedback by filling out the CPSC 110 Challenge Exam Registration Survey. Note that you will not be able to access SPD handin/autograder feedback until you pay the exam fee.
  • Follow all of the steps on the setup page and enroll in the edX Edge course to access the course materials you will need to prepare. You can find practice problems, past exams, and other resources on the CPSC 110 Links page.

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

Frequently Asked Questions

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

CPSC 110 follows the CS Department's wait list policy. Until classes start, all wait lists are managed according to the priorities described in the CS Department's wait list policy and there isn't anything that an instructor or course coordinator can do to get you into a lecture section that is full. Please do not contact instructors or course coordinators to ask about your wait list position or to request the ability to jump the queue.

Each term a number of students drop the course and some space opens up in the course for students from the wait list. So if you would like to get into the course, you must:

  1. Register on (one of) the wait list(s).
  2. Enroll in edX (see the setup page).
  3. Complete the pre-lecture work.
  4. Attend and participate in lecture.
  5. Complete and submit problem sets.
  6. Complete the lab work for practice, but do not attend lab.
  7. Write the wait list quiz.

The wait list quiz will take place shortly after the beginning of the term, before the add/drop deadline. We will provide more information about the quiz to wait-listed students once the term begins. The wait list quiz is mandatory to be enrolled in the course after the term starts, however, writing the wait list quiz does not guarantee that you will get in to the course.

Students on the wait list are not allowed to attend labs due to room/TA capacity, but they must complete the lab work for practice to keep up with the course material. Students on the waitlist are welcome to attend TA office hours to get help and/or feedback on their lab work. Movement from the wait list into the course is dependent on both your wait list position and your ability to demonstrate that you have been doing work in the course from the first day of term. Please note that even if you are high up on the wait list, there is no guarantee that you will get in to the course.

Wait list students who are moved into the course must email the course coordinator at cpsc110-admin@cs.ubc.ca ASAP to receive exemptions for the lab(s) they have missed while on the wait list. Waitlist students are required to complete and submit problem sets and exemptions will not be provided for problem sets.

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 a lab section that fits your course schedule. Spots will open up as many students change their schedule during the first few weeks of the term. Students who cannot register in a lab section that fits their course schedule can attend any lab section that fits their course schedule up to the add/drop deadline. If you still don't have a lab section the day before the add/drop deadline, please email cpsc110-admin@cs.ubc.ca. Since you are registered in a lecture section, we will ensure that you end up in a lab section that fits your course schedule before the add/drop deadline. This may not be your most preferred lab section, however.

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

There isn't anything an instructor or course coordinator can do to get you into your preferred lecture or lab section if it is full. You can closely monitor the SSC to see if space opens up in your preferred section before the add/drop deadline, however, you must attend the lecture and lab section that you are registered for even if they are not your preferred lecture and lab section. If you are able to switch into your preferred lab section, please tell the TA that you recently switched lab sections when you attend your first lab in the new section.

I missed the final exam. What should I do?

Students who miss a final exam must must apply for deferred standing through Science Advising or their home faculty's academic advising office, no later than 48 hours after the missed final exam. Please see the Standing Deferred and Supplemental exams page. Note that students who do not complete sufficient labs, problem sets, and midterms during the term or who are otherwise not considered to be in good academic standing may not qualify for a standing deferred exam if they miss the final exam.