코딩교육 왜 해야하는가?

코딩교육이란 무엇인가?

 

코딩이란으로 위키피디아에서 검색하면 이렇게 나오네요.

일정한 프로그램 언어를 써서 프로그램을 작성하는 것.

 

프로그램언어가 뭔지 모르겠고 프로그램이 뭔지 감이 잘 안오시죠?

 

컴퓨터를 사용하여 원하는 결과를 내기 위해 여러 명령어를 논리적으로 구조화하여 사용하는 것.

이랍니다.

 

쉽게는 홈페이지를 만들 때, 사람이 하기 어려운 또는 노가다 성의 계산을 수행해야할 때 등등 각종 소프트웨어들을 만들 때 씁니다.

 

 

 

그럼,

코딩교육 왜 해야하는가?

 

대부분의 엄마들이 제일 궁금해 하는게 이것일 것 같아요.

 

 

자식을 둔 부모 입장에서 저희 아이에게 가르칠거냐고 물으신다면,

저는 당연히 가르칠거에요.  ‘어떻게, 어떤 방법으로 가르칠거냐?’ 를 놓고 고민하지 가르칠지 말지를 고민하진 않겠죠.

 

 

피아노를 예를 들어 볼게요.

우리가 피아니스트가 되려고 피아노 배우는 거 아니잖아요.

 

우선 아이의 재능이 있는지

나중에(학교들어가서) 음악시간에 악보보는 훈련이 되어 있기 위해서

어디가서 악보를 줬을 때 보고 칠 수 있는 정도 또는 삶을 풍성하게 하기 위한 아이의 취미생활.

 

이런 연유로 가르치잖아요.

 

대부분 피아노는 초등학교 1학년 빠르면 5살 정도 부터 가르치기 시작하는 걸로 알고 있어요.  기간은 아이에 재능과 적성에 따라 차이가 있지만요.

 

 

어렵게 고민하지 마시고 코딩교육도 그렇게 보시면 될 것 같아요.

 

다만,

1. 미래시대, 4차산업 기술 진보 시대를 살아가려면 필요한 지식들일 수 있기에 가르치거나 배우려고 하는 것 같아요.

미래 사회에서 IOT 세상에 코딩이 사물에 안들어 간 곳이 없겠죠. 또 급변하는 세상에서 미래 직업은 지금의 직업과는 다를테니까요.

 

 

아래사진은 명견만리에서 나온 20년 안에 사라질 직업이래요.

20년안에사라질직업

 

 

2. 아이에게 뭔가 도전해 볼 수 있는 수단을 주는 것 같아요.

예를 들어,

이런거 내가 만들어 보면 어떨까? 를 직접 할 수 있는.

인터넷을 통해 배포 및 보여주기가 가능하니 파급력이 큰 수단이 되겠죠.

 

 

코딩 교육 … 배움에 대해

불안해 할 필요 없어요.

왜냐하면 컨텐츠와 툴이 참 많아요. (글 쓰면서 중간중간에 링크 걸어드릴게요.)

인터넷 서칭만 잘하시면 굳이 돈들여 배우지 않아도 돼요.

다만, 그것을 할 시간적 여유나 투자를 하기 어려우니 돈을 내고 배우는 거겠죠.

 

이번엔 코딩을 배우면 얻게 되는 이점에 대해서 설명드릴게요.

 

저 역시도 개발하면서 좋았던 점 유익했던 점이

문제해결능력

 

이 향상돼요. 이전에 삶에 비해서 제게 달라진 점은 생활에서 맞닿드리는 모든 일에 대해 머릿속으로 구상화하죠.

 

모든 사람들이 이렇게 생각할 것 같지만, 의외로 그렇지 않답니다.

그래도 코딩을 통해 연습하게 되면 이렇게 하는 생각 방법이 훈련이 돼요.

 

 

정확히 어떤 방식의 사고냐?

 

컴퓨팅 사고 computational thinking(위키링크)

추상화(Abstraction), 자동화(Automation) Analysis

입니다.

 

생각을 단계적으로 구조적으로 한답니다. (procedural language를 통해 배웠을 경우..)

  1. 자료를 수집하고 분석한 후 문제를 분해하여 보다 간결한 상태로 만든다 – 추상화
  2. 추상화된 문제를 컴퓨터의 언어로 바꾸는 과정으로, 이를 거쳐 컴퓨터의 언어로 변환된 문제에서 알고리즘을 도출해 문제를 보다 쉽게 해결할 수 있게 된다. – 자동화
  3. 결과가 맞는지 검증 또는 분석을 하게 되지요. – 분석(analysis)

 

이 3단계를 삶에서도 적용해서 생각하게 돼요.

 

 

왜… 절대 음감이 아니라도 청음훈련을 한 친구들은 음을 들었을 때 피아노를 따라 칠 수 있듯이  훈련이 되는거죠.

 

더 쉽게 설명드릴게요.

 

그러려면 컴퓨터 탄생 배경을 생각해 볼 필요가 있어요.

 

컴퓨터라는 용어는 앨런튜링이 사용했어요.

앨런은 컴퓨터의 의미를 계산하는 인간. 으로 생각했대요. 2차세계대전 때 암호를 해석하기 위해 빠른 계산이 필요했고 그러다 튜링기계를 만들죠.

컴퓨터과학의 목적 중 하나는 인간을 이해하고자 하는 학문이라는 점이에요. 이건 목표가 크고 방대하죠. 그럼 이렇게 접근합시다.

계산을 어떻게 할 수 있지?

 

어떻게 How? 

 

컴퓨터 과학은 어떻게를 다루는 학문입니다.

컴퓨터 과학 연구는 컴퓨터가 수행할 수 있는 언어로 기술되며 컴퓨터 과학에서는 두뇌 동작 메커니즘을 컴퓨터 언어로 구현하여 동작시킵니다.
고안 -> 실제 동작 ->결과 확인 과정 검증

의 단계를 거친다는 거죠.

 

computational thinking 이해되셨나요?

 

쉬운 예를 하나 들어드릴게요.

 

아는 디자이너가

입시미술을 좋아하진 않지만 입시미술을 배우고 나면, 훈련이 되는게 있는데

화각의 구도를 순식간에 파악할 수 있는거야. 그래서 디자이너들이 사진을 잘 찍어요.

 

라고 하더군요.

 

미술을 배운 친구들은 사물을 보고 종이에 그려냅니다.

object를 점선면으로 읽고 다시 종이위에 재구성해내는 능력. 이죠.

object를 모델링하는 것이죠.

 

코딩훈련이 된 사람을 어떨까요?

문제를 보면 추상화하고 모델링합니다. 생각하는 방식의 훈련이랄까..

 

 

컴퓨터과학에선 더 효과적으로 대상을 이해하고 동작을 기술하기 위해 다양한 기법과 전략들이 고안되었는데요.

 

실생활 적용에 적용해볼게요.  서재에서 책을 정리 하거나 찾을 때,

  1. 책 정리 – 삽입정렬
  2. 책 찾기 – 이진트리

 

이런것들을 컴퓨터를 통해서 사고하고 훈련하면 학습 속도가 매우 빨라질 거라고 시모아 퍼페트가 말했는데 로고 창시자인 시모아퍼페트는 삐아제와함께 구성주의 학습에 대해 연구했습니다.

아래는 그의 인터뷰에요.

아이들은 지식을 구성하는 주체로서, 가르침을 받을(instruct) 때보다 직접 만들고 구성(construct)하면서 배우고, 스스로 사고하면서 개념을 확장하고, 그 과정을 통해 어려움의 재미(hard-fun)를 깨달아간다는 거였다. “최고의 게임은 아이들로 하여금 어렵게 도전해서 뭔가를 이루도록 유도하는 게임이다. 쉽다고 선전하는 게임 광고를 본적 있는가? 학교 커리큘럼이 잘못된 점은 지식을 잘게 쪼개 전달함으로써 학습을 최대한 쉽게 할 수 있도록 하려는 것이다. 아이들에게 물어보라. 학교를 싫어하는 까닭은 공부가 어려워서가 아니라 지겹고 따분해서라고 대답할 것이다” 그는 커리큘럼 디자이너는 게임 디자이너에게 학습의 원리를 배워야 한다고 주장했다 .(edsurge.com, 2016.8.3)

 

 

 

그럼 우리가 배우는 코딩교육인 스크래치는 뭐냐?

Educational Programming Language

교육용 언어.  GUI 툴을 이용한.  프로그래밍 언어를 좀 더 쉽게 접할 수 있는 도구에요. 

 

사실 예전에도(우리어릴적 90년대) 컴퓨터 학원 있었고요. 학원에서 직접 영타로 code쓰는거 배웠어요. 근데 왜 스크래치냐?

 

 

코드쓰기는 소수의 신동만을 위한 것이 아니라 누구나 손쉽게 할 수 있다.

새로운 기술을 단순히 읽기만 하는게 아니라 직접 만들게 하는 것.  – 미첼 레스닉

 

소비자에서 생산자로

 

 

 

어려운 코딩을 좀 더 쉽게 배울 수 있도록.. (물론, 블록 몇개 맞추면서 코딩할 줄 안다고 하면 안되겠죠.  난이도 있는 문제도 많이 풀어보고, 사실 이걸 입문으로 해서 직접 keyboard로 영타 치는 세계에 입문해야겠죠.ㅋㅋㅋㅋ)

 

 

스크래치를 통해 우리아이들에게 게임 그만하란 소리 말고

게임 만들어 보라는 얘기 해주시면 좋을 것 같아요.

소비자에서 생산자로 바뀔 수 있도록요.

 

아래는 두번째 시간 후 회고 시간에 나온 한 어머니의 후기입니다.

img_1620

 

 

 

마지막 수정 2018-06-09