Hong Kong Olympiad in Informatics

Hong Kong Olympiad in Informatics (HKOI; 香港電腦奧林匹克競賽) is an annual programming competition for secondary school students in Hong Kong, emphasizing on problem solving techniques and programming skills. It is co-organized by the Hong Kong Association for Computer Education (HKACE) and the Hong Kong Education Bureau (EDB). It serves as a preliminary contest to international, national and regional competitions such as the China National Olympiad in Informatics (NOI) and the International Olympiad in Informatics (IOI). The first HKOI was held in 1997.

History
Hong Kong first participated in IOI in 1992. In order select representatives for the Hong Kong Delegation Team, a selection test was held a few months before the competition. In the following years, Hong Kong started sending teams to other competitions, including the SEARCC International Schools' Software Competition (ISSC) in 1993, the Software Competition for the Youths (SCY) in 1994 and the China National Olympiad in Informatics in 1995. Selection tests were separately administered for these competitions, and the purpose of each test was solely to select team members for the competitions. A considerable amount of resources were used to organize these tests. The tests were not very popular among students in Hong Kong.

In 1996, the Hong Kong Association for Computer Education, the Hong Kong Computer Society and the Education Department of Hong Kong (now the Education Bureau) jointly organized the Joint Selection Contest to replace all the selection tests. 39 students were selected as seeds for the Hong Kong teams. They received intensive training on topics like data structures and algorithms. After that, a Team Formation Test was conducted to select the Hong Kong representatives in IOI and NOI among the seeds. Another Team Formation Test was conducted for the SEARCC-ISSC and SCY.

In 1997, the Joint Selection Contest was renamed as the Hong Kong Olympiad in Informatics. Prizes are awarded to students with good results in HKOI, who are then invited to join the HKOI Training Team. Due to the limit on the number of participants from each school, some schools organize their own team formation test to select students to take part in HKOI.

Groupings
The participants of HKOI are divided into two groups. The Junior Group consists of students aged 17 or below, and the Senior Group consists of students aged 19 or below. The rationale of having two groups with one having an age limit of 17 is that SEARCC-ISSC requires all participants to be aged 17 or below. Another advantage of having a Junior Group is to allow more young students to enter the HKOI training team without having to compete with the more experienced senior students.

Competition format
The competition format of the HKOI has changed a few times since the introduction of Joint Selection Contest in 1996.

The Joint Selection Contest was conducted in written format. All programs were written down on the answer sheet. It was difficult for both participants and markers. The participants could not rely on a computer to verify the correctness of their programs, while the markers had to read every line of the program and try to understand the underlying algorithm.

In 1997, the competition was split into the heat and final event. The heat event consists of a written paper. Outstanding students in the heat event proceed to enter the 2-hour final event, which consists of programming tasks similar to those in IOI. The heat event was essential due to the limited number of computers provided for the final event. However, this change in the competition format did not eliminate the need for marking based on hand-written programs.

In 1998, the heat event was replaced by a pre-competition assessment. All participants were asked to work on the pre-competition assessment task and submit a floppy diskette containing the source code and executable of their programs. The list of finalist were determined solely by the programs submitted. However, it raised concerns about the fairness of the competition, since there is no way to ensure that the submitted program was really written by the participant. At that time, the only programming language allowed was Pascal.

In 1999, the heat event was reinstalled. This time, the heat event consisted of a single paper of Multiple choice problems to improve the efficiency in marking papers. This was important as the number of participants had increased to several hundred students. In 2000, the duration of the final event increased to 3 hours. In 2003, Fill-in-the-blank problems were added to the heat event, aiming to add a new dimension to the question paper. In 2004, C and C++ were added to the list of allowed programming languages.

As of 2009, the competition consists of a heat event with Multiple Choice and Fill-in-the-blanks problems, while the final event consists of 5 programming tasks to be solved in 3 hours. The programming languages allowed are Pascal, C and C++. Different sets of problem are used for junior and senior group respectively.

Since 2015/16, the number of tasks is reduced to 4 (no more question 0, ie. enumeration), and the format are more like IOI (batch score and real time feedback).

Awards
About half of the finalists are awarded prizes. Prizes are awarded in Gold, Silver and Bronze, in the ratio of approximately 1:2:3. Only the performance in the final event is considered. Students in junior group and senior group are ranked separately. Prize winners are invited to join the HKOI Training Team for intensive training. A Team Formation Test is usually held at around May to select delegates for IOI and NOI.

Important people

 * Poon Wing-chi, Irwin. He is the first IOI gold medallist from Hong Kong.
 * Wan Yung-chun, Justin. He has represented Hong Kong to the most external competitions in a single year.
 * Tse Chi-yung. He has represented Hong Kong to the most external competitions. He is also the person from Hong Kong with the most IOI medals. He was employed by Google in 2006.
 * Liu Chi-man, alias cx. He is the second IOI gold medallist from Hong Kong.
 * Lam Chi Kit. He is the third IOI gold medalist from Hong Kong. In fact this is his first participation year (2006) in both HKOI and IOI.
 * Chan Hing-Lun. He is the first IOI medalist from Hong Kong (1992)