Class for Competitive Programming

International Olympiad in Informatics (IOI)

Miyagi Academy is dedicated to promoting coding as a competitive sport. Every year 4 secondary school students from each country (including Hong Kong SAR) are chosen to compete at the International Olympiad in Informatics (IOI). Train your children for this competition and let them have a taste of competitive sports.

What is IOI?

International Olympiad in Informatics (IOI) is an annual international programming competition for secondary school students that challenges students' problem solving and programming skills. Every year 4 students from each country are chosen to compete at the international event. It is the second largest Olympiad, after the International Mathematical Olympiad, in terms of participating countries.

The Hong Kong Olympiad in Informatics selects 4 representatives from Hong Kong each year and is organized by Hong Kong Association of Computer Education, the Education Bureau, the Department of Computer Science at Chinese University of Hong Kong and City University of Hong Kong.

Mr. Chan and the HKOI Committee

Experience competitive sports and have fun

International competitive programming contests require certain skills that are instrumental in life. They can be taught.

This class aims to cultivate students’ passion in problem solving on problems that require a combination of human intelligence and machines’ computing prowess. The ostensible goal is to prepare kids to compete in the International Olympiad in Informatics 2020 but the overarching mission is to develop lifelong skills. Training will cover the follow 3 aspects: 

  • English Comprehension
  • Discrete Mathematics
  • High Performance Coding Skills

Instructor

Hsi Haye Chan went to a local government secondary school in Hong Kong and obtained distinguished results in the HKCEE (9As) in 1995. Afterwards he attended Cornell University, a prestigious Ivy League university in US, to study Computer Science, from which he graduated number 1 in his undergraduate class. Mr. Chan then began his Wall Street career as a junior investment banker in New York City at Salomon Brothers’ Investment Banking Department, followed by an illustrious career at various hedge funds in US and Asia. In 2013 he founded his own hedge fund Agamemnon Capital. At the end of 2017, Mr. Chan retired, thus concluding his successful 17-year Wall Street career.

As a secondary school student, Mr. Chan represented Hong Kong at the 1996 International Olympiad in Informatics, an international competitive programming contest that challenges contestants to solve mathematical problems using coding skills. He believes many young students can benefit from the practice of competitive programming like he did, and is devoted to training bright young children the art and science of competitive programming, which should prepare them for the rapidly changing world.

curriculum

Solve a total of 7 problems from past competitions as we cover the below topics

Students will be taught how to get the ideal coding environment set up for competition and practice. They will also be introduced to tips and good habits conducive for coding competition performance. Through solving Problem 1, students will learn about benchmarking and certain sorting techniques
Through optimizing the solution for Problem 1, students will be taught binary search and an implementation of dictionary with C++, and gain insight into how algorithm affects performance. The class will also review previous assignment.
Through solving Problem 2, students will learn techniques in surveying a problem in order to generate crucial insight. The instructor will demonstrate how to implement circular lists as well as how to perform depth-first search with recursion. There will also be a brief discussion of breadth-first search and a review of previous assignments.
Through solving Problem 3, students will practice reading comprehension of complex ideas. They will also be introduced to basic combinatorics that are useful for problem solving. The target problem will demonstrate how basic algebra can be applied to greatly optimize a solution. A discussion about Big-O notation will help them gain intuition about time efficiency of a solution. There will also be a review of previous assignments.
Through solving Problem 4, students will be introduced to advanced logic concepts. They will also further exercise reading comprehension. The problem will demonstrate the power of caching and how the right choice of data structure affects performance. There will also be a review of previous assignments.
Through solving Problem 5, students will learn how to implement depth-first search with iteration instead of recursion. Problem 5 will also lead to further practice of reading comprehension exercises. Students will also learn the basics of set operations (check uniques/duplicates, union, etc.) and how to implement them in C++. There will also be a review of previous assignments.
Through solving Problem 6, students will learn how to deal with very difficult “black hole problems” that can suck up too much time. The problem will demonstrate how to take advantage of a narrow “range” to optimize a solution. Students will learn how to engage a problem in order to grasp key characteristics that can simplify a solution. They will also learn how to spot redundant computations that will lead to a reduction of looping complexity by orders of magnitude (review of Big-O notation). There will also be a review of previous assignments.
Through solving Problem 7, students will learn how to think about border cases and how to find shortcut to a problem through sorting. Students will also learn how to implement complex conditional loops for optimal performance. Students will take home 3 fundamental drills to fortify their skills for the upcoming competition event. There will also be a review of previous assignments.

Class Format

16 weekly classes in replit workshop (online) format. Each class is 1 hour. Students are expected to spend at least 3 hours each week at home practicing and solving assignments.

Hardware Requirement

Macintosh, PC or iPad for Zoom and replit coding workshops.

Class Location

Online

Course Fee

[To be updated]
(Full refund guaranteed before Class 2)

Why choose miyagi Academy?

World-Class Instructor​

Students will be taught by a distinguished instructor who scored 9As in HKCEE, represented Hong Kong in the IOI, studied Computer Science at Cornell University and graduated #1 of his class.

Motivated Learning

The short-term feedback of the coding competition provides strong motivation to fuel students' desire to learn

Participation in Competitive Sports

The experience of competitive sports teaches kids vital aspects of the world that are not taught in conventional school curriculum

Measurable Outcomes

Unlike many interest class, the objective of this training course is tangible and measurable.

Train to be the best

Exercise the mental muscles for computational thinking. Train like a world-class athlete of the mind.

Close Menu