Canadian computing competition
Encyclopedia
The Canadian Computing Competition (CCC) is a national programming
Computer programming
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a program that performs specific operations or exhibits a...

 competition
Competition
Competition is a contest between individuals, groups, animals, etc. for territory, a niche, or a location of resources. It arises whenever two and only two strive for a goal which cannot be shared. Competition occurs naturally between living organisms which co-exist in the same environment. For...

 for secondary school students in Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...

. Sponsored by the University of Waterloo
University of Waterloo
The University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...

, the CCC takes place once a year. Stage 1 is a written at high schools and can be written in the programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 of the students' choice, with only a few, such as Maple
Maple (software)
Maple is a general-purpose commercial computer algebra system. It was first developed in 1980 by the Symbolic Computation Group at the University of Waterloo in Waterloo, Ontario, Canada....

 and
Mathematica
Mathematica
Mathematica is a computational software program used in scientific, engineering, and mathematical fields and other areas of technical computing...

, 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
University of Waterloo
The University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...

 to participate in Stage 2. In Stage 2 students are restricted to languages permitted at the IOI
International Olympiad in Informatics
The International Olympiad in Informatics is an annual computer science competition for secondary school students. The first IOI was held in 1989 in Pravetz, Bulgaria....

, which currently includes only C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 and Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

. The top 4 students at Stage 2 are selected for the Canadian IOI team. (Since 2005 the contest has also been offered to students in Hong Kong
Hong Kong
Hong Kong is one of two Special Administrative Regions of the People's Republic of China , the other being Macau. A city-state situated on China's south coast and enclosed by the Pearl River Delta and South China Sea, it is renowned for its expansive skyline and deep natural harbour...

, and since 2007 to students in Beijing
Beijing
Beijing , also known as Peking , is the capital of the People's Republic of China and one of the most populous cities in the world, with a population of 19,612,368 as of 2010. The city is the country's political, cultural, and educational center, and home to the headquarters for most of China's...

 also, but they are not eligible for the Canadian IOI team.)

In addition, the top two students (for both Junior and Senior) of each region receives a plaque and $100. In case of a tie, $100 is awarded to each student, rather than splitting the $200 among more than two individuals; this is rare however. The regions are West (BC to Manitoba), Ontario North and East, Ontario Metro, Ontario Central and West, and Quebec and Atlantic.

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
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 or language-specific features. Stage 2 is much more difficult than Stage 1, but is still much easier than the IOI. The problems generally have memory, time or stack constraints, forcing the programmer to find efficient solutions; inefficient solutions are unlikely to earn full marks.

Stage 1

The contest is three hours long. There are five questions, each worth 15 points, for a total of 75. The grading is done by teachers, who then send the results to Waterloo to be verified.

The tasks in the Senior competition vary in difficulty, generally ranging from simple implementation to advanced techniques such as dynamic programming
Dynamic programming
In mathematics and computer science, dynamic programming is a method for solving complex problems by breaking them down into simpler subproblems. It is applicable to problems exhibiting the properties of overlapping subproblems which are only slightly smaller and optimal substructure...

. Some Stage 1 problems may be as difficult as, or more difficult than, some Stage 2 problems.

Stage 2

At Stage 2, the contest is two days long, with three hours to do three questions each day (in 2009 four hours were given). There are six questions, all weighted equally. Contestants' combined stage 1 and stage 2 scores (with stage 2 being worth exactly twice as much as stage 1) 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 proceed to the IOI. Cash prizes of $500 (gold), $250 (silver), and $100 (bronze) are awarded also.

See also

  • Centre for Education in Mathematics and Computing
    Centre for Education in Mathematics and Computing
    The Centre for Education in Mathematics and Computing , has become Canada's largest and most recognized outreach organization for promoting and creating activities and materials in mathematics and computer science. The CEMC is housed within the Faculty of Mathematics at the University of Waterloo...

  • ACM International Collegiate Programming Contest
    ACM International Collegiate Programming Contest
    ACM International Collegiate Programming Contest is an annual multi-tiered computer programming competition among the universities of the world. The contest is sponsored by IBM. Headquartered at Baylor University, with autonomous regions on six continents, the ICPC is directed by Baylor Professor...

  • DWITE

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK