d라이브러리









Part 1.문제 해결의 비법, 컴퓨팅 사고력!

컴퓨팅 사고력은 한마디로 일상에서 벌어지는 일을 효과적으로 해결하기 위한 사고 방법입니다. 말은 쉽지만 실체를 모르겠다고요? 그 궁금증을 밝혀 줄 중학생 컴퓨팅 사고력 대표를 소개할게요. 나와 주세요!

 

이준서 군은 서울 을지중학교에 다니고 있는 15살 학생입니다. 어리다고 얕보지 마세요! 이래 봬도 초등학교 5학년때 처음 애플리케이션을 만든 이후, 각종 공모전에서 수차례 상을 받은 개발자입니다. 또 크라우드 펀딩 사이트에서 목표액을 300% 달성해 성공을 거뒀지요.


아직 어린 학생인데 어떻게 이런 일을 할 수 있었냐고요? 사람들이 생활 속에서 느끼는 불편함을 해결하려는 따뜻한 마음에서 시작됐습니다. 거동이 불편한 할아버지가 집에 혼자 있을 때, 옷을 홀라당 벗고 샤워할 때 초인종이 울리면 당황스럽습니다. 방문자가 왔을 때 현관문 앞까지 가지 않더라도 확인할 수 있다면 얼마나 좋을까요?


이런 발상으로 만든 ‘녹녹맨(Knock Knock Man)’은 방문자 확인 장치입니다. 방문자가 초인종을 누르면 초인종에 붙어 있는 카메라가 사진을 찍어 집 주인에게 전송합니다. 사진을 받은 집 주인은 방문자를 확인하고 원하는 메시지를 보냅니다. 초인종에는 방문자를 위한 메시지가 전송되고, 방문자도 상황을 이해할 수 있지요. 


사실 녹녹맨은 준서 군이 운동을 하다 무릎을 다쳐 꼼짝 못하던 형을 위해 만든 발명품이었습니다. 걷기 힘든 형이 혼자 있을 때 누군가 집에 찾아오면, 움직이지 않고 집 밖에 누가 있는지 확인할 수 있으면 좋겠다고 생각한 것이지요. 형을 생각하는 마음에서 탄생한 녹녹맨은 공모전 수상의 영광까지 안겨줬습니다.

 

방정식 풀듯 모든 문제를 해결


우연한 계기로 접한 소프트웨어로 할 수 있는 일은 많았습니다. 평소에는 불편해도 해결할 수 없으니 그냥 지나쳤던 일이 소프트웨어를 배우니 술술 풀렸던 것이지요. 그래서 더 많은 기능을 넣을 수 있는 어려운 프로그램도 배웠습니다. 


개발이 언제 가장 재밌냐고 묻자, 준서 군은 “오랫동안 막혀 있던 부분이 해결됐을 때”라고 말합니다. 물론 완성된 결과물을 볼 때도 기쁘지만 이미 예상했던 결과니 재미는 조금 덜하지요. 반면 며칠 동안 끙끙대다가 다음 단계로 넘어간 순간에는 이전에는 할 줄 모르던 걸 해냈다는 데서 오는 기쁨이 어마어마합니다.


수학을 좋아하는 준서 군은 개발이 수학 문제 풀이와 닮았다고 말합니다. 알고리듬을 짤 때 순서대로 입력하는데, 만약 중간 단계에서 잘못되면 다음 단계로 넘어갈 수 없지요. 마치 수학 방정식을풀 때처럼 말입니다. 즉 둘 다 논리적인 측면에서 꼭 닮은 것이지요. 


그렇다면 준서 군이 생각하는 개발자에게 가장 중요한 건 무엇일까요? 준서 군은 ‘끈기’라고 강조
했습니다. 한 번에 해결되지 않는 문제도 있고, 만드는 물건의 기능이 복잡할수록 오류도 많이 생기기 때문에 중간에 포기하고 싶은 경우도 있습니다. 그때 끈기 있게 달려들어 문제를 해결하는 순
간을 만끽하면 개발에 푹 빠질 수 있다네요. 

 

▲지난 달 열린 소프트웨어 교육 컨퍼런스에서 연설중인 중학생 개발자 이준서 군! 

 

● 이준서의 녹녹맨 발명일기


우리 형은 아이스하키 선수다. 그런데 어느 날, 무릎을 다쳐 한동안 꼼짝없이 집에만 있게 됐다. 집에서조차 목발과 휠체어 없이 움직이기 힘든 형을 보니, 형이 혼자 집에 남아 있을 상황이 걱정됐다. 누군가 방문이라도 한다면, 불편한 몸을 이끌고 현관까지 가야 하는데, 방에서도 밖에 누가 왔는지 바로 확인하고, 방문자에게 메시지를 보낼 수 있다면 편리하지 않을까?

 

 

 

컴퓨팅 사고력의 핵심 요소 4가지

 

준서 군처럼 일상에서 문제의식을 느끼고 어떻게 해결할지 생각한 뒤, 그것을 소프트웨어로 구현해 내는 것이 바로 컴퓨팅 사고력입니다. 실제 컴퓨터 과학자들이 생각하는 방법이지요. 


전문가들은 컴퓨터 과학자뿐 아니라 모든 사람이 컴퓨팅 사고력을 갖춰야 한다고 주장합니다. 이 문제가 얼마나 어려운지, 최선의 해결책은 무엇인지, 어떤 방식으로 풀어야 하는지를 고민하는 방법을 배우면 새로운 문제에 직면했을 때도 해결해 나갈 수 있기 때문입니다. 


마이크로소프트 대표이사 사티아 나델라는 “컴퓨터라는 도구와 기술을 활용해 인간의 무한한 잠
재력과 재능을 실현할 수 있다”며 컴퓨팅 사고력의 중요성을 강조했습니다. 이런 컴퓨팅 사고력
의 핵심 요소는 4가지가 있습니다. 문제분해, 패턴인식, 추상화, 알고리듬 설계지요. 


준서 군은 친구들과 함께 애견 급식기 ‘아이펫’도 개발했습니다. 시간과 음식 양을 미리 설정해 놓으면 자동으로 배급돼, 주인이 집을 비워도 반려동물 식사에 문제가 없지요. 마이펫 개발 과정을 보며 컴퓨팅 사고력의 핵심 요소 4가지가 어떻게 쓰였는지 살펴볼게요. 

 

 


1. 문제분해 
하나의 큰 문제를 여러 개의 작은 문제로 나눠 쉽게 해결할 수 있게 만드는 과정이이에요. 여기서 
큰 문제는 자동 급식 기계 만드는 거예요. 여기에는 밥을 줄 시간과 양을 정하는 기능, 주기적으로 
기계 내부를 자동으로 청소하는 기능이 필요하겠죠? 이렇게 문제를 단계별로 세분화하는 게 문제분해예요.

 

 

 

2. 추상화 
컴퓨터가 이해하는 언어로 바꾸기 위해 불필요한 상황은 제거하고 핵심적인 문제만 남겨 단순하게 표현하는 거예요. 밥을 줄 시간과 양을 정하는 기능을 만들 때 제한을 두지 않으면 기계에 문제가 생길 수 있어요. 따라서 적정 범위를 정해 그 이상의 수를 입력하면 다시 입력하라고 알려주게 만든 것도 추상화의 하나예요.

 

 

3. 패턴인식
문제에서 반복적으로 나타나는 상황을 찾아내는 거예요. 기계의 오작동을 줄이고 처리 속도를 높이려면 한 번에 줄 수 있는 사료 양과 하루에 가능한 급식 예약 횟수를 강아지의 종별로 알아봐서 정해야 해요. 이준서 군은 하루 최대 7번, 한 번에 최소 18g에서 최대 162g까지 사료가 나오도록 자동 급식 기계를 만들었어요.

 

 

4 알고리듬 
문제에 맞는 효율적인 알고리듬을 설계하는 거예요. 지금까지 정한 상황을 컴퓨터가 처리할 수 있도록 코드를 짜야겠죠? 원하는 대로 프로그램이 돌아간다면 드디어 발명품 완성! 

 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2018년 09호 수학동아 정보

  • 조혜인 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?