컴퓨터 프로그래밍의 중요성 알아 주었으면
컴퓨터 프로그래밍의 중요성 알아 주었으면
  • 정현철 기자
  • 승인 2006.06.07 00:00
  • 댓글 0
이 기사를 공유합니다

프로그래밍 경진대회 우승한 이충재(컴공 04) 학우
- 컴퓨터를 어떻게 공부했나
초등학교 3학년 때 동네에 있는 컴퓨터 학원에 다녔다. 그곳에서 올림피아드라는 말을 처음 듣고 여기에 관심이 생겼는데, 학원 선생님만 의지해서 모든 것을 준비할 수는 없었던 터라 학원 학생들끼리 정보를 모으고 함께 공부했다. 정보올림피아드의 문제를 푸는 것은 수학 문제를 푸는 것과 비슷하다. 수학에서 정수,실수,방정식,미분등 분야가 나누어져 있듯이 컴퓨터도 문제를 해결할 수 있는 여러 기법들에 대해 배워야 한다. 물론 문제를 직접 풀어보면서 여러 가지 경우에 대해 풀 수 있는 감각을 키우는 것도 중요하다.

- 컴퓨터 공부에 있어 중요한 것은
알고리즘을 짜는데 있어 가장 중요한 것은 자신이 만들려는 프로그램의 구조를 생각하는 것이지, 그것을 C언어로 표현하는 것이 아니다. 프로그램을 잘 짜는 사람과 그렇지 못한 사람의 차이는 미리 계획을 하고 짜느냐 그렇지 않느냐에 있다. 처음부터 계획도 없이 줄줄 짜 나간다면 알고리즘이 쓸데없이 복잡해질뿐더러 에러가 나도 어디가 틀렸는지 찾기 어렵다.
한편 컴퓨터가 인식할 수 있는 언어로 표현을 하지 못한다면 아무런 소용이 없기 때문에 이것 역시 소홀히 할 수 없다. 컴퓨터를 처음 접하는 사람이 컴퓨터 언어를 혼자 공부하기란 매우 힘들다. 우리대학에 들어와서 전자계산입문 과목의 책을 펼쳐본 학생들이라면 알겠지만, 많은 서적들이 별 설명도 없이 알아듣지도 못할 명령어들만 매뉴얼 형식으로 잔뜩 늘어놓았다. 물론 자꾸 쓰다보면 나중에는 알게 되겠지만, 처음부터 이해해가며 공부하기 위해서는 주변에 컴퓨터에 관해 잘 알아서 질문에 답해줄 수 있는 사람이 있어야 한다.
컴퓨터를 공부하는 사람들끼리 정보를 주고받는 일도 매우 중요하다. 컴퓨터는 모두들 피부로 직접 느낄 수 있듯 급속도로 발전하고 변화하고 있다. 매일 새로운 바이러스 패치가 나오는 것만 보아도 알 수 있지 않은가? 자신이 갖고 있던 지식이 어느새 소용이 없는 것이 되어버릴 수 있다는 것을 명심해야 한다.

- 지금까지 직접 만들어본 프로그램이 있는가
있다. 그중 가장 기억에 남는 것은 작년 카포전 때 만든 게임 ‘뿌요뿌요’의 인공지능 프로그램이다. ‘뿌요뿌요’는 테트리스처럼 주어지는 벽돌을 잘 조합하여 없애는 게임인데, 이를 인공적으로 수행하는 몇 가지 방법이 있다. 게임 화면에는 현재 떨어지는 벽돌과 그 다음 떨어질 벽돌 2개가 표시된다. 이 정보만 가지고 조합을 해서 벽돌을 놓는 방법이 그 중 하나이며, 이것이 당시 출전했던 모든 팀이 쓴 방식이다. 그러나 이렇게 하면 벽돌이 새로 나올 때마다 조합이 바뀌게 되는 문제점이 있다. 이것 외에 다른 독특한 방법으로는 컴퓨터가 알아서 벽돌을 쌓도록 하고, 사람이 판단하기에 잘될 때마다 그 경험을 데이터로 축적시켜 놓는 것이다. 이렇게 하면 컴퓨터는 많이 연습할수록 게임에 능숙해지게 된다. 실제로 이 방법을 통해 벽돌을 한 번에 여러 개를 부수는 경기를 본 적이 있다.

- 앞으로 어떤 분야를 공부할 것인가
현재 로봇인공지능에 관심이 있으며, 이와 관련된 랩에서 연구 참여를 하고 있다. 로봇인공지능의 목적은 로봇이 일을 더 효율적으로 잘하게 만드는데 있다. 좋은 로봇을 만들기 위해서는 물론 기계적 성능이 잘 뒷받침되어야 하겠지만, 로봇을 움직이는 프로그램 역시 무시할 수 없다. 로봇의 팔을 움직이는 프로그램의 경우, 어떻게 하면 최단 경로를 통해 움직이느냐가 관건이 될 수 있다. 이때 팔을 대각선으로도 움직일 수 있는 로봇과 상하좌우로밖에 움직이지 못하는 로봇에 대해 생각해보자. 일을 하는데 있어 후자의 로봇이 더 비효율적으로 보일 수 있지만, 같은 시간 내에 더 많은 경우의 수를 찾아 가장 효율적인 동선을 따라 작동한다면 꼭 그렇지만도 않다. 로봇의 하드웨어가 뒷받침되지 못하더라도 프로그램을 통해 로봇의 성능을 얼마든지 향상시킬 수 있다.

-학우들에게 전하고 싶은 말은
앞으로 연구를 할 때 단순 반복적인 일과 다뤄야 할 데이터가 더 늘어날 것은 자명한 사실이다. 그렇다면 이를 누가 처리해야 하는가?
주위를 둘러보면 컴퓨터 프로그래밍이나 전자계산 수업에 집중을 못하고 이것들을 필요 없는 것으로 여기는 학우들이 많은 것을 볼 수 있다. 최근들어 이러한 일이 더욱 심해지고 있는 듯한데, 이는 수업에 대한 예의도 아니거니와 컴퓨터 관련 과목의 중요성을 잘 인식하지 못해 일어난 일인 것 같아 안타깝다. 여러 가지 이유가 있겠지만 선배들로부터 퍼진, 이런 과목들에 대한 잘못된 입소문이 한 몫을 한 듯하다. 앞으로 학내에서 이렇게 잘못된 편견이 퍼지는 일이 없었으면 한다. 한 가지 더 바라는 점이 있다면 학우들이 컴퓨터 프로그래밍의 중요성을 깊이 인식해 주었으면 하는 것이다.