CPSC 103
Introduction to Systematic Program Design
Filter Reviews
Class Ratings
Professor Rating
Prof: Meghan Allen / Fall 2025
Dec 27, 2025
As the course description suggests, this course is best for students not majoring in CPSC. It is not difficult to do well in this course if you have a strong attention to detail, but those with programming experience (in any language) will have a moderate to strong advantage in this course because they are already used to computational thinking.
This course covers the basics of coding in Python (eg. if statements, for loops, variables, etc.), but also focuses on designing functions, data definitions, then complex programs breaking tasks into smaller functions and finally visualizations. This course does cover basic problem solving, but more emphasis is given to following the design recipes, meaning formatting is roughly ⅔ of the mark allocation for each question. It is not for CPSC students but the content is useful for any field using programming, such as computational chemistry.
The professor was very supportive. While she did not take attendance, at the end of lectures, she and the TAs used spare time to help students with their work. Then, because she was timely with covering the content, remaining lecture sessions became optional drop-in office hours where we could ask her help with our projects.
Attention to detail is perhaps the most important skill you will need in this course. Because of how the autograder works, you could have a function work perfectly but lose marks because of a typo in the comments (meaning it otherwise won’t affect the computed result).
Class Ratings
Professor Rating
Prof: Meghan Allen / Fall 2025
Dec 26, 2025
As the course title suggests, this course is best for people who need CPSC credit but will not major in the field. It is a light enough course that anyone, regardless of coding experience, can do well in the course if they have a strong enough attention to detail.
This course teaches the basics of coding (eg. syntax, if statements, for loops) using Python, then focuses on how to design functions, data definitions, and then much larger programs by breaking up tasks into smaller functions. While there is a problem-solving component, there is a stronger emphasis on following the design recipes (formats), with formatting taking up about 2/3 of the mark allocation for each question. In this course, I took three midterms (called "examlets"), one final, and did one project. The exams are self-booked so you can find a timeslot that works for you in a 3 to 7 day window. The project (done solo or in pairs) requires you to create a program that analyzes a dataset of your choice and creates a chart. This course is not designed for CPSC students, but it is v...read more
The professor was very supportive. While she does not take attendance, she and the TAs used spare time at the end of lectures to help any students with their work. Also, because she was timely with the content material, once the main lecture content was done, she used the remaining lecture periods as optional drop-in office hours to help us with our projects.
Attention to detail is perhaps the most important skill in this course. Because of how the autograder works, you can have a function work perfectly but still lose marks because of a typo in the comments. Check each answer thoroughly before submitting. Copy and paste function templates rather than rewriting them out. The exams are designed so you most likely will not run out of time if you go at a reasonable pace, but there are lots of trick questions especially in the multiple choice sections. Do not rush the MCQs to bank more time in the coding parts.
Class Ratings
Professor Rating
Prof: Giulia Toti / Spring 2024
May 21, 2024
AMAZING! My best course experience so far. This is my first time ever trying coding, and this class gave me confidence and interest in it!
Teach you how to use python from the basics. You need to do three assignments every week: Tutorial, worksheet and pre-lecture assignment Eventually, you will do a project with 0-1 teammate using python to read a data file and make a graph based on it
To be honest, the professor's help was minimal and you could get through the class pretty well without almost having to attend the lecture. Real applause goes to the teaching team and TAs. Their homework itself is teaching, and you can study the entire class by yourself just from the homework and extra problems. Nothing much you need to worry about, you do the things they assigned to you and you will pass easily.
The extra problems are very helpful. They isolate the content of each module and train you individually like exercising a certain muscle.
Class Ratings
Prof: Steve Wolfman / Winter 2019
Dec 27, 2020
Great class, and Dr. Wolfman is an amazing professor! Also, the TAs are also amazing :D Highly recommend!
just remember to do all the homework/tutorials, and you should be good to go.
Class Ratings
Prof: Meghan Allen / Winter 2020
Dec 27, 2020
Meghan's lectures were very helpful in understanding the topics and you could really tell that she tried to make CS accessible to everyone! The TA team was exceptional as well and they were available to answer questions about switching majors and the BCS program. Their review sessions were also super helpful.
Do the extra practice! The more practice you do the better you'll have a grasp on the material and will be able to recognize patterns in the questions.
Class Ratings
Prof: Steve Wolfman / Winter 2019
Dec 26, 2020
Easily the best and most caring prof I’ve ever had at UBC - TAs are super responsive and helpful, and Dr. Wolfman would bring brownies to the midterm review sessions.
Keep up with the assignments (there’s a lot, but if you do them you won’t even have to study for the exams). Don’t bother taking notes in class, just listen and try to work through the problems on your own before asking for help. The final project is super easy to do well on if you just follow the template. If you want to do really well on the exams, try to work through all the practice exams they give you (there was like 7 of them when I took the course) and you will do great!
Class Ratings
Prof: Meghan Allen / Fall 2020
Dec 20, 2020
Well organized
Be consistent and do all the homeworks
Leave a Review