Welcome to WCICS!


Welcome to the official Computer Science Club website of Waterloo Collegiate Institute! This site includes contact information for WCI CS, lesson pages, and a large collection of original computer science problems ranging from introduction problems to higher-level competition problems.

Also, we have editorials for problems not on our site, like CCC problems.

Waterloo Collegiate Institute's official school website can be found at wci.wrdsb.ca. Neither Waterloo Collegiate Institute (WCI) nor the Waterloo Region District School Board (WRDSB) endorse this website or are associated with it.

News & Announcements


March 20th meeting
Hello everyone, We will be meeting in room 218 ONLY today. We will be forming ECOO teams today, so if you have some friends you want to sign up with, please fill out [this form](https://docs.google.com/forms/d/e/1FAIpQLSfEGQsETurb4hZzE3uvA_fGakdmJsSMCz0SnVKmW0r-Lzdh7g/viewform). You don't have to sign up as a full team; you can sign up with one or two friends or even on your own, and we will be working on joining to form full teams today. You can visit [ECOO's website](https://ecoocs.org) for more... Read more >>>
ECOO Computing Competition
Hello Coders, I hope you enjoyed a relaxing March Break and are excited to partake in another coding competition: the ECOO computing competition! Note that the ECOO competition is *free* for all. The ECOO competition is a team coding competition with teams of 4. If you do not have enough members to form a group of 4, do not worry, as we will attempt to place you into teams of 4 where the gender and grade are similar. You are welcome to register as any number of people up to 4. Please fill out... Read more >>>
March 6th meeting
Hello coders, We will be meeting in rooms 216 and 218 today. Thomas will not be here today so Keenan will be teaching some object-oriented computer theory relating to C# to the game dev students. We look forward to seeing you after school. -- WCICS Dev Team Read more >>>
February 27th meeting
Good day coders, We are meeting today in rooms 218 and 216. We will be doing game development and web development, because of the votes on the survey. If you wish to continue learning CS theory, you are welcome to do so. The lessons on our site will remain, and I will be working to add more lessons in the months to come. You are also more than welcome to ask questions about CS theory in CS club. We look forward to seeing you today! -- Keenan on behalf of the WCICS club leaders Read more >>>
CS Club Cancelled Today
Hello coders, CS Club is cancelled today because we can't take up the solutions for CCC and there's little reason to continue CCC practice. We also don't have enough information on what you want to do, so it would be helpful if you could fill out this [survey](https://docs.google.com/forms/d/e/1FAIpQLSc57p4luNRqno3mwGRugbEy_SdpRZUw-VOZD40TvBRgg1ctpw/viewform) so we know what everyone wants to do now that CCC is done. Thanks, WCI CS Dev Team Read more >>>
CCC Room Change
Good evening coders, Sorry for (yet another) update on the CCC: we no longer have the library seminar room. As such, everyone is writing in 218. We can start as early as 8am, so if you arrive later, please be quiet as others have already started. Thanks, and good luck tomorrow! -- The WCICS Dev team Read more >>>
CCC Rules Update
Hello again coders, Just a heads up - I was wrong this past wednesday: you cannot bring as much printed material as you'd like. You can bring any blank paper, however, any pre-written material is prohibited, with the exception of dictionaries, if you require one. Good luck on the CCC! -- Keenan on behalf of the WCICS dev team Read more >>>
Post CCC Activities
Happy Family day Coders! This coming wednesday, after the CCC, we will be starting other activities other than general CS. We have made a survey for you guys to decide which activities we should do after CCC. Please take the time to fill it out: [Survey](https://docs.google.com/forms/d/e/1FAIpQLSc57p4luNRqno3mwGRugbEy_SdpRZUw-VOZD40TvBRgg1ctpw/viewform?usp=sf_link) Thanks! -- The WCICS Dev Team Read more >>>
February 13th Meeting
Hello Coders, Despite bus cancellations, we are still meeting today. We will be taking up CCC problems from years 2017 and 2018. See you in room 216/218! -- The WCICS Dev Team Read more >>>
Club Cancellation
Good day Coders, Due to yesterday's school cancellation, we missed CS Club yesterday. As such, we strongly encourage you to look over the posted editorials on your own time. Feel free to [contact us](https://wcics.club/about) if you require any help with the editorials and problems. We will continue next week with the 2017/18 CCC problemset, which can be found [here](https://dmoj.ca/problems/?search=CCC+%2717&category=4) and [here](https://dmoj.ca/problems/?search=CCC+%2718&category=4). Good... Read more >>>
Upcoming Schedule
Good evening coders, Due to some horrible planning by myself, I miscounted the number of CS club days we would have and as such, we are going to have to take up multiple years in the next two weeks. This means that this upcoming wednesday we will be taking up CCC 15/16, and the following week we will be taking up 17/18. The week after that IS THE CCC!! If you have time this weekend (or monday), feel free to take a look at the 15/16 problemset, as we will be taking them up this coming wednesday. We... Read more >>>
January 23rd - No meeting
Hello coders, Because today is a non-testing day, CS club will not be running. Take this time to study for your exams! If you do not have exams, have some extra time during the week, or finish your exams and want to keep improving your coding skills for CCC, you can find the CCC 2016 problems on [DMOJ](https://dmoj.ca/problems/?search=CCC+%2716&category=4). The editorials are now up for the CCC 2015 problems. We will be taking up problems from both 2015 and 2016 when we return. Good luck on your... Read more >>>
January 16th meeting
Hello Coders, We will be taking up the 2014 CCC problems this week. You can also follow along with [our editorials](https://wcics.club/editorials). We will also be doing the 2015 CCC problems this week for practice. The junior problems are [here](https://dmoj.ca/problems/?search=CCC+%2715+J&category=4) and the senior problems are [here](https://dmoj.ca/problems/?search=CCC+%2715+S&category=4). We look forward to seeing you after school! -- Keenan Gugeler and Alex Liao Read more >>>
January 9th meeting
Hello Coders, We are meeting today in room 218 for a quick announcement before we split up. We will be going over the 2014 CCC contest problems today, so there will be no lesson. The problems are all on DMOJ [here](https://dmoj.ca/problems/?search=14&category=4) (note that S1 and S2 are J4 and J5 respectively). We look forward to seeing you after school! -- Keenan Gugeler and Alex Liao Read more >>>
December 19th meeting
Hello Coders, We are meeting today in room 218 + 216. The beginner class will be doing: - [Pathfinding in Unweighted Graphs](https://wcics.club/lesson/graph-theory/pathfinding-unweighted) The intermediate class will be doing: - [Multidimensional Dynamic Programming](https://wcics.club/lesson/dynamic-programming/2d-dp) There are practice problems for the lessons, which you can find on the [problems page](https://wcics.club/problems) under the featured section. We look forward to seeing you after... Read more >>>
December 12th meeting
Hello Coders, We are meeting today in room 218 + 216. The beginner class will be doing: - [Introduction to Graph Theory](https://wcics.club/lesson/graph-theory/graph-intro) The intermediate class will be doing: - [Introduction to Dynamic Programming](https://wcics.club/lesson/dynamic-programming/intro-to-dp) There are practice problems for the lessons, which you can find on the [problems page](https://wcics.club/problems) under the featured section. We look forward to seeing you after school! --... Read more >>>
December 5th meeting
Hello Coders, We are meeting today in room 218 + 216. The beginner class will be doing: - [Sorting](https://wcics.club/lesson/miscellaneous/sorting) - [Searching](https://wcics.club/lesson/miscellaneous/searching) The intermediate class will be doing: - [MST with Prim's Algorithm](https://wcics.club/lesson/graph-theory/prim-mst) - [MST with Kruskal's Algorithm](https://wcics.club/lesson/graph-theory/kruskal-mst) There are practice problems for the lessons, which you can find on the [problems... Read more >>>
Advent of Code
Hello Coders, In the spirit of advent, we have decided to make an advent of code for you guys! Although other such advents exist, we wish to bring a form of advent that gives challenging problems while remaining solvable by those with limited programming experience. You can check out the advent page [here](https://wcics.club/advent). The problems will be released each day from december 1st to 25th, at midnight EST. We hope you find the problems challenging and enjoyable! -- The WCICS Dev Team Read more >>>
November 28th meeting
Hello Coders, We are meeting today in room 218 + 216. The beginner class will be doing: - [Computational Complexity](https://wcics.club/lesson/miscellaneous/computational-complexity) - [Problem Approach](https://wcics.club/lesson/miscellaneous/problem-approach) The intermediate class will be doing: - [Pathfinding in negatively weighted graphs](https://wcics.club/lesson/graph-theory/pathfinding-negative-weighted) We look forward to seeing you after school! -- Keenan Gugeler and Alex Liao Read more >>>
November 21st meeting
Hello Coders, We are meeting today in room 218 + 216. The beginner class will be doing: - [Advanced Operators](https://wcics.club/lesson/miscellaneous/advanced-operators) - [Recursion](https://wcics.club/lesson/miscellaneous/recursion) The intermediate class will be doing: - [Pathfinding in weighted graphs](https://wcics.club/lesson/graph-theory/pathfinding-weighted) We look forward to seeing you after school! -- Keenan Gugeler and Alex Liao Read more >>>
November 14th meeting
Hello Coders, A friendly reminder that our meeting is today after school in room 218 and 216. The beginner class will be doing: - [Trees](https://wcics.club/lesson/data-structures/trees) - [Heaps](https://wcics.club/lesson/data-structures/heaps) - [Priority Queues](https://wcics.club/lesson/data-structures/priority-queues) - Practice Problem: [Priority Queue Exercise](https://wcics.club/problem/pq-exercise) The intermediate class will be doing: - [Path Finding in Unweighted Graphs](https://wcics.club/lesson/graph-theory/pathfinding-unweighted) -... Read more >>>
November 7th meeting
Hello, coders! The Intermediate class will be doing [Intro to Graphs](https://wcics.club/lesson/graph-theory/graph-intro) today. The Beginner class will be doing [Sets](https://wcics.club/lesson/data-structures/sets) and [Maps](https://wcics.club/lesson/data-structures/maps). The practice problems are [Map Exercise](https://wcics.club/problem/map-exercise) and [Set Exercise](https://wcics.club/problem/set-exercise). Dark Theme is also now available! Under account settings, the button at the bottom... Read more >>>
CS Club Feedback Request
Hello everyone! Please take the time to fill out [this form](https://docs.google.com/forms/d/e/1FAIpQLSdKrvexuycq3bsUoZHthjpw5WyPKr5YM99-bTd3Jk1l0nRb4A/viewform), which is a feedback form for this club. It is completely anonymous, so please be honest about your opinions and provide helpful feedback so we can make this club work better for you. Thanks! -- Keenan Gugeler and Alexander Liao Read more >>>
October 31st meeting
Happy Halloween coders! This is just a reminder that we will meeting after school today in room 218. The Beginner class will be doing [Stacks](https://wcics.club/lesson/data-structures/stacks), [Queues](https://wcics.club/lesson/data-structures/queues), and [Deques](https://wcics.club/lesson/data-structures/deques). The practice problem for this week is [Candy Bar Stacks](https://wcics.club/problem/candy-bar-stacks). The Intermediate class will be doing [Sorting](https://wcics.club/lesson/miscellaneous/sorting)... Read more >>>
October 24th meeting
Hello all, A reminder that we are meeting after school tomorrow in room 218. The Beginner class will be doing: - [Arrays and Lists](https://wcics.club/lesson/data-structures/arrays+lists) - [Linked Lists](https://wcics.club/lesson/data-structures/linked-lists) The Intermediate class will be doing: - [Computational Complexity](https://wcics.club/lesson/miscellaneous/computational-complexity) - [Problem Approach](https://wcics.club/lesson/miscellaneous/problem-approach) Additionally, due to a mandatory... Read more >>>
Thanks for your patience :D
Hello everyone, The database appears to be in actual WORKING condition now (thanks Keenan lol). It took a while, but the old system apparently didn't like working properly... Thanks for your patience during the past three weeks with recurring issues (you've probably seen more than enough 403, 404, and 500 errors :P). We hope that the current system will continue functioning properly for a long time (forever?). Thanks, -- Keenan Gugeler and Alexander Liao Read more >>>
Further Shortening of the October 17th Meeting
Note that today's meeting has been further shortened to 3:15 due to parent-teacher night. Today the beginners will be doing: - [External Libaries](https://wcics.club/lesson/basics/external-libraries) - [Exceptions](https://wcics.club/lesson/basics/exceptions) The intermediates will be doing: - [Advanced Operators](https://wcics.club/lesson/basics/exceptions) - [Recursion](https://wcics.club/lesson/miscellaneous/recursion) We look forward to seeing you after school! --Keenan Gugeler and Alex... Read more >>>
Club Time Change (Oct 17)
Hello everyone, CS Club will run until 3:30 PM next week (October 17th) due to the parent-teacher interviews that will be taking place later that evening. Please plan accordingly. Thanks, -- Alexander Liao, Keenan Gugeler, and Thomas Ingram Read more >>>
October 10th meeting
Hello all, A reminder that we are meeting after school today in room 218. The Beginner class will be doing: - [Classes](https://wcics.club/lesson/basics/classes) The Intermediate class will be doing: - [Trees](https://wcics.club/lesson/data-structures/trees) - [Heaps](https://wcics.club/lesson/data-structures/heaps) - [Priority Queues](https://wcics.club/lesson/data-structures/priority-queues) The presentations are in our google drive folder. Our lessons are on the site. We look forward to seeing... Read more >>>
October 3rd meeting
Hello all, A reminder that we are meeting after school today in room 218. The Beginner class will be doing: - [Loops](https://wcics.club/lesson/basics/logic) - [Functions](https://wcics.club/lesson/basics/conditionals) Practice Problems: - [CCC '17 J2: Shifty Sum](https://wcics.club/problem/ccc17j2) The Intermediate class will be doing: - [Sets](https://wcics.club/lesson/data-structures/sets) - [Maps](https://wcics.club/lesson/data-structures/maps) Practice Problems: - [Set Exercise](https://wcics.club/problem/set-exercise) -... Read more >>>
Server Authentication Changes
Hello, As many of you may be aware, our servers experienced some technical difficulties during last week's CS club meeting. One of the sources of this cascade of issues is that in the past, we stored user data on Firebase (things like authentication, etc), and as our server grew, we found the need to store data on our own databases as well. Synchronization issues between a database within our server and one run on a trusted third-party software are likely the source of most if not all of these issues. To... Read more >>>
Math Contest Information
Hello everyone, Even though this *is* **Computer Science** Club, math contests are still good to write because many of those mathematics skills apply to computer programming, and good results from math contests can be deciding factors for acceptance into many universities (notable the UW) for Engineering and Mathematics (Computer Science is in the Mathematics Faculty at UW). I've added all of the (open) math contests that will be running at WCI this year to the Google Calendar. Information for... Read more >>>
September 26th meeting
Hello all, A reminder that we are meeting after school today in room 218. The Beginner class will be doing: - [Logic](https://wcics.club/lesson/basics/logic) - [Conditionals](https://wcics.club/lesson/basics/conditionals) Practice Problems: - [CCC '15 J1: Special Day](https://wcics.club/problem/ccc15j1) - [CCC '16 J1: Tournament Selection](https://wcics.club/problem/ccc16j1) - [CCC '18 J1: Telemarketer or not?](https://wcics.club/problem/ccc18j1) The Intermediate class will be doing: - [Stacks](https://wcics.club/lesson/data-structures/stacks) -... Read more >>>
September 19th meeting
Hello all, A reminder that we are meeting after school today in room 218. The Beginner class will be doing: - [Input & Output](/lesson/basics/input+output) - [Variables](/lesson/basics/variables) - [Arithmetic](/lesson/basics/arithmetic) The Intermediate class will be doing: - [Arrays & Lists](/lesson/data-structures/arrays+lists) - [Linked Lists](/lesson/data-structures/linked-lists) The presentations are in our google drive folder. Our lessons are on our site. We look forward to seeing you... Read more >>>
Next week & Scheduling
Thank you to all of you that came out to our information meeting, we had so many of you! Because of the amount of people we have, we are going to be splitting up. We are going to split into a Beginner and Intermediate group. If you have knowledge of classes and functions you are encouraged to join the intermediate group. That being said, you are welcome to go back and forth between either class. We will be meeting in 218 next Wednesday (September 19th) after school. If you can only make some... Read more >>>
Google Classroom Code
For those of you looking to join our google classroom, the code is `e69v0oa`. -- Keenan Gugeler Read more >>>
First Meeting
Hello, The first meeting of the WCI Computer Science club is after school today in the library. If you cannot attend, do not worry, the most pertinent information will be added to this site later. We hope you attend and join our club! -- Keenan Gugeler Read more >>>