Computer Science

the study of automating algorithmic processes that scale


So you’ve learned how to code. What now?

The first "computer" was built in the early 19th century by Charles Babbage. The word computer, however, was in use long before the 19th century.

A computer, quite simply, is something which computes; something which carries out computations. In modern usage, the word computer carries the connotation of being some electrical device. In ancient times, it simply referred to something which crunched numbers.

But figuring out what numbers to crunch and figuring out how to crunch these numbers are very different disciplines. Computer Science is about how we crunch numbers; how we can process massive amounts of data in an efficient manner.


The end goal of this course is to prepare you for the Canadian Computing Competition, Senior Division, next February. We strongly recommend you have a good grip on your programming language of choice; we assume you are well-acquainted with all concepts in the standard ICS3U Grade 11 Introduction to Computer Science course. To familiarize yourself with the C++ syntax, take a look at our second lesson.

In this course, we’ll be using C++ for its low-level power. If you wish use other, more familiar languages instead, you may; however, if you are not familiar with at least one of the CCC-acceptable languages, you must learn one of them to take the CCC. Either way, we strongly recommend you follow with C++, as we will be largely unable to help if you run into a language-specific problem.

The beginners' course taught how to program, where you learned how to write code; the advanced course moves up one level of abstraction into how to write algorithms and how to use code to implement them. We’ll begin by diving into the working of the computer before moving onto working with algorithms and data structures, intermittently learning about various intricacies of C++ before culminating with various algorithms in Graph Theory. The material covers most of the ICS4U course, and dips into first- and second-year university CS courses. Due to the time constraints, this course will move quickly; we recommend that you pre-read lessons before meetings so that it will be easier when you’re learning in the classroom.

Useful Resources

Help! My code doesn’t work!

Good luck!