잠깐 알고 넘어가야 할 것이 있습니다.

프로그래밍을 하기 전에 우리는 이런 상상을 합니다.

프로그래밍을 배우면 게임도 만들 수 있을 것 같고, 어려운 문제도 척척 풀어갈 수 있게 컴퓨터를 잘 할 것이라는 착각입니다.

프로그래밍은 결코 쉽지 않습니다.

프로그래밍을 배우면 이것 저것 원하는 것을 만들 수 있는 것은 사실입니다. 그렇게 만들기 위해서는 생각보다 더 오래 공부하고, 더 많이 연습해야합니다.


기를 죽이는 말이죠.


적은 양의 공부로도 당연히 멋진 프로그램을 만들 수 있을 것이라 생각했는데...
OTL.... 현실은 그렇지 않습니다.

아무 생각 없이 우리는 인터넷 브라우저를 열어서 업무 전에 습관처럼 인터넷 기사를 읽고 클릭 몇번으로 메일도 확인하고 업무 준비도 하고... 쉽지요...

사용하기 쉬운 프로그램은 사실 만들기는 무척 어렵다는 것을 아셔야 합니다.

우리가 인식하는 이러한 문자도 수많은 규칙과 여러가지 기술을 반영하여 화면에 나타내는 것임을 잊지 마십시오.

스크래치로 코딩을 공부하려는 이유도 여기에 있습니다.

스크래치는 직관적이며 사용하기 쉽습니다. 그 말은 보통의 프로그래밍 언어보다도 더 많은 사전 프로그래밍을 하여 만들어 놓았기 때문에 마지막에 사용하는 사용자가 쉽게 사용할 수 있음을 생각하십시오.


프로그래밍은 일종의 역사서 같다고 생각하시면 좋을 것 같습니다.

역사서는 글을 쓰기 시작한 순간부터 일어난 일들을 계속 기술해 놓아 많은 양의 데이터가 쌓인 것입니다. 마찬가지로 하나의 프로그래밍 언어도 기술이 발달하고 시간이 흐르면서 추가로 필요한 부분을 넣고 넣고 또 넣고 하다보니 공부할 것이 많아집니다.

C언어 혹은 C++언어를 잘한다고 해서 우리가 사용하고 있는 윈도우에서 프로그램을 만들 수 있지 않습니다. 윈도우에서 프로그램을 사용하기 위한 별도의 규칙이 있고 그것 때문에 C언어나 C++언어에서 알았던 규칙이 깨지고 재구성되기도 합니다.

한마디로 자신이 원하는 목표를 위해서는 정말로 "레고"와 같이 필요한 블럭들을 조합해서 만드는 일이 필요하게 됩니다.

우리는 여기서 쓸데없이 이런 자세한 것을 알려고 시간을 보내는 것이 아닌,

실제 생각하는 방법을 위한 내용들만을 생각할 것입니다.

Posted by 눈의꽃
:

 제목이 이상하긴 한데요. 아이들이 쉽게 접할 수 있는 생각하는 방법에 대해서 이야기 할까 합니다.

 엄마들은 항상 아이들에게 코딩의 기초 개념을 가르치고 계십니다. 본인도 모르게 말이죠. 아이들은 훌륭히 그 미션을 행하면서 일종의 Rule을 배우고요.

 저희도 장난감을 잘도 어지르는 아들이 두명이 있습니다. 집도 작은데 한쪽 구석에는 파워레인저가 뒹굴고있고, 또 한쪽 구석에는 자그마한 자동차들이 굴러다니고, 거실 대부분을 차지하며 어질러진 블록들... 아이들은 갖고 놀때는 신나게 갖고 놀죠. 하지만 치우는건 어른들의 몫이 되기 쉽죠.

 아이들만큼 엔트로피의 법칙에 충실한 사람도 없다고 봅니다. (세상 만물은 불규칙적이고 안정된 에너지 쪽으로 흘러간다는 법칙이 엔트로피의 법칙) 

 여기서 이제 몸에 밴 엄마, 아빠들의 행동이 등장!

 " 장난감 정리하고 나서 과자 먹자" - 이 말과 동시에 두살 밖에 안된 아이도 장난감을 정리한다는...

 잘못된 예를 들면 " 장난감 정리하고 밥먹자, 혹은 정리하고 목욕하자~" - 들은척도 안합니다.

  


 제가 드리고 싶은 말은, 엄마 아빠가 경험으로 알고 있듯이 적절한 동기 부여를 해 주셔야만 스스로 방법을 찾는다는 것입니다. 단순히 "정리하고 과자 먹자"라는 제안을 했을 뿐인데 아이들은 어질러진 장난감들을 제자리에 착착 가져다 놓고 상자에 담아 깨끗히 정리하게 됩니다. 이미 아이들은 동기를 충분히 부여 받았고 정리를 어떻게 하는지도 알고 있습니다. 

 이런게 코딩이라고 생각한다면 아이들은 스스로 할 줄 아는 것이 되네요? 맞습니다. 기본적으로 누구든 할 수 있는 것이 코딩입니다. 하지만 정리를 할 때에도 보다 쉽게 하는 방법이 있죠? 블럭을 집어다가 통에 담으러 가면 움직임이 많아지고 정리도 늦어지겠죠?

 아이가 들 수 있는 통을 하나 주면서 여기에 먼저 담아서 가득 차면 원래 통에 넣어보렴~ 하고 말해주세요. 더 빨리 정리할 수 있다는 것을 알게 될 겁니다.

 같은 일이라도 더 효율적으로 할 수 있겠죠? 이게 바로 코딩을 배워야 하는 이유가 됩니다. 목표가 있으면 보다 효율적으로 방법을 찾는 것이 바로 코딩의 목적이죠.

Posted by 눈의꽃
:


 http://scratch.mit.edu/


스크래치의 공식 사이트 주소입니다.

혹시 스크래치를 처음 들어보신다는 분들은 위의 사이트에 들어가서 한번 둘러봐주세요.

동영상 등의 많은 설명들이 영어로 나와 있어서 영어 울렁증이 있으신 분들의 거부감이 있을 수 있으나 막상 스크래치를 사용하면 한글을 지원해서 쉽게 사용하실 수 있으실 것입니다.


 컴퓨터의 프로그래밍 언어는 배우기 쉽지 않습니다. 물론 어렵지 않게 배울 수 있는 능력자들도 있지만 내 생각대로 무엇인가를 만들어 내기 위해서 공부해야할 내용이 너무 많습니다. 보통은 많은 공부를 해야 만들어 낼 수 있는 내용을 스크래치라는 언어(?)를 통해 쉽게 정리해 놓은 것입니다. 일종의 규칙을 미리 짜 놓았다고 생각하시면 됩니다.

 스크래치를 통해서 코딩의 핵심 내용을 배우시기엔 충분하리라 생각하여 스크래치를 추천 드리는 것입니다. 핵심 내용은 역시나 생각하는 방법이죠.

 스크래치를 처음 들어보신 분은 꼭 위 사이트를 들려주세요.

Posted by 눈의꽃
:

 코딩과 레고는 많이 닮았습니다. 레고가 지금처럼 대형 마트의 장난감 코너를 점령하고 있기 훨씬 이전부터 영유아의 교재 겸 장난감으로 일찍이 유명세를 탔었죠.

 요즘은 레고도 상업화 되어 여러가지 씨리즈가 마트를 점령하고 있습니다. 저희 아이도 마트에서 이러한 레고를 보고 흥분하고 사고 싶어하죠. 여러가지 씨리즈를요. ㅜㅜ 레고 시리즈는 참 많이 있는데요. 여러분은 자녀를 위하여 어떤 레고를 선택하시는지요? 개인적인 생각인지 모르겠으나 가장 쓸모없는 레고가 레고 키마 시리즈인것 같더군요. 설명서 이외의 것은 만들지도 못하게 되어있는 부품으로만 이루어진 제품이라고 생각합니다. 물론 이것도 많은 양을 구매하면 어떻게든 다른 모양을 맞출 수 있지 않을까하는 생각도 들긴하지만 그걸 아이들이 하기엔 힘들 것 같더군요.

 가장 좋아보이는 레고는 벌크로 수백가지 블럭이 들어있고 설명서도 없는 레고가 가장 좋아보였습니다. 그러한 레고는 별도의 설명서가 없으니 아이들이 만들 수 있는 것을 모두 만들 수 있고요

제 아이의 경우는 비행기를 만드는 것을 좋아하더군요. 근데 이 비행기에는 항상 네 개의 다리가 달려있습니다. 그 다리로 서있다가 갑자기 피~~~~융 날라갈 수 있는 비행기라고 하더군요. 우주까지 날아가려면 다리도 필요하다면서.

 피식 웃음이 났지만 실제로 미래에 그런 다리가 있어야만 비행기가 될 수도 있는 일이고, 아들의 상상속에서 그렇게 다니고 있는 비행기에 대해서 제가 현실의 비행기로 바꾸라고 말하는 것도 좋지 않은 것 같아서 그냥 그런 비행기로 남게 놔두었습니다.

 간혹가다가 내가 알고 있는 사실들을 아이에게 주입교육을 하는 것은 아닌지 하는 생각도 들고, 어디까지 통제해 주는 것이 부모의 역할인가도 생각해 보았는데요. 결론은 그냥 물 흐르듯 두면 스스로 적당한 시기에 적당한 위치로 찾아간다고 믿기로 했습니다.

 저도 어린 시절 엉뚱한 아이라는 것을 기억해 냈고, 그 엉뚱함이 지적 호기심에서 나왔음을 아니까요.

Posted by 눈의꽃
:

컴퓨터에 대해서 생각만 해도 복잡하다고 생각하시는 분들이 많으실 겁니다. 그런 컴퓨터를 이용해서 무엇인가가 될 수 있도록 내 마음대로 한다는 것은 더욱 복잡한 일이고 머리가 아픈 일일 수도 있지요. 코딩이 그렇습니다. 머리아프고 복잡한 일이 될 수도 있지요. 하지만! 머리아프고 복잡한 일이 될 수 있는 것을 어린이들에게 가르친다? 뭔가 우리의 교육관과 맞지 않죠?

 제가 컴퓨터를 처음 접한 것이 1988년이었습니다. 아주아주 먼 옛날 이야기네요.ㅎㅎㅎ 컴퓨터를 갖고 싶은 것이 아니라 사실은 그당시 유행하던 MSX 게임기를 갖고 싶었는데 할머니께서 큰돈을 투자하셔서 IBM XT 컴퓨터를 사주셨지요. 화면도 초록색만 나오고. 게임을 한번 하려면 CD케이스 만한 크기의 검은색 플로피 디스크를 넣었다가 뺐다가를 반복해야했고요. 제 의도와 다른 컴퓨터가 손에 들어와서 전 많은 공부를 해야만 제 목표인 게임을 할 수 있었습니다. 약간 삼천포의 느낌이....

 목표, 목적

 이 단어가 코딩을 하는 이유라고 생각하십시오.

 어린 자녀들이 하고자하는 것. 관심을 갖고 흥미를 느끼는 것. 그것이 코딩의 최종 목적이 되어야 합니다. 제가 어릴적 게임을 해보기 위해 인터넷도 없던 그 시절에 많으 책을 뒤져보고 스스로 공부했듯이 흥미있는 목적과 동기를 부여해 주십시오.

 코딩을 배우는 것은 쉽게 말씀드리면 목표한 바를 이루게 하기 위해서 입니다. 목표한 곳으로 충분히 잘 가고 있는 아이에게는 코딩을 가르치치 말아주세요. 부모의 욕심이 아이를 망칠겁니다.

 제 나름대로 코딩을 가르치려는 이유는,

 게임에 빠져 있거나 인터넷을 통한 음란 사이트 등에 접근하능 아이들의 흥미를 어느정도 충족 시켜주며 양지로 인도할 수 있는 순기능을 부여하고자 코딩을 추천하는 것일 뿐입니다.

 절대로! 컴퓨터에 별로 관심이 없고 자신의 의사결정 및 목표 의식이 확실한 어린이에게는 코딩을 가르치치 말아주십시오. 놀이터에서 잘 놀고 있는 아이를 마트의 과자 코너에 풀어 놓는 꼴입니다.


 이후의 이야기부터는 코딩의 99%인 생각하는 방법에 대해서 이야기 해 보고자 합니다. 

Posted by 눈의꽃
:

코딩이란 아래에 있는 레고를 조립하는 행동과 같습니다.

일종의 블록 놀이이죠.하지만 레고처럼 손에 잡히지 않기 때문에 좀더 상상력을 많이 사용해야 할 수 있습니다.

코드는 여러개의 블록으로 이루어져있으며 이러한 것을 조합하여 만들고자 하는 물건을 만들어 내는 것이라고 하겠습니다.


어린이들에게 코딩을 가르치는 것이 유행이 되었는데, 사실은 아빠들의 레고 놀이 정도 되는 것입니다.


오늘도 회사에서 돌아와서 저녁먹고 TV를 틀어 놓은채 소파에서 뒹굴거리는 웬수! 단군 신화에서나 나올법한 곰팅이 남편도 알고보면 이런 코딩을 할 줄 아는 곰팅이일 가능성이 높습니다.

잘 구슬러보면 아이들에게 코딩을 가르칠 정도의 실력을 갖고 있을 수도 있고, 그렇지 않더라도 아이들과 함께 코딩을 해보라고 하면 신나서 할겁니다.

 남자들은 단순하고 새로운 놀이를 좋아하니까요.

 TV를 보면서 쓸데없이 시간을 보내고 있는 곰 한마리가 집에서 살고 있다면 코딩이라는 쑥과 마늘을 먹여보는 것을 강력히 추천합니다. 

Posted by 눈의꽃
:

 요즘 코딩 교육이 엄마들 사이에 유행처럼 번지고 있다고 합니다. 개인적으로는 아주 유익한 일이라고 생각합니다. 컴퓨터 게임을 하는 시간에 코딩을 해본다는 것은 정보의 소비자 입장에서 정보의 생산자 입장으로 변한다고 생각하기 때문입니다.

 하지만, 아이들에게 코딩을 가르치기 위해서 학원을 보내거나 동영상, 어려운 책들로 심리적 부담을 주는 것은 반대입니다.

 코딩이라는 것은 생각하는 방법을 배우기 위한 수단일 뿐입니다.

 생각하는 방법을 잘 배우라면서 아이들에게 억지로 고정관념을 주입시키는 것은 좋은 생각은 아닙니다. 즐겁게 놀면서 합리적이고 바른 생각을 하기 위해서 코딩을 배웠으면 하는 바램입니다.


Posted by 눈의꽃
:

BLOG main image
by 눈의꽃

공지사항

카테고리

컴퓨터로 하는 블록놀이 (7)

최근에 올라온 글

최근에 달린 댓글

태그목록

글 보관함

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total :
Today : Yesterday :