brunch

You can make anything
by writing

C.S.Lewis

by Paulo Oct 04. 2024

절차적 사고 함양 액티비티 'HELP'

3부 : 학습과 성장을 지원하는 게임학습콘텐츠 사례

우리는 모든 것이 디지털 기반으로 변화하는 Digital Transformation, 이하 DX 시대에 살고 있습니다. 기업 현장에서도 DX 시대를 맞아 구성원들이 어떤 역량을 갖추도록 도와야 하는지 많은 고민이 오고 가지요. 


사실, 이런 때일수록 여러 기술과 방법론의 범람에 허우적대기보다는, 나에게 필요한 것을 아는 것, 활용처를 생각해 낼 수 있는 힘이 중요하겠습니다. 필요한 각각의 기술은 내가 배우거나 다른 사람과 협업하며 확보할 수 있는 반면문제를 분석하는 방식, 과정에서 필요한 것을 인지하는 능력은 쉽게 얻기 힘들기 때문이죠. 


오늘 소개드리는 'HELP(Hello to Easy Life with Programming)'도 그러한 맥락에서 기획되었습니다. 코딩이나 데이터 분석을 할 수 있는 지식과 기술을 본격적으로 배우는 것에 앞서, 모든 프로그래밍의 기본이 되는 절차적 사고알고리즘적 사고를 이해하고 체화해 보자는 취지입니다.



접근성 확보 : 블록코딩


그렇다면 절차적 사고는 어떻게 배울 수 있을까요? 사실, 어떤 알고리즘을 세우고 이것을 코딩하다 보면, 그 근간이 되는 절차적 사고를 자연스럽게 배울 수 있겠죠.


하지만, 배경지식이 없는 학습자들이 코딩을 하기 위해선, 개발환경을 세팅하고, 프로그래밍 언어를 배워야 하는 등.. 마치 개발자 양성 과정처럼 바뀌는 문제가 있습니다. 그럼, 개발환경에 구애받지 않고, 프로그래밍 언어를 배우지 않으면서 알고리즘 사고를 배울 수 있는 방법은 없을까요? 이 분야에 꽤 역사가 오래된 솔루션이 있습니다. 바로 블록코딩이죠. 


블록코딩은 00년대 초반 MIT에서 어린이들의 프로그래밍 언어 접근성을 높이기 위해 개발한 프로그램인데요. 복잡한 명령어를 텍스트로 직접 입력하지 않고도 코드를 적용하고 변경하면서 결과물을 확인할 수 있는 코딩 방법입니다. 레고 블록을 맞추듯 드래그 앤 드롭, 클릭만으로 코딩을 하는 것이죠.

고양이를 이동시키고, 움직이는 코드를 블록 코딩으로 구현한 모습


HELP! 프로그램 또한 블록코딩을 접목했습니다. 학습자들이 주어진 과제를 블록코딩으로 해결하는 과정에서 절차적 사고력을 기르고, 이를 현실 세계에 적용하는 방안을 고민하는 것이지요.


스테이지가 진행될수록 제시되는 과제물이 더욱 복잡해집니다. 이를 해결하기 위해서는 다음과 같은 접근이 필요하지요. 이를 체화하는 것이 곧 절차적 사고력을 기르는 것이라고 보아도 무방하겠습니다.


   1) 문제 내용과 조건을 명확하게 이해한다.

   2) 필요한 경우의 수를 헤아린다.
   3) 정확한 변수를 선택하고 입력한다.
 

HELP! Stage 0. 과제 수행 화면




몰입 요소 추가 : 스토리텔링


이처럼 블록코딩은 사전 지식이 부족한 학습자가 절차적 사고, 알고리즘을 실습하기에 유용한 솔루션입니다. 하지만, 성인교육에서 활용성이 높지는 않았지요. 주된 이유는 블록코딩에서 제시되는 과제가 '게임을 개발하고 싶은 청소년'을 대상으로 하기 때문에, 그 과제가 직장인 입장에선 공감이 되지 않기 때문입니다.


그래서, HELP에서는 직장생활에서 일어날 법한 문제를 절차적 사고와 DX를 통해 간단히 해결할 수 있다는 메시지를 주기 위해, 직장인들이 공감할 만한 스토리텔링을 불어넣었습니다. 


가정의 평화를 유지하기 위해, 거실등을 원격으로 조작하는 코드를 구성해 봅니다.


NPC들이 성토하는 직장 생활에서의 문제를 잘 듣고, 이를 해결하는 코드를 블록코딩으로 완성하면 각 스테이지를 클리어하게 되는데요. 이처럼 스토리를 따라가다 보면 자연스레 모든 과제를 완료할 수 있습니다.



몰입 요소 추가 : 경쟁, 난이도


재밌는 스토리를 감상하며 각자의 템포대로 프로그램을 즐기는 것도 좋지만, 참가자들이 더 깊이 몰입하면서 능동적으로 과제를 수행하고, 동료 참가자를 돕는 모습까지 볼 수 있다면 더할 나위 없겠죠. 


이를 위해 팀 경쟁, 과제별 난이도를 추가했습니다. 사람들의 몰입을 돕는 가장 직관적인 장치 중 하나가 '팀 기반 경쟁'입니다. 어릴 적 경험했던 운동회나 월드컵, 올림픽과 같은 대회를 떠올리면 고개를 끄덕이실 거라 생각합니다.


HELP! 에서도 팀원이 더 효율적인 코드를 작성할수록, 더 빨리 완성할수록, 더 높은 난이도의 과제를 완료할수록 팀 점수를 많이 획득합니다. 이러한 환경에서는 팀의 성과를 더 높이기 위해 자연스럽게 팀원을 돕는 모습, 쉬운 난이도를 완료하고 어려운 난이도에 도전하는 모습도 어렵지 않게 찾아볼 수 있지요. 


더 빨리, 더 효율적으로, 더 높은 난이도의 과제를 완성해야 합니다.



지금은 무언가를 배우는 것이 참 쉽지만, 동시에 또 쉽지만은 않은 환경이라고 생각합니다. 


교육 플랫폼은 물론이거니와, Youtube를 통해 방법론에 대한 접근은 너무나 쉽게 할 수 있는 반면, 배울 것이 너무나 많기 때문에 무엇이 나에게 필요한지 잘 아는 것이 어렵기 때문이죠. 


절차적 사고력을 갖추고 수많은 방법론을 배우는 것이 목표가 아닌 과정임을 인지하는 것이 참 중요하다는 생각이 듭니다. 


다음 아티클에서 더 좋은 내용으로 찾아뵙겠습니다!

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari