
Instructor: Yichen Liu
Hello, my name is Yichen Liu, a high school student at Western Canada High School enthusiastic about programming and computer science. As an executive member of the computer science club, and programming hobbyist, I’m constantly pursuing opportunities to learn more about all things computer-related, and demonstrate my skills by creating. I’ve participated in various programming competitions, earning the distinction award in the University of Waterloo’s CCC at the senior level, qualifying to compete in the USACO’s silver division, and winning second place with my team at the Alberta Collegiate Programming Competition hosted at the University of Calgary. Furthermore, I have plenty of experience in software development through personal projects such as chatbots for the Western Canada High School computer science club, and a basic personal homepage using HTML and CSS. I’m currently learning more about web development, and am looking to connect with other like-minded learners like me.
Course Introduction
This course will prepare students to compete in the University of Waterloo’s Candian Computing Competition, and teach them the core algorithms they need to know to succeed. The course will consist of 8 lessons covering common programming archetypes found at the junior level.
Course Outline
Lesson 1/2
- Math
- Implementation
- Ad Hoc
Lesson 3/4
- Sorting
- Two pointers
- Sliding windows
- Prefix sum
Lesson 5/6
- Greedy Algorithm
- Binary search
- Dynamic programming
Lesson 7/8
- Queue/Stack
- Graph theory
- BFS/DFS
- Dijkstra’s Algorithm (shortest path)
- Prim’s Algorithm (Minimum Spanning Tree)
Date & Time
June 1 – July 20 (2023)
Thursday 5:30pm – 7:00pm
Total: 8 Lessons
Classes occur on Zoom
*No fee required