CPSC 203, 2025 W2
January 6, 2026
Prof: Cinda Heeren π§ cheeren@cs.ubc.ca β° Mon 2β4pm Β· π’ ICCS 233 Β·
Examples:
Rules:
A question is valid if it puts at least 5 and no more than half of the current group on vacation.
End of Game:
Punchline questions:
We know we will need at least ______ questions.
We know we will need no more than ______ questions.
Why did we stop at 10 instead of 1?
Why did we do this?
Canvas: https://canvas.ubc.ca/courses/176702
Course Website: https://ubc-cs.github.io/cpsc203
PrairieLearn: https://us.prairielearn.com/pl/course_instance/202804
This course will teach you a bunch of different things!
| Week | Monday | T | R | Lab | Examlet | POTW |
|---|---|---|---|---|---|---|
| 1 | 1/5/2026 | π | π | |||
| 2 | 1/12/2026 | π | π | πͺ | ποΈ | |
| 3 | 1/19/2026 | π | π | πͺ | ποΈ | ποΈ |
| 4 | 1/26/2026 | π | π | πͺ | π€© | ποΈ |
| 5 | 2/2/2026 | π | π | πͺ | ποΈ | ποΈ |
| 6 | 2/9/2026 | π | π | πͺ | π€© | ποΈ |
| 7 | 2/16/2026 | |||||
| 8 | 2/23/2026 | π | π | πͺ | ποΈ | ποΈ |
| 9 | 3/2/2026 | π | π | πͺ | π€© | ποΈ |
| 10 | 3/9/2026 | π | π | πͺ | ποΈ | ποΈ |
| 11 | 3/16/2026 | π | π | πͺ | π€© | ποΈ |
| 12 | 3/23/2026 | π | π | πͺ | ποΈ | ποΈ |
| 13 | 3/30/2026 | π | π | πͺ | π€© | ποΈ |
| 14 | 4/6/2026 | π | π | πͺ | ποΈ |
| Item | Weight | Due date(s) |
|---|---|---|
| Problems of the Week | 10% (10 x 1%) | Sundays at 11:59 PM |
| Labs | 5% (10 x 0.5%) | Sundays at 11:59 PM |
| Programming Projects | 9% (3 x 3%) | Three in the term |
| Examlets. | 50% (5 x 10%) | ~ Bi-weekly |
| Final Exam | 26% | TBD |
π§ Email cheeren@cs.ubc.ca
Checked daily. Please place βCPSC203β in subject!
Piazza piazza.com/ubc.ca/winterterm22025/cpsc203 Post questions for quick response.
π« Office Hours
| Name | Time | Location & Zoom |
|---|---|---|
| Cinda | Mon 2β4pm | π’ ICCS 233 Β· |
| Minh Anh | TBD | π’ TBD |
| Paulette | TBD | π’ TBD |
| Handcraft | Billboard Hot 100 | The Overstory and Pointillism | Artificial Music Composition | Road Trip Planning | Spidermanβs Social Network |
|---|---|---|---|---|---|
Design Objects Iteration |
Web Scraping Data Frames MatPlotLib |
Voronoi Diagrams Efficiency |
Markov Chains Random Numbers Graphs |
Traveling Salesperson Intractable Problems |
Natural Language |
This course consists of a sequence of six explorations, assembled to provide a tour through data structure applications and algorithmic design. Built around topics from arts, sciences, and technology, the explorations are thought provoking and engaging. You will emerge from the course with increased proficiency in Python programming, and with a broad spectrum of tools for algorithmic problem solving.


Define a small working group of size up to 4.
One of you share: https://mathigon.org/tangram
Solve as many as youβd like, together
Speculate together on why youβre doing this!!
10:00
Key insight: The pieces never change. Youβre learning to see how the same fundamental components can be combined differently to solve different problems.
This is exactly how programming works:
Just like tangram pieces, programming constructs donβt change. What changes is how you arrange them.
Weβre going to spend some time on another conceptual metaphorβ¦
A poser: What does it mean for something to be elegant?
Scissors



Today we have begun to introduce some of the themes and ideas that weβll see all term long:
Counting steps: whatβs the best that can happen? whatβs the worst?
Design of Programmatic solutions:
Elegance?? WHY?