이 대회를 하고, 높은 점수를 받은 팀의 소스 코드를 공개하고 몇 가지 "후속 작업"(예컨대 각 팀의 회고를 포함, 대회에 대한 다큐먼트 위키 문서라든가)을 해주면 아주 많은 것을 배우게 되리 라 생각합니다.
아쉬운 점이라면, 국내 대학생 프로그램 경진 대회와 acm의 icpc를 모델로 하는 듯 한데, 그렇다면 사용언어와 플랫폼 역시 좀 선택의 폭 을 넓게 해주는 게 좋지 않을까 하군요.
이제까지 제가 봐온 대학생 수준의 경진대회 중에서 개발환경과 언어 모두 를 이렇게 한정한 경우는, 특정 회사에서 스폰서를 하는 경우 빼고는 본 적이 없습니다. (최근 정보처리 자격증 실기 시험에서도 모든 언어를 허용하도록 바뀌었다고 합니다) 더 많은 배움의 기회가 될 것인데 참 아쉽군요.
물론 C나 C++을 사용해야만 하는 상황 자체가 하나의 과제 상황이 되고 덕분에 여러가지 공부가 되긴 하겠 지만, 우리는 "왜 C/C++ 밖에 사용할 수 없느냐"는 조금 더 본질적인 질문을 해봐야 합니다. 특히 학과 분위기가 C/C++ 쪽으로 편중되어 있는 상황에서는 말이죠.
혹자는 이런 말을 할겁니다. "사회에 나가서 일하다 보면 자기가 원하는 환경에서 일할 수 없는 상황이 수도 없이 많다. 갑이 까라면 까는거거든." 하지만 이런 상황을 학교에까지 연결할 필요는 없어 보입 니다. 우리는 "교육"과 "학문"이란 걸 하는 것이니까 요.
뭐 어쨌든 C/C++ 밖에 안된다면 또 나름대로 장점으로 돌려 생각하고 열심히 준비하는 것도 의미있겠습니다. 이런 대회가 열렸다는 자체가 귀중한 것이니까요. 앞으로 정기적으로 열리면 학생들에게 많은 동기부여가 되겠습니다.
제 생각에는 경진대회 문제 은행에서 갓 꺼낸듯한(약간은 천편일률적인) 문제들 외에도 학생들이 좋아할만한 프로그 래밍 주제가 많은데, 그런 것들도 시도해 보면 어떨까 합니다.
수학 경진 대회건, 프로그래밍 경진 대회건 그걸 준비하는 사람들은 매일 비슷비슷한 유형의 문제들만 "최단시간내에" 풀어제끼는 훈련을 하고, 덕분에 어떤 해답 집합을 미리 외우고 있 습니다. 알고리즘 X하면 바로 무의식적으로 손 끝에서 해당 알고리즘을 구현한 모범 답안이 튀어나오게 자신이 프로그램 되어 있죠. 다 좋습니다만, 모든 사람이 그렇게 훈련받을 필요는 없지 않을까요?
저는 영어공부를 하는 사람에게 이런 말을 해줍니다. 영어공부를 하려고 원서를 고를 때에는 일단 그 책을 통한 영어공부의 이득을 무시하고 고려를 해도 여전히 그 책을 읽을 마음이 드는, 설사 그 책이 국어로 되어 있다고 해도 여전히 그 책을 읽을 마음이 드는 그런 책을 보라고 말입니다.
저는 일단은 학생들이 그 주제 자체가 매력적이어서 정말 참여 해보고 싶은 생각이 마구 드는 경우가 이상적이라고 봅니다. 꼭 지적도전을 좋아하는 사람들만이 아닐지라도 "야, 저거 한번 해보면 참 재미있겠다" 그런 생각이 드는 것 말이죠. 그리고 거기에서 각자의 수준에 맞게 저마다 무언가 배우고 얻을 수 있다면 더 좋겠죠.
과 학생들끼리 이런 대회를 주최해 보는 건 어떨까 합니다. 꼭 ICPC 스타일을 답습할 필요는 없겠죠.