HOME

TheInfoList



OR:

The Canadian Computing Competition (CCC) is an annual programming
competition Competition is a rivalry where two or more parties strive for a common goal which cannot be shared: where one's gain is the other's loss (an example of which is a zero-sum game). Competition can arise between entities such as organisms, ind ...
for secondary school students in
Canada Canada is a country in North America. Its ten provinces and three territories extend from the Atlantic Ocean to the Pacific Ocean and northward into the Arctic Ocean, covering over , making it the world's second-largest country by tota ...
, organized by the Centre for Education in Mathematics and Computing at the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
. Stage 1 is written at high schools and can be written in the
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
of the students' choice, with only a few, such as
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since ht ...
and
Mathematica Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimi ...
, disallowed. There are two levels of problems presented, Junior and Senior. The top 20 (or so) students in the Senior division are invited to the
University of Waterloo The University of Waterloo (UWaterloo, UW, or Waterloo) is a public research university with a main campus in Waterloo, Ontario, Canada. The main campus is on of land adjacent to "Uptown" Waterloo and Waterloo Park. The university also operates ...
to participate in Stage 2, the Canadian Computing Olympiad (CCO). CCO participants are restricted to languages permitted at the IOI, which currently includes only
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, C and C++. ( Pascal was discontinued in 2019). The CCO is used to select students to represent Canada at the IOI. The questions in the CCC are algorithmic in nature, designed to test a student's ability to design and code algorithms rather than their knowledge of
APIs Apis or APIS may refer to: * Apis (deity), an ancient Egyptian god * Apis (Greek mythology), several different figures in Greek mythology * Apis (city), an ancient seaport town on the northern coast of Africa **Kom el-Hisn, a different Egyptian ci ...
or language-specific features. Stage 2 is more difficult than Stage 1, but still easier than the IOI. The problems generally have memory or time constraints, forcing the programmer to find efficient solutions to earn full marks. The contests are also open to students from
Hong Kong Hong Kong ( (US) or (UK); , ), officially the Hong Kong Special Administrative Region of the People's Republic of China (abbr. Hong Kong SAR or HKSAR), is a city and special administrative region of China on the eastern Pearl River Delta i ...
(since 2005) and
Beijing } Beijing ( ; ; ), alternatively romanized as Peking ( ), is the capital of the People's Republic of China. It is the center of power and development of the country. Beijing is the world's most populous national capital city, with over 21 ...
(since 2007), although they are not eligible to participate on the Canadian IOI team.


Contest Stages


Stage 1

The contest is three hours long. There are five questions, each worth 15 points, for a total of 75 points. The grading is done on th
CCC Grader
The algorithms used in the Junior competition ranges from straightforward, simple loops and flow control structure, and sometimes recursion. The tasks in the Senior competition are generally more difficult than the Junior competition, ranging from simple implementation to advanced techniques such as
dynamic programming Dynamic programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics. I ...
. It is split into Junior (for elementary programming skills) and Senior (for higher programming skills). All written programs have a 3 second time limit and a maximum of 512 MB of memory. While access to the Internet is allowed (for accessing documentation), the use of other material (such as Google, chat systems, forums, and any other form of communication) is forbidden. Calculators are permitted. The CCC Online Grader accepts the following programming languages: * C * C++ * Python (2.x and 3.x) * Pascal *
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
*
Perl Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
*
PHP PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
For the Junior competition, the questions test the following content: * Questions 1 and 2: basic loops and conditions * Questions 3 and 4: combination of loops, conditions, counting * Question 5: recursion, two-dimensional arrays, algorithm design For the Senior competition, the questions test the following content: * Questions 1 and 2: basic algorithm design (sorting and searching) * Questions 3 and 4: advanced algorithm design (counting skills and mathematical reasoning) * Question 5: International Olympiad for Informatics (IOI) level question Students who perform well are considered for scholarships and are given rewards. The top 20 or so participants are invited to write the Canadian Computing Olympiad (CCO) at the University of Waterloo. It is used to select members for the Canadian delegation at the International Olympiad for Informatics (IOI).


Canadian Computing Olympiad (CCO)

The CCO is two days long, with four hours to do three questions each day. There are six questions, each weighted 25 points. Contestants' combined stage 1 and CCO scores are used to determine final scores for the Canadian Computing Competition. Bronze, silver, and gold medals are awarded, with each competitor receiving a medal; winners of gold medals are invited to represent the Canadian team at the IOI.


See also

* Centre for Education in Mathematics and Computing * ACM International Collegiate Programming Contest * DWITE


References

{{reflist


External links


CCC Website
Computer science education in Canada Programming contests