EssayPal.ai - This AI writes in your style of writing!

CPSC 103

Introduction to Systematic Program Design

Filter Reviews

Overall0
Easiness0
Interest0
Usefulness0
Reviews 7
0

Class Ratings

4Good Class
5Very Easy
4Interesting
4Useful

Professor Rating

4Good Prof

Prof: Meghan Allen / Fall 2025

Dec 27, 2025

Comments on the course

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.

Course Content

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.

Comments on the professor

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.

Advice

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).

Delivery: In personGrade: A+Workload: LightTextbook Use: No
Assignment HeavyExam Heavy
1

Class Ratings

4Good Class
4Easy
4Interesting
3Kinda Useful

Professor Rating

4Good Prof

Prof: Meghan Allen / Fall 2025

Dec 26, 2025

Comments on the course

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.

Course Content

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

Comments on the professor

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.

Advice

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.

Delivery: In personGrade: A+Workload: LightTextbook Use: No
Assignment HeavyExam Heavy
1

Class Ratings

5Amazing Class
3Avg. Difficulty
5Very Interesting
5Very Useful

Professor Rating

4Good Prof

Prof: Giulia Toti / Spring 2024

May 21, 2024

Comments on the course

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!

Course Content

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

Comments on the professor

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.

Advice

The extra problems are very helpful. They isolate the content of each module and train you individually like exercising a certain muscle.

Delivery: In personGrade: B+Workload: ModerateTextbook Use: No
Assignment HeavyExam HeavyProject Heavy
1

Class Ratings

4.7Amazing Class
5Very Easy
4Interesting
5Very Useful

Prof: Steve Wolfman / Winter 2019

Dec 27, 2020

Comments on the course

Great class, and Dr. Wolfman is an amazing professor! Also, the TAs are also amazing :D Highly recommend!

Advice

just remember to do all the homework/tutorials, and you should be good to go.

Grade: A+Attendance: MandatoryTextbook Use: No
0

Class Ratings

3OK Class
3Avg. Difficulty
3Kinda Interesting
3Kinda Useful

Prof: Meghan Allen / Winter 2020

Dec 27, 2020

Comments on the course

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.

Advice

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.

Grade: A+Attendance: Non-MandatoryTextbook Use: No
3

Class Ratings

4.7Amazing Class
5Very Easy
5Very Interesting
4Useful

Prof: Steve Wolfman / Winter 2019

Dec 26, 2020

Comments on the course

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.

Advice

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!

Delivery: In personGrade: A+Attendance: Non-MandatoryTextbook Use: No
0

Class Ratings

3.7Good Class
3Avg. Difficulty
4Interesting
4Useful

Prof: Meghan Allen / Fall 2020

Dec 20, 2020

Comments on the course

Well organized

Advice

Be consistent and do all the homeworks

Textbook Use: No

Leave a Review

Overall Rating

Easiness

Interest

Usefulness

Professor Rating

Comment on the course*

Course content

Comment on the professor

Advice