어떤 컴퓨터 공학과 교수가 ‘소프트웨어 교육에서 중요한 것은 분석력, 논리력, 창의력 같은 사고력인데, ‘소프트웨어교육=코딩’으로 오해하고 있는 것 같아 우려된다‘고 했습니다. 코딩(coding)은 컴퓨터가 이해하는 언어로 명령을 만드는 것을 말합니다. 코딩에 앞서 알고리즘이 정해져야 하고 이는 인간의 지성, 사고력, 창의성, 문제해결력 등을 필요로 합니다. 다른 사람의 알고리즘을 컴퓨터 언어로 바꾸는 일은 현대판 노동에 불과합니다. 퍼즐은 매우 정교한 규칙을 가지고 있어 알고리즘을 구성하고 연습하는데 매우 효과적인 툴임이 알려져 있습니다.
별놓기(Star Battle) 퍼즐을 한번 보겠습니다.
1. 가로줄과 세로줄에 정해진 개수만큼의 별들이 들어간다.
2. 굵은 선의 영역 안에도 정해진 개수만큼의 별들이 들어간다.
3. 별이 들어가면 가로, 세로, 대각선으로 인접한 칸에는 별이 들어갈 수 없다.
알고리즘이 어떻게 구성될까요?
1. 어떤 칸에 별이 들어갔을 때, 이웃한 영역에 별이 들어갈 수 없다면 X표 하라.
2. 확실한 칸을 찾으면 다른 칸에 별이 들어갈 수 없는 부분을 X표 하라.
3. 빈칸이 가장 작은 영역부터 별이 있다고 가정하여 2번 작업을 수행하라.
4. 1번부터 반복하라.
이러한 과정은 사람의 머리속에서 나오는 작업입니다. 처음에는 논리적인 알고리즘이 형성되지 않아 많은 시행착오가 나오지만 점차 자기만의 알고리즘에 의해 문제를 해결하게 됩니다. 많은 퍼즐들이 나름대로의 문제해결력을 요구하지만 스도쿠 퍼즐 위주로만 교재가 나와 있습니다. 한국 창의퍼즐협회 부설 한국창의교육연구소에서는 현재 다양한 지필퍼즐들을 교재화 하여 수업이 진행되고 있습니다. 컴퓨팅적 사고와 집중력, 과제해결력을 키우는데 퍼즐만큼 좋은 툴이 있을까라는 생각을 해봅니다.
한국창의퍼즐협회(www.koreapuzle.org)
부설 한국퍼즐교육연구소 소장
일산 매쓰온영재학원 원장 전재용
문의 031-917-7556
위 기사의 법적인 책임과 권한은 내일엘엠씨에 있습니다.
<저작권자 ©내일엘엠씨, 무단 전재 및 재배포 금지>