SW교육 필수 '컴퓨팅적 사고력', 어떻게 높이나?

글자 작게 글자 크게 인쇄하기

컴퓨팅적 사고력(Computational Thinking)이 4차 산업혁명 시대를 대비하는 주요 능력으로 주목받습니다. 컴퓨팅적 사고력은 단순 컴퓨터 활용을 의미하지 않습니다. 소프트웨어(SW)를 접목해 논리적 사고력과 문제 해결력을 높이는 활동을 뜻합니다. SW를 이용해 컴퓨팅적 사고력을 키우는 교육이 세계적으로 활발히 이뤄집니다.

ⓒ게티이미지뱅크
<ⓒ게티이미지뱅크>

그렇다면 어떻게 컴퓨팅적 사고력을 키울까요? 최근 한국정보교육학회가 개최한 하계학술대회에 컴퓨팅적 사고력 관련 논문이 많이 소개됐습니다.

정영식 전주교대 교수와 임서은 군포초 교사가 집필한 '컴퓨팅사고력와 문제 분석에 대한 인론적 탐구'에 따르면 컴퓨팅 사고는 컴퓨터 능력을 바탕으로 문제를 해결하기 위해 깊은 사고력을 융합하는 것입니다. 문제를 효율적으로 해결하는 방법을 찾기 위해 깊은 사고가 필요합니다. 이를 통해 문제를 분석하고, 분해하고, 패턴을 찾아냅니다. 이렇게 정리한 내용을 추상화한 후 알고리즘으로 연결합니다. 프로그래밍으로 컴퓨터를 작동시켜 구현하는 것까지가 컴퓨팅 사고력 과정입니다. 이 중 문제를 해결하기 위해 작은 부분으로 나눠 분해하는 '문제 분해' 영역이 중요합니다. 복잡한 문제를 빠르고 쉽고 정확하게 해결하도록 돕습니다. 문제 분해능력을 높이기 위해 대규모 프로그래밍 프로젝트에 참여하거나 데스크톱 컴퓨터를 분해하는 활동, 온라인 공동 작업 프로젝트 수행 등을 권합니다.

프로그래밍 교육은 컴퓨팅적 사고력을 높이기 위한 주요 수단 중 하나입니다. 학생들에게 프로그래밍 교육은 어렵습니다. 학생 수준별 맞춤형 프로그래밍 교육이 중요합니다.

김갑수 서울교대 교수와 문미예 서울목동초 교사는 '초등학생을 위한 반복문을 교육하기 위한 프로그래밍 언어 비교 연구'에서 프로그래밍 교육 목적은 언어 문법학습이 아닌 컴퓨팅 사고력과 알고리즘적 사고 증진에 있다고 강조합니다. 학생이 문법과 명령어를 외우는데 매몰되지 않고 간단한 명령어와 논리구조로 다양한 생각과 창의성을 펼치도록 교육과정을 설계해야한다고 조언했습니다.

한 지역에서 열린 SW캠프 참가 학생들이 스크래치 수업을 받고 있다.
<한 지역에서 열린 SW캠프 참가 학생들이 스크래치 수업을 받고 있다.>

프로그래밍별 교육 가이드가 중요합니다. 코드닷오알지(code.org)는 프로그래밍에 입문하는 학생이 친숙한 캐릭터로 쉽게 재밌게 프로그래밍을 배우는 프로그램입니다. 미션 완료 과정에서 순차, 조건, 반복 구조 학습이 가능합니다. 단, 미션 완료에만 매몰되지 않도록 다양한 알고리즘을 전해줘야합니다. 로고(Logo) 프로그래밍 언어는 쉽고 간단한 명령어로 프로그래밍이 가능해 초등학생도 쉽게 배웁니다. 입력한 명령어대로 수정, 보완이 가능해 컴퓨터와 대화, 소통하는 느낌이 듭니다. 그러나 로고는 수학과 직접 연관이 있는 언어라 수학에 흥미도가 떨어지는 학생에게는 어렵습니다. 게임, 놀이 등 학생 흥미를 이끄는 활동과 융합하면 좋습니다. 스크래치는 조작이 쉬운 초보단계부터 난이도가 높은 논리구조까지 코딩이 가능한 프로그램입니다. 다른 프로그래밍에 비해 사용 가능한 기능이 한정됐다는 점이 아쉬운점입니다. 속도, 시간 등 변수와 퀴즈, 게임 등 다양한 방식으로 변경하면서 스크래치를 사용하도록 이끌어야합니다. 문 교사는 “학생 이해 수준에 적합한 프로그래밍 교육이 이뤄지도록 체계적 교육과정 수립이 필요하다”고 전했습니다.

[전자신문 CIOBIZ] 김지선기자 river@etnews.com