> 전문교육과정 > 월드 정보올림피아드 과정 

1) 월드올림피아드학원 교육과정
  • 가) 레벨과정
  • 나) 알고리즘과정
  • 다) 언어과정
  • 라) 캠프과정
2) 알고리즘과정

가) '알고리즘' 이란?


알고리즘(algorithm)은 '문제 해결 절차' 이다.
정보 올림피아드를 준비 하는 대부분 학생들의 코딩 실력은 거의 수준급에 있다.
하지만 정보 올림피아드 대회는 단순한 코딩 실력을 평가 하는것이 아니라, 어떤 문제에 접했을 때 가장 손쉽게 그 문제를 컴퓨터로 해결 하는 능력을 평가 하는 것이다. 따라서 알고리즘 즉 어떤 알고리즘을 사용하는 가에 따라 어떤 문제를 해결 하는데 있어 커다란 영향을 미치게 된다.

알려진 알고리즘은 무수히 많다. 그 알고리즘을 모두 배우고 숙달 하기란 불가능하다.
본 학원에선 가장 유용하게 사용되고 정보 올림피아드 출제 문제에 자주 사용되는 주된 알고리즘을 배운다.

  1. GREEDY (욕심장이) Algorithm
    욕심장이 알고리즘은 어떤 문제를 접하는데 있어 각각의 상황에 가장 큰것(혹은 최적화) 부터 선택하는 알고리즘이다. 즉, 각각에 문제에 있어 가장 좋다고 생각하는것을 선택한다.
    이것을 반복하다 보면 전체적으로 가장 좋은 방법이 된다는 알고리즘이다.

  2. Dynamic (동적 알고리즘) Algorithm
    동적 알고리즘은 어떤 하나의 문제를 해결하는데 있어 그 문제를 독립적으로 해결 가능한 각각의 작은문제로 나눈다. 그리고 그 각각의 독립된 작은 문제를 가장 적절하게 해결 하게 되면, 전체적으로 가장 최적화된 결과가 나오게 되는 알고리즘이다.

  3. Backtraking ( 백트래킹)
    백 트레킹은 가능한한 모든 경우를 탐색하되, 가능 성이 없는 경우를 제외하고 난 나머지를 모두 탐색하는 것이다. 시간이 가장 많이 걸리긴 하지만 손쉽게 모든경우를 탐색할 수 있다는 장점이 있다.

3) 언어과정

가) 과정 설명

  • 입학 =(레벨 테스트) → 언어과정(레벨1~7) =(12주~3개월) → 알고리즘 과정(레벨 8~10)=(1달~3달) → 레벨 과정(레벨 11~25)
나) 언어 과정의 중요성

  • 우리가 일상적인 말을 하는데 있어서 어떤 단어를 어떤문법으로 사용하는가에 따라 전해 지는 의미가 달라진다. 컴퓨터의 언어 역시 어떤 명령어를 선택 하여 어떤 문법으로 사용하는가에 따라 컴퓨터가 연산하는 내용 역시 달라진다.
  • 언어 과정에서 배우게 되는 컴퓨터 명령어 및 문법은 정보 올림피아드를 준비 하는 동안 우리가 일상생활에 쓰는 언어처럼 계속 사용하게 된다. 따라서 처음 언어 과정을 배울때 얼마나 언어를 잘 배우는 가에 따라 앞으로 프로그래밍을 하는 실력이 좌우되게 된다.
    그 만큼 언어과정은 중요하다.
다) Visual C++

  • 기존의 정보올림피아드 대회에서 사용되었던 언어인 Turbo C컴파일러(Borand사 개발)가 Visual C++(Microsoft사 개발)로 바뀜에 따라 새롭게 개설한 강좌입니다.
  • Visual C++은 여러 가지 프로그램 개발 모드를 포함하고 있습니다. (MFC, API, Console Mode 등) 따라서 기존의 Turbo C를 학습한 학생은 Visual C++의 Console Mode를 사용해 쉽게 Visual C++로 바꾸어 프로그램을 할 수 있습니다.
  • 2002년도에 실시되는 19회 정보올림피아드에서는 Console Mode에서 프로그램하게 되어 있습니다.
    따라서 MFC나 API를 공부하지 않아도 정보올림피아드를 준비하는 데, 큰 어려움이 없습니다.
  • C언어의 특성상 초등학생 보다는 중학생 이상의 학년에서 배우는 것이 좋습니다.
라) Visual Basic

  • 기존의 정보올림피아드대회에서 사용되었던 언어인 Quick Basic이 Visual Basic으로 바뀜에 따라 새롭게 개설한 강좌입니다.
  • Visual Basic은 초등학생들이 학습하기 좋은 언어이고, 특히 그래픽, 화면처리, 문자열처리 등이 손쉬워 초등학생들이 처음으로 프로그램을 배울 때에 자신감을 가질 수 있습니다.
  • Visual C++이 컴파일러(프로그램을 형식에 맞게 모두 만들어야 실행할 수 있음) 방식의 언어인데 비해 Visual Basic은 인터프리터방식(한줄 한줄 실행되는 방식, 대화형언어라고도함)의 언어이므로 프로그램의 기초를 이해하고 알고리즘을 쉽게 프로그램으로 구현할 수 있습니다.
  • ※ 전국대회 중등부 이상 입상자중 대부분이 C 언어를 사용하고 있습니다.


4) 캠프과정

가) 캠프과정의 필요성

  1. 온라인 학습 만으로는 학습자의 성취도 향상에 완벽을 바라 수 없으므로 학생들을 직접 보면서 지도 할 수 있는 과정이 반드시 필요합니다.
  2. 학습자의 학습 성취도 상태를 레벨업 테스트 만으로 확신할 수는 없으므로 캠프 과정에서 직접 지도하면서 학습자의 학습 정도를 정확하게 파악할 수 있습니다.
  3. 일정 기간에 집중적으로 알고리즘 교육을 받으므로써, 실력 향상에 큰 성과를 거둘 수 있습니다.
  4. 다른 학생들의 실력을 몸소 느낌으로서 자신의 학습 의욕을 고취 시킬 수 있습니다.
  5. 토론 학습을 통하여 문제에 대한 다양한 풀이 방법을 찾을 수 있습니다.

나) 캠프 과정

※ 학기 중 주말 캠프
캠프 시기 : 약 2달에 한번 주말을 이용하여 실시합니다.
캠프 장소 : 지방별로 만은 학생들이 이동하기 편리한 장소를 선택하여 실시합니다.
학습 내용 : 알고리즘 강좌, 문제 해법 토론, 프로그래밍 기법 토론, 학습의 바람직한 진행 방법 강좌, 온라인 학습으로 부족했던 학습 내용 보충 등으로 이루어 집니다.
캠프 비용 : 차 후 숙박 여부, 식사, 장비, 장소 대여료 등을 감안하여 온라인 수업료와는 별도로 부과합니다.
참가 대상 : 온라인 교육에 등록한 학생 중 희망자에 한하여 참가합니다.

※ 방학중 캠프
캠프 시기 : 봄, 여름, 겨울 방학 기간에 맞추어 3회 실시
캠프 장소 : 학생들이 학습하기 편리한 장소를 선택하여 실시합니다.
학습 내용 : 알고리즘 강좌, 문제 해법 토론, 프로그래밍 기법 토론, 학습의 바람직한 진행 방법 강좌, 온라인 학습으로 부족했던 학습 내용 보충, 수학, 과학, 영어 등으로 이루어 집니다.
캠프 비용 : 차 후 숙박 여부, 식사, 장비, 장소 대여료 등을 감안하여 온라인 수업료와는 별도로 부과합니다.
참가 대상 : 온라인 교육과 본원에 등록한 학생 중 희망자에 한하여 참가합니다.
 

5) 레벨 제도 운영

가) 레벨운영

본 학원은 Level 로 운영된다. Level 과정의 장점은 다음과 같습니다.

  1. 자기 수준에 맞는 문제를 풀게 됨으로 자신감을 가지게 됩니다.
  2. 자기와 비슷한 수준의 학생과 같은 문제를 풀게 되기때문에 경쟁심을 통한 능력 배양에 도움이 됩니다.
  3. 자기 자신의 수준이 전체에서 어느정도 수준에 도달해 있는지 쉽게 알 수 있습니다.
  4. 더 높은 레벨을 향한 노력과 레벨상승에 대한 성취감이나 뚜렷한 목표 이식을 기를 수 있습니다.
  • 처음 학원에 입학하게 되면 1 Level 를 받게 되며, 언어기초과정은 1~2Level로 이 과정에선 앞으로 정보올림피아드를 준비하기 위한 명령어와 간단한 프로그램 제작을 하게 됩니다.
  • 3~9레벨에선 기본적인 코딩 실력을 향샹 시키기 위한 문제를 풀게 된다. 알고리즘 과정은 10~15 Level 그리고 문제 풀이 과정(선수반)은 15~30Level로 구성됩니다.
  • 하루에 풀 수 있는 문제의 제한은 없습니다.
  • 만약 처음 학원에 등록할때 자신이 이미 프로그램을 배웠거나 프로그램을 작성할 줄 안다면, 선생님과 상담하여 Level 조절을 할수 있습니다.