CCGS Informatics Club

Welcome to the Christ Church Grammar School Informatics Club website!

Students finding their way to this site usually have two very good questions:

Informatics is competitive computer programming with a focus on algorithm design, and students involved in this activity will develop near-magical computational powers as they learn how to solve algorithmic problems using a potent mix of beautiful mathematical ideas, creative problem solving and smart coding. 

Most students find that  informatics is a highly attractive kind of mathematics, very different from the mathematics that prevails in most Mathematics classes: the focus is not on just finding the answer, it is about finding, and coding, the best solution amongst all the solutions in the sense that this best solution runs the fastest on a computer.

The fascinating world of informatics is expertly explained in the newspaper articles The whiz kid and Numbers game. Two of the World's best competitive programmers also explain it very well in their respective YouTube video: What is Competitive Programming? (William Lin) and Interview with a Competitive Programmer (Kamil Debowski aka Errichto). Highly recommended viewing!!

The club's main focus is to help students prepare for the Australian Informatics Olympiad (AIO) in August, and we offer weekly lunchtime sessions and a year-round competition schedule in order to achieve that goal. The AIO serves as the selection examination for the Informatics School of Excellence in December: a 10 days residential Summer School for about 25 students from across Australia. During Term 1 these students will contest invitational Informatics Olympiads whose results determine which 14 students will be attending the Informatics Teams Selection School in April. At that  school the team of four students who will represent Australia at the International Olympiad in Informatics (IOI) will be selected.

Joshua Chen, our 2022 Dux of School and Beazley Medal runner-up, was very much driven by his passion for informatics. His inspirational assembly speech can be found here.

Informatics also happens to be a co-curricular activity where students can qualify for Colours, Honours and Service awards :-)

Weekly lunchtime sessions

Every week students can attend up to three lunchtime sessions in room S13 (while the ICT Centre is being renovated):

The aims of the sessions are to:

     1. Work through and discuss efficient, neat and elegant Python solutions to informatics problems.

     2. Encourage active learning by having students attempting to solve the problem(s) before each session.

2024 Term 2 sessions

2024 competition schedule

AT/ WITH THE SCHOOL:

Wednesday 31 January, the Perse Coding Team Challenge (PCTC) has an attractive format of two rounds, with teams of two and three respectively. Teams have to qualify for the second round (finals). Teams who finish in the top 25% of the first round will be invited to the finals on Wednesday 20 March. Many of the problems are quite gentle, so there is a bit of hope for all teams to get some points! All past papers can be found on the PCTC online competition platform where you can submit your solutions for instant marking.

Thursday 22 February, the Canadian Computing Competition (CCC) individual competition. All the past problems are available at the online contest platform DMOJ where you will also find our leaderboard. These problems use input() and print() and are the natural next step after you have mastered the problems in Groklearning's Python for Beginners course!

Saturday 23 March, the Lockheed Martin Code Quest team competition 2024 is virtual (online)! If you are 13+ years old, you may sign up and prepare for the competition on Code Quest Academy where you can submit solutions to past problems 2015+. The problems are of an extraordinary quality and are conveniently grouped in four categories: Practice, Easy, Medium and Hard. We have our own class / leaderboard on this site - email Mr Honnens to get your access code!

Wednesday 24 April, Round 1 of the Bebras Computational Thinking Challenge individual competition. A smorgasbord of past problems are available online here. If you get a Merit certificate or better, we will make that appear as an award on your school report!

Tuesday 21 May, the Computational and Algorithmic Thinking (CAT) individual competition. There are some free past papers available here. This competition is organised by the Mathematics Department, so make sure that you reply to their invitation email.

Friday 14 June, the Main Round of the University of NSW's ProgComp competition for teams of three. Past problems are available both online here and as pdf documents here. The top 6-8 teams will be invited to contest the Grand Final at UNSW on their Open Day on Sunday 1 September.

Thursday 20 June, the Oxford University Computing Challenge (OUCC), an individual competition that also serves as the CCGS Informatics Championships. Some past problems are available online: 2022-2023 (UK Junior = AUS Years 5-6, UK Intermediate = AUS Years 7-8, UK Senior = AUS Years 9-10, UK Elite = AUS Years 11-12). For the CCGS Informatics Championships, Years 7-10 students will contest the UK Senior Challenge = AUS Year 9-10. Students who qualify for the Finals will be invited back for an even bigger challenge on Thursday 1 August

Thursday 29 August, the Australian Informatics Olympiad (AIO) individual competition. All the past problems are available on the new online training site. Start climbing the leaderboard asap! You will need to be able to read from files and write to files in order to submit solutions on this site. The AIO is the first step on the pathway to the International Olympiad in Informatics (IOI). More information, incl. the rules and a practice contest, can be found on the AIO contest site.

Wednesday 9 October, Round 2 of the Bebras Computational Thinking Challenge individual competition. Another chance for you to have a go at getting a certificate! If you get a Merit certificate or better, we will make that appear as an award on your school report...

The American Computer Science League (ACSL) is a competition for teams of up to 12 students where the top 3-5 students' scores count towards the team score. It consists of four contests October - May. Junior Division is for Years 7-8, Intermediate Division is for Year 9  and Senior Division is for Year 10+. Each contest has a 30 minutes theory test and a 72 hours programming challenge. The contests have quite generous windows for you to complete the two parts:

IN YOUR OWN TIME:

The  problems from the USA Computing Olympiad (USACO) contests are very similar to the AIO problems, so you should work hard at reaching the Silver level, the Gold level, and the Platinum level. On this site there are also some highly recommended on-line training resources. Some past USACO informatics champions have put together the incredible USACO Guide that teaches you all the algorithms you need on your journey from Bronze to Platinum! As of December 2020 the contest uses input() and print(), so no need to read from files and write to files :-)

Contest the three rounds of the New Zealand Informatics Competition (NZIC). Each of the three 3-hour rounds are in a one-week window, so there is a good chance you can find time in your calendar to participate in these rounds, You can even sign up and work through past problems on their training website

Work through the 300+ problems on the impressive Finnish Code Submission Evaluation System (CSES) website. The problems are conveniently grouped in categories to help you target a specific type of algorithm. This site is also home to the two-week elimination round of the Finnish Olympiad in Informatics that you can contest off the leaderboard (2023 dates: 31/10 - 12/11). The website is maintained by Antti Laaksonen, the author of the equally impressive book Competitive Programmer's Handbook that you can download for free from here. This book is highly recommended!! Please see Mr Honnens if you would like a printed version of this book. 

Work your way through the First Round of the Swiss Olympiad in Informatics. Sign up as a an "External" and make your way through the subtasks one at a time on your way to the full solution. You have almost three months, September-November, to solve the problems. 

Every year there are about six rounds of the South Pacific Competitive Programming Association's  SPAR contests for your team of one-three students to contest at UWA. The contests are mainly for university students preparing for the International Collegiate Programming Competition (ICPC); however, in particular the first half of the questions are well within the reach of a well-trained high school team. Past problems are available online here where you can also have your solutions judged and keep track of your progress. There are five full five-hour contests this year:

Facebook's Meta Hacker Cup is an annual opportunity for you to work your way towards the Final Round. Your journey starts with a somewhat gentle Practice Round, and from then on you will have to qualify for the following round. All past problems are available for you to practice on, and they come with solutions / editorials! You must be at least 13 years old to enter this competition.

The Swedish Kattis site has a rather attractive collection of problems that are conveniently categorised as trivial, easy, medium or hard so that you can be appropriately challenged. The problems are surprisingly good and refreshingly different.

The Italian Olympiads in Informatics training website is full of relevant problems, in English, and you can use Python! You may also contest a mirrored version of the Italian Olympiad in Informatics (OII). The 2023 OII mirror version can be contested 12 - 14  October.  For this competition you will need to code in C++.

The Romanian Master of Informatics (RMI) is a renowned IOI-like international competition that you can contest online. You will need to code in C++.

Codeforces has a gentle Division 4 competition for beginners :-) All past competitions are there for you to enter virtually so that you can get some valuable practice before you start working on your title and colourful contest rating. This site is a favourite amongst international informatics students, including joshc and tourist.

The Japanese AtCoder has weekly contests including a Beginners Contest, Sundays 8:00 - 9:40 pm.

LeetCode has lots of algorithm problems for you to enjoy.  Simply sign up, head to the Problems and click on Algorithms, then sort by Acceptance in descending order. You may also want to attempt one of their regular Contests. Joshua Chen used this site extensively in his IOI training, and he still features prominently on the LeetCode leaderboard. You can find some splendid live recordings of his contest thinking/solutions on his Numb3r5 YouTube channel.

HackerEarth has a useful Algorithm path that you may want to walk down. This path is at the centre of the Year 9 elective Algorithmic Programming. On the first Saturday of each month they host their three hours beginner-level coding challenge Easy, with an attractive starting time of 12pm.

HackerRank is one of the most established training and competition sites. This place is full of problems and certifications.

Rosalind offers an abundance of algorithm  design problems, all set in the highly motivational and relevant world of bioinformatics. The textbook track is at the centre of the Year 9 elective Bioinformatics.

Work towards a certificate in the National's Computer Science School's NCSS Challenge on Grok Academy. If you get a Credit, Distinction, High Distinction or Perfection certificate, that will appear as an award on your school report! The following rules apply:

Advent of Code is an Advent calendar of 25 programming puzzles 1-25 December helping you count down to Christmas! While you wait for this year's countdown you can practice on past problems and earn your two gold stars per problem! We have our own private leaderboard on this site - email Mr Honnens to get your access code.  Once you have conquered a star you may want to learn from some of the top coders and see how they solved that problem. Both jonathanpaulson and hyper-neutrino do an amazing job at both solving and explaining.

2024 Informatics Committee

How to join the CCGS Informatics Club

Please email Mr Honnens (jhonnens@ccgs.wa.edu.au) if you are interested in joining the Informatics Club :-)