The Waterloo University: Guide for CEMC Contests

The Waterloo University of Canada first opened its doors in 1957. About 42 engineering students stepped in with cooperative educational backgrounds but now more than 42,000 students study there annually. As a result, Waterloo is Canada's No.1 University where experience-based learning is practiced and has the best employer-student connections.

Today the University has formed a global network with more than 220,000 alumni from over 151 countries. Waterloo University attracts students and world-class scholars from all over the world.  This diverse organization has generated various job opportunities and has become Canada's top start-up by private investment. Waterloo University brings brilliant and like-minded people together and helps them become future entrepreneurs, innovators, inventors, leaders, and curious explorers.

At present, there are many faculties and departments such as arts, computer, math, science, etc., with various departments. And several research Centre and institutes, which includes the CEMC. In addition, the center brings various Waterloo CEMC Contests for students to develop various skills for a better future. In this article, we will share a detailed note on all the contests held by CEMC.  

What is CEMC?

CEMC stands for the Centre for Education in Mathematics and Computing, where a couple of exciting waterloo math contests and waterloo coding contests are held. Waterloo CEMC contests help impel students to grow their confidence, help them learn problem-solving skills, and learn much more about computing and mathematics.

The first Waterloo CEMC contest was held in 1963 by a group of secondary school teachers. They developed the first math contest by the University of Waterloo in Ontario. From there, a series of multiple Waterloo math contests and Waterloo computing contests started. These contests inspired many students and helped CEMC grow into Canada's most leading mathematics and computer science authorities for young minds.

With over 50 years of excellence, CEMC is one of the largest organizations in Canada. CEMC, with over 40 faculty and staff members and hundreds of dedicated volunteers, is a part of this vast organization. About 265,000 students from 80countries take part in these amazing contests and learn a lot. In addition, 630learners participate in CEMC workshops each year, and over 300 teachers are attaining an advanced degree in the MMT program (Master of Mathematics for Teachers).   CEMC, with their mission to increase their students' interest, enjoyment, understanding, and concepts of mathematics and computing they have made a commitment to some principal values such as access, readiness for future, community and impact.

You can check https://www.geekedu.org/ to take different courses in order to improve your computer and mathematics skills to perform well in the test.

CEMC Contests

There are 12 CEMC Waterloo math contests and 2 Waterloo computer contests that inspire students of 5 to 12 grades to take part and learn various things. However, these Waterloo CEMC contests are much more than just competitions. They are made according to every student and even challenge the brightest students. The various Waterloo CEMC contests include the following:

Gauss Mathematics Contests

Gauss Mathematics Contests Test Dates Who can attempt the test Format of Test
The Gauss Waterloo math contest provides students with an opportunity to learn and develop math problem-solving abilities in a fun way. The date of the contest in North and South America is May 18, 2022, and May 19,2022, for Outside North and South America. Students from 7th and 8th grades can participate in the contest, and all the students from the lower grades who are also interested in participating in the exams can do so. The contestant has to attempt 25 multiple-choice questions in 60 Minutes.  Each MCQ is of 6 marks. Calculators are allowed in some instances during the contest.

Contest Information and Preparation:

All the students can register for the waterloo mathematics contest through the website or from their school. There are 2 mediums available for attempting the exam. The student can give the exam on paper as well as online. The students will get their results exactly after one week. The students who attempted their exams online may need to wait a bit to announce their results. The students should solve multiple problems to prepare themselves for the math waterloo contest. They need to concentrate on problem-solving techniques to solve any kind of problem without any issue. Many teachers use waterloo past math contests in classroom, and CEMC problem set generator enables anyone to build random sets of problems with the choice to modify the topics covered. The math contest of the University of Waterloo includes questions taken from different sources. They take questions that are common in the curriculum of all Canadian Provinces.

Pascal, Cayley, Fermat Mathematics Contests:

Pascal, Cayley, Fermat Mathematics Contests Test Dates Who can attempt the test Format of Test
Pascal, Cayley Fermat Mathematics Contest also enables students to have fun while learning to develop mathematical problem-solving ability. The date of the contest in North and South America is February 23, 2022, and February24, 2022, for Outside North and South America.
  • Students who are eligible to appear in Pascal Contest can be from 9th grade or below.
  • Students who are eligible to appear in Cayley Contest can be from 10th grade or below.
  • Students who are eligible to appear in Fermat Contest can be from 11th grade or below.
The contestant has to attempt 25 multiple-choice questions in 60 Minutes.  Each MCQ is of 6 marks. Calculators are allowed in some instances during the contest.

Contest Information and Preparation:

The registration process is quite easy for the students. They can do it from their schools as well from their homes. Students have the choice to write the exam on paper or give it online. The source materials for the questions of the exam are taken from the curriculum common to all Provinces. The first few questions of the exam are logical and conceptual. The second part of the exam consists of questions that are created to test ingenuity and insight. Rather than testing memory, the high school math contest by CEMC is designed to test the analytical and logical thinking and mathematical problem-solving technique of the student. Therefore, students should focus on their problem-solving techniques and prepare for their math contest by waterloo accordingly. They should also look at the past papers of the contest and take notes from them.

Fryer, Galois, Hypatia Mathematics Contests:

Fryer, Galois, Hypatia Mathematics Contests Test Dates Who can attempt the test Format of Test
The Fryer, Galois, Hypatia math waterloo contest (FGH) provides students with the ability to write full-length solutions to questions. It is a written activity in which students learn to solve math problems by solving each step by hand. The date of the contest in North and South America is April 12, 2022, and April 13, 2022for Outside North and South America.
  • Students eligible to participate in the Fryer contest can be from Grade 9 or below.
  • Students eligible to participate in the Galois contest can be from Grade 10 or below.
  • Students eligible to participate in the Hypatia contest can be from Grade 11 or below.
  • Total marks are 40.
  • The time allowed for the contest is 75 minutes.
  • Total 4 questions in which some require answers only and some with a full-length solution and working.
  • Simple calculators are permitted which do not contain internet access, previously stored information, computer algebra, and dynamic geometry software.

Contest Details and Preparation:

FGH high school math contest is conducted in written form only and mail their papers. Electronically returned contests will not be accepted. Questions for the waterloo mathematics contest are according to the common curriculum in all Canadian provinces. Students can prepare for the waterloo contest by past exams and by trying to solve problems. The results are posted online, and teachers generate certificates accordingly.

You can enroll in one of the best mathematic courses for high school students to prepare for the contest.

Euclid Mathematics Contests:

Euclid Mathematics Contests Test Dates Who can attempt the test Format of Test
The Euclid Waterloo mathematics contest is for senior students. In this contest, their knowledge of secondary school mathematics is demonstrated. However, as they move to further questions, they become challenging even for the most gifted students. The registration date for the Euclid math contest is March 11, 2022. The students from North and South America can write a contest on April 5, 2022, and those from outside North and South America can write a contest on April 6,2022. Last year, CEGEP students can register, and inspired students of lower grades can also take part in the contest.
  • Total marks are 100.
  • The total time allowed is 2.5 hours.
  • 10 questions, some with only answers and some with full-length solutions with working.

Contest details and Euclid Preparation:

Euclid is a written contest, and the waterloo team allots the required material for the math contest. However, homeschoolers will attempt the contest under the supervision of an adult. The contest content includes questions from curriculum up to the final year of secondary school including it. Students are advised to prepare for the waterloo math contest from Euclid eWorkshop, Grade 12 courseware, mathematics course manual, and past contests. The result comes online.

 

Canadian Senior and Intermediate Mathematics Contests:

Canadian Senior and Intermediate Mathematics Contests Test Dates Who can attempt the test Format of Test
The two contests, known as Canadian Senior (CSMC) and the Intermediate mathematics contests (CIMC), are designed for high school students to enhance and develop mathematical problem-solving ability in a fun way. The registration date for CSMC and CIMC is October 26, 2021. And the waterloo math contest date for inside North and South America is November 17, 2021,and for outsiders November 18, 2021. The students in Grade 9 or 10 or below can take part in the Canadian Intermediate Mathematics Contest. Similarly, CEGEP students can take part in the Canadian Senior Mathematics contest and dedicated students in lower grades.
  • Total marks are 60.
  • The time allowed for the contest is 2 hours.
  • Total questions are 9, in which 6 only require the answers and 3 require solutions and working.
  • Some calculators are allowed.

Contest details and Preparation:

Most CIMC questions are from up to and Grade 10 mathematical curriculum. And most CSMC problems are based on up to and 11 Grade mathematical curriculum, which includes the final year of secondary school. In addition, students can prepare for the CEMC waterloo math contest from Grade 12 open courseware and try to prepare by solving more problems. Some teachers use past contests as well.

Geekedu offers a number of different mathematic courses such as algebra, calculus, probability to improve problem solving skills. By enrolling in these courses you can perform well in the contest.

Canadian Team Mathematics Contest:

Canadian Team Mathematics Contest. Test Dates Who can attempt the test Format of Test
Canadian Team Mathematics Contest is a fun team challenge for students to increase their problem-solving ability. This year the official contest took place on May 20, 2021, and an unofficial event was held on May 21, 2021. The official Waterloo math contest date both in and outside North and South America is April 8, 2022, and the date for the virtual contest is April 7, 2022. Participants should be in a team of 6 secondary school students per team in any combination of grades. Almost half the questions in individual and many in Team challenges are accessible to 9 and 10-grade students.
  • 45 minutes are given for individual problems.
  • 45 minutes for the team questions where team members collaborate to solve the problem.
  • And 45 minutes for the relay questions in which one member's answer is needed to solve the next question by the teammate.
  • Calculators are not allowed in the team questions, although some calculators are permitted during the relay and individual questions.

Details for Virtual Contest and Preparation:

For the official virtual event, CEMC hosted the event using zoom meeting. As a result, all Canadian schools can participate remotely. However, only one team, including six students and one teacher, can participate per school.

For the unofficial virtual event, teams are provided with access to the website to download University Waterloo math contest instructions and material. In an unofficial event, teams meet virtually on zoom and have approximately 3 hours for the contest.

The difficulty of questions in the contest varies. Teams with a senior student may have the edge over other teams. For Preparation, students can try to solve as many problems as possible and solve past papers.

Beaver Computing Challenge:

Beaver Computing Challenge Test Dates Who can attempt the test Format for BCC
Beaver Computing Challenge also known as BCC familiarizes young minds to the vast field of computer science. This challenge is designed to pique young students' interest with little prior or no experience in computer science. The waterloo beaver contest is held online for 2 weeks of November. The waterloo contest dates for this year are November 8, 2021, and the week of November19, 2021, for inside North and South America. The deadline for BCC is October27, 2021.
  • Students eligible for 5/6 grade BCC should be of grade 6 or below.
  • Students eligible for 7/8 grade BCC should be of grade 8 or below.
  • Students eligible for 9/10 grade BCC should be of grade 10 or below.
  • For grade 5/6, 12 multiple choice questions are given for 60marks.
  • For grades 7/8 and 9/10, 15 multiple choice questions are given for 90 marks.
  • Some calculators are allowed, such as those without a computer algebra program.

Contest details and Beaver Contest Preparation:

The Beaver Computing Challenge focuses on critical thinking and computer-related thinking. Hence, questions are also inspired by computer science with respect to the mathematics curriculum that is common in all provinces of Canada. However, connection to the computer is shown in all past questions for students' ease. To prepare for BCC, students can go through some past contest questions. However, there is no need to prepare as the questions are based on critical thinking, and students will come across a new subject. Teachers have access to students'' results, and they can generate certificates, then students can print certificates from the website.

Canadian Computing Competition (CCC):

Beaver Computing Challenge Test Dates Who can attempt the test Format for BCC
Beaver Computing Challenge also known as BCC familiarizes young minds to the vast field of computer science. This challenge is designed to pique young students' interest with little prior or no experience in computer science. The waterloo beaver contest is held online for 2 weeks of November. The waterloo contest dates for this year are November 8, 2021, and the week of November19, 2021, for inside North and South America. The deadline for BCC is October27, 2021.
  • Students eligible for 5/6 grade BCC should be of grade 6 or below.
  • Students eligible for 7/8 grade BCC should be of grade 8 or below.
  • Students eligible for 9/10 grade BCC should be of grade 10 or below.
  • For grade 5/6, 12 multiple choice questions are given for 60marks.
  • For grades 7/8 and 9/10, 15 multiple choice questions are given for 90 marks.
  • Some calculators are allowed, such as those without a computer algebra program.

The Canadian Computing Competition (CCC) started in 1996 as a platform for computer fanatic students to learn and develop computer and programming and knowledge in a fun and interesting way. This forum is for the high school scholars in Canada to acquire various aspects of computers and programming.  Top senior participants are then invited to attend the Canadian Computing Olympiad (CCO). Approximately 20 senior participants are invited to attend CCO that are classified as Canadian School Officials. The CCO held at the University of Waterloo is a week-long event with some workshops, a contest, and some other extra co-curricular activities. This contest also determines the participation in IOS (International Olympiad in Informatics).

The CEMC Waterloo computing contest allows students to determine their ability and knowledge towards designing, understanding, and implementing algorithms. In addition, the students of secondary level can learn computing and computer programming in a fun way. The computing contest waterloo is divided into two levels:

Junior level: Any student who has taken computer science 20 and has basic programming skills.

Senior-level: Any student who has top grades in computer science 30 and has done many self-studies regarding structures and algorithms.

About the CCC competition:

The CCC is written in schools with the help of CCC Online Grader. CCC Online Grader is a program that provides instantaneous feedback on solutions to algorithmic programming problems. It is used for the competition as well as holds the past contest problems that are highly recommended to prepare for the CCC competition.

The CCC competition is of 3 hours and has five questions for both junior and senior levels. It is not a team competition; however, teachers need to register for contests written in respected schools. After the competition, 20 top senior contestants are invited to CCO. The results of the competitions decide Canadian Team Participants who will take part in the International Olympiad informatics that is held every year in a different country. It is at CEMC's disposal to select both CCO contestants and Canadian IOI Team Members.

Languages used for the test:

For programming languages used in the University of Waterloo computing, the students are advised to use CCC Online Grader. Currently, CCC Online Grader supports the following languages, Python (2.x and 3.x), C, C++,Pascal, PHP, Java, and Perl. CCO contestants must use Java and C/C++programming languages. Although CCC Online Grader supports various languages, it may not be possible to achieve a perfect score using a particular programming language. (For instance, Java and Python).

 

General competition rules:

The general rules for the CCC competition are as following:

Eligibility criteria:

Junior level- any student with basic knowledge of elementary programming skills.

Senior level-any student with an intermediate or advanced level of knowledge of programming skills.

Date for the CCC competition:

The Canadian Computing Competition is held in February, and the CCO invitation for the event is sent in May. For the coming year, the University of Waterloo computing contest dates is February 16, 2022, for students in North and South America, and February 17, 2022, for students outside North and South America.

Registration for CCC:

Students can register for CCC from the website according to the deadlines mentioned. However, the deadline to register for Canadian Computing Competition CCC is February 8,2022, and the date for Canadian Computing Olympiad is not announced.  

Format for CCC:

The format for CCC paper is divided into two categories: junior division paper and senior division paper. Both papers have five questions each, and each question contains 15 points. The first question is easier, and the range of difficulty increases from the first to the last question in both papers.

CCC Junior Division Questions:

CCC Senior Division Questions:

Preparation and results:

Students are encouraged to prepare for CCC from the following material:

Prizes and Certificates:

The total marks of each division are 75 points in the competition. Contestants are graded only according to the number of questions effectively completed in anyone paper, either junior or senior. The prize for junior-level students is limited to certificates and medals. On the other hand, prizes for senior-level entries include certificates and invitation to attend Canadian Computing Olympiad (CCO).

You can prepare for CCC contest by taking different programming courses on Geekedu. The courses ranges from basic to advance and will definitely help you to improve your skills.

Links:

https://cccgrader.com/

https://cemc.uwaterloo.ca/contests/computing.html

https://cemc.uwaterloo.ca/contests/bcc.html

https://cemc.uwaterloo.ca/contests/ctmc.html

https://cemc.uwaterloo.ca/contests/csimc.html

https://cemc.uwaterloo.ca/contests/euclid.html

https://cemc.uwaterloo.ca/contests/fgh.html

https://cemc.uwaterloo.ca/contests/pcf.html

https://cemc.uwaterloo.ca/contests/gauss.html

https://cemc.uwaterloo.ca/contests/past_contests.html#ccc

https://cpbook.net/

https://cses.fi/book/index.php

https://cemc.uwaterloo.ca/contests/computing/software.html

https://cemc.uwaterloo.ca/contests/computing/details.html#languages

 

Important Coding Concepts for All Kids to Know:

Introduction:

Learning how to code can be difficult, especially when you don’t know where to start or what skills are needed and useful as a programmer. This article explains all the concepts you’ll need to know to have beginner, intermediate, or advanced programming knowledge in any language, whether it be in Python, Java, C++, or any other language.

 

Stages of Learning a Programing Language:

Before beginning to work on projects using the language of your choice, you need to check which level you’re at. The main levels are:

These concepts serve as learning benchmarks regardless of the language you choose because they are applicable in every language. Once you have learned how to use these concepts in one language, another language will be much easier to learn as well!

 

Beginner Concepts:

Before we can begin creating fun and complicated projects, it’s important to understand the basics of coding. Some of these concepts include creating variables, using operators and booleans, creating loops and if-statements, and creating functions. Below we’ll take a deeper look at each of these concepts and how to learn them.

 

Creating Variables:

When coding, a variable is a way of storing information by giving it a name that the computer can refer to it by. For example, take this line in Python:

myPet = "dog"

In this case, the variable myPet was created, and in this case, it holds the value “dog”. The computer can use this name to refer to the dog inside the code. Variables can be integers, strings, or floats, giving you a wide range of values to choose from.

Hint: An integer is a whole number without decimals, a float is a number with a decimal in it, and a string is a word or phrase.

 

Using Operators and Booleans:

Although Operators and booleans sound pretty hard at first, they're relatively simple when you practice using them a lot. Operators are simply math terms, such as division, multiplication, addition, subtraction, etc. However, when coding these all have different symbols. For example, in Python, multiplication is done with an * instead of an X. There are also two types of division: Division with a single slash returns a whole number. For example, (4//3) results in 1,but (4/3) results in 1.333.

python operator
python operator2


Hint: These types of operators make coding and calculations much simpler so make sure you learn how to use them well.

Booleans are a type of logic that the computer uses to decide whether to run code or not. Booleans unclose keywords or symbols representing “and”, “or”, and “not”, as well as a state: true or false. Each boolean has different requirements to be true. “And” takes two inputs, and if both are true, the result is true. “Or” takes two inputs, and if at least one of them is true, it is all true. And finally, a not changes a value to its opposite, so it would change a true to a false and vice versa. While this may take a bit of getting used to, booleans are simple to understand as you get more experience using them.

 

Using Loops:

Loops are another important concept to understand, as they allow us to run a section of code multiple times or keep running it until something happens. There are two types of loops:

A while loop would look something like this:

while i <3:
print("Hello World")
i= i+1

This code will print “Hello World” until the value for i is greater than or equal to 3.

Hint: These loops are especially useful in creating games as they let players take their turns until a specific event occurs.

For loops specify exactly how many times the code should repeat. For example, a for loop looks like this:

for i in range (3):
  print("Hello World")

As you can see, both of these codes would produce the same output but use different methods to do so. Once you get used to using these loops you will be able to create cool projects using repeating code.

 

If-statements:

If-statements are quite possibly the most commonly used skill for any beginner in coding. They are easy and efficient and let us check for a specific event without having to write out long code. If-statements are used in more complex concepts as well, such as algorithms and advanced loops, so having a strong understanding of them is essential.

 

Functions:

Functions are modules of code that are “self-contained” and allow us to run them anywhere without retyping the long section of code. For example, if you’re working on a big project and you have a large section of code that runs a bunch of times, you can make it into a function and simply call the function rather than having to retype everything again. Functions make code simpler and more efficient. Making them an essential skill for every kid to learn when they code.

 

Libraries:

Languages such as Python often have libraries that allow kids to make complex code much more simply. A library is a collection of resources that are free to use. Some popular Python libraries are the math library, Turtle, and Tkinter. These are a great way for kids to learn to code, by simplifying code and making it easier to create complex projects even with very little experience. This is especially good for young children who may not yet understand enough code to know what todo if they didn’t have libraries to assist them.

 

Intermediate Concepts:

Once you’ve learned all of the above concepts and know how to use them, you would be considered an intermediate programmer. The following topics are somewhat more complex, but they all build off of the previous concepts so they shouldn’t be too hard to learn and understand if you have a strong understanding of the beginner concepts.

 

Data Structures:

Data structures are formats of storing and categorizing information. For languages such as Python, this includes lists, tuples, and sets. Other languages such as Java and C++ also include arrays, stacks, and queues. Many other data structures can be used but these are some of the most common ones. Structures like these make it easy to store information or variables in an easily accessible and organized way. Learning these structures as a young programmer is great because it will give you the basic skills needed for building bigger and more complex projects.

 

Algorithms:

Algorithms are another essential intermediate coding concept for kids to learn. They are specific procedures to solve a specific problem. Some common types of algorithms to learn are:

Although these are only a fraction of the types of algorithms you can learn, they are relatively simple, making them great for kids who are new to coding.

Hint: For students interested in coding competitions such as the CCC or USACO, algorithms like these are essential to know, as they are used to solve many of the given problems.

Object-Oriented Programming:

This is a type of coding where the code is divided into reusable, simplified pieces of code called “classes”, which are then used to create “objects”- specific examples within the class. For example, if you were using a program to classify programming languages, “Language” would be the class, and specific examples such as “JavaScript” or “Ruby” would be objects. This concept is useful for languages such as Python, Java, and C++, as it breaks down complex ideas into simpler and more organized code.

 

Advanced Concepts:


The previous concepts learned as a beginner or intermediate programmer will allow you to create some very cool and useful programs. However, programming languages can do a lot more than this, and by using some more advanced concepts you can make some even better programs. If you’re interested in learning even more, here are some of the most common and useful concepts to learn:

 

Artificial Intelligence:

Artificial Intelligence (AI) is one of the most interesting topics to explore when it comes to programming because it is still fairly new and there are so many applications. AI involves creating “human knowledge” with code and allowing computers to make decisions based on logic and reasoning as if they were human. If you are interested in learning about AI, try learning from Youtube, Google’s Teachable Machine, or one of Geekedu’s advanced-level classes. Learning how to use AI as a child or student is great because it allows you to experiment with and create an even wider variety of programs.

 

Game Development:

Once you understand all of the beginner and intermediate concepts, you will be able to create some fun games using the programming language of your choice. Python has a great built-in library called Tkinter that makes creating games fun and easy, and languages such as Java and C++ can be used to create even more detailed and professional games.

Summary:

These are just some of the many programming concepts available to learn, and hopefully they’ve helped you decide what level you’re at and what you can learn to improve. If you are interested in learning how to use and apply these concepts, try some of Geekedu’s classes. They offer Python, Java, and C++ classes for children that teach all of these concepts and more, making learning to code fun and easy. Hopefully this guide helped inform you about all of the most important programming concepts to know and understand and has given you an idea of what programming level you’re at and what your next steps will be.