d라이브러리









[도전! 코드마스터] 논리적으로 생각하자! ‘컴퓨팅 사고’


수호가 롤랑과 합체해 코드마스터로 거듭났어요! 생각을 안 하고 무턱대고 덤비는 수호에게 롤랑은 “컴퓨팅 사고가 필요하다”고 외치죠. 대체 컴퓨팅 사고가 뭘까요? 0과 1로 이루어진 기계어로 생각하라는 이야기일까요?

컴퓨팅 사고, 또는 컴퓨팅적 사고는 어떤 문제의 해답을 일반화하는 과정을 말해요. 어떤 문제가 주어지더라도 빠르고 정확하게 해답을 찾을 수 있도록 문제풀이 과정을 가장 단순하고 효율적으로 만드는 거예요. 1980년 미국 메사추세츠공과대학교의 세이모어 페퍼트 교수가 처음 제안한 후, 마이크로소프트 연구소의 부사장인 지넷 윙이 사용하며 널리 퍼지게 됐답니다.

예를 들어 지도를 보고 목적지로 가는 가장 빠른 길을 찾아낸다고 해 봐요. 길을 최대한 단순한 선으로 그리고 연결점을 정확히 표시하면 어떨까요? 어느 길로 갈 수 있는지, 또 어느 노선이 가장 짧은지 한눈에 알아볼 수 있죠. 이 방법을 머릿속에 잘 저장해 놓으면, 아무리 복잡한 지도를 보더라도 빠른 길을 금세 찾아낼 수 있을 거예요.

컴퓨팅 사고는 이렇게 주어진 문제를 논리적으로 분석하고(문제 분해), 핵심 원리를 찾아내 문제를 단순하게 만들고(자료 표현, 추상화), 논리적 절차(알고리즘)로 이루어진 해결책을 찾아낸 뒤 이 해결책을 다른 문제에도 적용(일반화)할 수 있게 하는 과정이에요. 컴퓨터가 문제를 처리하고 해결할 때의 과정과 같기 때문에 컴퓨팅 사고라고 부르는 거랍니다.

이름을 보면 바로 알 수 있겠지만, 소프트웨어를 만드는 코딩에서는 컴퓨팅 사고가 필수예요. 컴퓨터에게 시키고 싶은 일을 명확히 찾고, 그 과정을 논리적 절차로 구성해서 컴퓨터에게 입력해야 하거든요. 그렇기 때문에 프로그래머들은 문제 해결의 절차를 한눈에 볼 수 있는 ‘순서도’를 이용해 프로그램을 검토한 뒤, 그 순서에 맞게 코드를 배열한답니다.
 
간단한 프로그램 순서도의 예. 1과 자기 자신으로만 나누어지는 수인 ‘소수’를 찾는 과정을 나타내고 있다.
 
그런데 컴퓨팅 사고는 소프트웨어를 만들 때만 필요한 게 아니에요. 사실 사람들은 오랜 시간에 걸쳐 알게 모르게 컴퓨팅 사고를 이용하고 있었어요. 수학 공식을 만드는 게 대표적인 예지요. 한 번 공식이 만들어지면, 비슷한 문제는 모두 같은 공식으로 쉽게 풀 수 있어요. 또 생물의 특징을 찾은 뒤 비슷한 것끼리 묶어서 분류해 놓은 덕분에 새로운 생물을 발견했을 때 바로 생물의 종류를 알 수 있지요.

결국 컴퓨팅 사고는 어떤 문제든 창의적이고 논리적으로 해결할 수 있도록 돕는 힘이라고 할 수 있어요. 최근에는 생물 게놈 지도를 만드는 것처럼 거대하고 복잡한 연구에서 큰 힘을 발휘하고 있지요.

이 때문에 미국과 유럽에서는 20세기 후반부터 학생들을 대상으로 컴퓨팅 사고 교육을 해오고 있어요. 우리나라에서도 2018년 소프트웨어 교육을 의무화하며 컴퓨팅 사고를 할 수 있도록 도울 예정이랍니다.
 

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

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

2016년 11호 어린이과학동아 정보

  • 김은영 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 교육학
이 기사를 읽은 분이 본
다른 인기기사는?