한국정보올림피아드

한국 정보 올림피아드(영어: Korean Olympiad in Informatics, KOI)는 고등교육을 받지 않은 청소년이 참가하는 대한민국의 컴퓨터 프로그래밍 대회이다. 알고리즘 설계 능력을 평가하는 경시 부문과 학생이 개발한 소프트웨어의 창의성을 평가하는 공모 부문으로 나뉜다. 부문별 우승자는 각각 국제 정보 올림피아드와 국제과학기술경진대회에 참가할 자격을 얻는다. 과학기술정보통신부에서 주최하고, 한국정보화진흥원과 14개 교육청에서 주관하며, 한국정보과학회에서 후원한다.

전국 퍼스널 컴퓨터 경진대회

1983년 대한민국 정부는 '정보산업의 해'를 선포했다. 국가적으로 정보산업을 육성하자는 의도였다. 대통령 산하에 '정보산업육성위원회'가 출범하여 정보산업 정책을 주도했다. 그 정책의 일환으로는 퍼스널 컴퓨터 경진대회가 있었다. 그리하여 1984년 4월 22일, 제1회 전국 퍼스널컴퓨터 경진대회가 잠실학생체육관에서 개최되었다. 대회에는 지금과 같이 전국에서 선발된 초·중·고 학생들이 300명이 참가하여, 3시간 동안 문제를 풀었다. 개회식은 오전 9시에 열렸고 실제 대회는 9시 20분에 시작되었다. 참가 대상이 국민학생부, 중등부, 고등부, 일반·교사부가 있었다. 공모부문도 1회부터 있었는데, 참가 대상에 제한이 없어서 단체도 참가할 수 있었다. 사용기종은 8비트 컴퓨터, 사용언어는 베이직과 어셈블리어였다. 역시 잠실학생체육관에서 같은 날 개최되었다.

전두환 방문으로 강제 정전

이 첫 대회에서 황당한 일이 일어났는데, 오전 10시 20분에 체육관 전체가 정전되어 참가자와 관계자를 비롯해 모든 컴퓨터가 꺼진 것이다. 항의가 쏟아지자 대회 마감 시각이 12시 20분에서 2시간 연장되어 14시 20분으로 미루어졌다.
정전 원인은 전두환 대통령의 방문이었다. 전두환이 예정에 없이 대회장을 갑작스레 방문하게 되자 대통령 경호실이 경비 체계를 점검하기 위해 의도적으로 대회장의 전원을 내려버렸다. 응시생들을 전혀 배려하지 않은 무책임한 처사였지만, 한편으로는 일개 대회에 대통령이 직접 찾아갈 만큼 관심을 보였다는 것에서 정부의 정보화에 대한 열망을 엿볼 수 있는 사건이기도 하다. 전두환은 경진대회 입상자들을 청와대로 초청해서 점심도 함께 먹었다.

초등학생이 대통령상을 수상하다

정전만큼이나 놀라운 일은, 컴퓨터를 고작 10개월밖에 배우지 않은 초등학생 하형진(대구 계성국민학교 6학년)이 기라성 같은 중, 고등학생들을 다 제치고 대통령상을 수상한 것이었다. 하형진은 여러 차례 신문에 소개되었는데, 이때 핵물리학자가 되겠다고 밝혔다. 그는 이후 한국과학기술원에 입학했고, 지금은 게임회사 KOG에서 프로그래머로 재직 중이다. 퍼스널컴퓨터 경진대회는 13회까지 열린 후 1996년부터 현재와 같이 정보올림피아드로 이름을 바꿔 개최되어, 지금에 이르고 있다.

경시 부문

경시 부문은 수학적, 논리적 사고력을 바탕으로 알고리즘을 설계하고 프로그램을 작성하는 부문이다. 지역 예선 필기를 통과하면 전국 본선에 진출한다. 2016년 이전에는 시 단위 지역 예선을 통과하고 또 시 도별 지역 본선도 통과해야 했다. 경시부문 우수자(통상 금상 이상)에게는 국제 정보 올림피아드에 참가할 자격이 부여된다.

지역 예선

예선은 필기 시험으로 치른다. 수학적 규칙을 찾는 능력과 작성된 코드를 파악하는 능력을 평가하는 데 중점을 둔다.

지역 본선

컴퓨터로 직접 프로그램을 작성하는 실기로 치른다. 2016년에 예선과 통합되면서 사라졌다.

메모리 제한

2014년에는 이전과 달리 배열 크기가 제한되었으며 각 교육청은 이를 학생들에게 고지할 의무가 있었다. 그러나 대구 지역 본선(대구시정보올림피아드)이 치러질 당시 대구시교육청 산하 대구교육연구정보원은 수험생에게 이를 안내하지 않았다. 학부모들의 항의에 대구교육연구정보원은 잘못을 인정하고 재채점을 진행하였다. 이 채점에서 5명이 구제되면서 대구시에서 전국 본선에 진출하는 고등부 수험생은 기존 7명에서 12명으로 늘어났다.

표준 입출력

2015년에는 한국정보화진흥원이 문제풀이 형식을 파일 입출력에서 표준 입출력으로 변경하였다. 몇몇 학생과 학부모는 시험 방식이 변경된 사실이 제대로 공지되지 않았다고 주장하였으며, 실제로 대회에 응시한 일부 학생은 파일 입출력을 사용한 코드를 작성하였다. 한국정보화진흥원은 응시자 주의사항과 감독관을 통하여 충분히 강조했을 뿐더러 기존 방식대로 푼 학생을 구제하면 문제를 제대로 읽고 풀이한 학생들에게 피해가 갈 수 있다면서, 구제 불가 입장을 고수하였다. 파일 입출력에 맞춘 코드를 작성한 학생들은 결국 0점 처리가 되었다.

지역 예선 문제 오류

2018년 4월에 개최된 지역대회에서는 총 일곱 문항이 '정답없음', '복수정답' 처리되었다. 보기로 제시된 코드에 오타나 정의되지 않은 행동(Undefined behavior)이 포함된 데다가 컴파일러가 비주얼 스튜디오임을 전제로 하는 문제가 출제되는 등, 상당히 많은 문제에서 오류가 발견되었다. 이에 학생과 학부모가 거세게 반발하자, 한국정보화진흥원 원장과 한국정보과학회 회장은 사과문을 발표하고 문제를 신속하게 해결하겠다고 약속하였다. 과학기술정보통신부는 출제 오류로 피해를 본 전원을 구제하겠다고 밝혔다. 이후 기존에 합격점을 받은 600명에 구제된 147명을 더해 도합 747명이 전국대회에 진출하게 되었다. 이를 계기로 과학기술정보통신부는 '한국정보올림피아드 발전을 위한 대책위원회'를 꾸리고, 그 해 6월 정보올림피아드 개선 방안을 논의하는 공청회를 주최하였다. 공청회에서 대책위는 영재교육 위주 대회에 공교육 취지를 포함하는 과정에서 문제 난이도 등 기준이 명확히 세워지지 않은 것, 출제위원회를 새로 구성하는 과정에서 경험이 풍부한 전문가를 뽑지 못한 것, 기존 영재교육 전문가와 새로 들어온 초중등 소프트웨어 교육 전문가가 제대로 협업하지 못한 것을 출제 오류 사태의 원인으로 꼽았다.

채점 지연

2018년 7월 개최된 전국대회에서는 고등부 채점이 지연되는 문제가 발생하였다. 정보올림피아드 본선에서는 답안을 서버에 제출하면 프로그램이 채점하여 즉시 결과를 돌려주는데, 시간이 상당히 흘러도 채점 결과가 나오지 않아 참가자들이 불편을 겪었다. 주관 측인 한국정보화진흥원은 국제정보올림피아드의 채점 지연 시 대응 규정을 준용하여 경시 시간을 30분 연장하였고, 대회가 종료된 뒤 채점 결과를 참가자들에게 따로 통보하였다. 이후 진흥원은 예비소집 때 실시한 채점 환경 점검과 대회를 마친 후 진행한 원인 분석에서 문제점은 발견되지 않았으며, 데이터가 대량으로 몰리는 경시 시간 동안에만 일어나는 문제로 판단된다고 해명했다. 채점위원회는 모두에게 동등하게 지연되었으므로 기존 채점 기준대로 채점하였다고 밝혔다.