코딩 이야기
현재 중국, 인도, 미국, 유럽의 많은 나라들에서 코딩 교육을 하고 있다. 그리고 우리나라도 2018년 의무화 되었다. 우리 세대에서는 조금 낯설고 어렵게 느껴졌던 프로그램이 코딩이라는 이름으로 쉽게 학습할 수 있는 환경이 조성되기 시작 했고 이전 글에서 언급한 SW 전형도 점차 늘어나고 있는 추세이다.
그래서 아이들은 코딩을 배운다
그리고 성인들도 코딩을 배우고 있다.
현재 학교에서 전공을 하고 있는 학생들, 취업을 위해 학원 등에서 수강하는 사람들, IT와 가까운 곳에서 재직하며 필요에 의해 학습하는 사람들, 스타트업을 꿈 꾸며 준비하는 사람들, 코딩 교육이라는 사교육 업계에 발을 들이기 위하여 배우는 사람들, 그리고 학습의 필요성에 대해 아직 판단이 서지 않는 관심이 있는 사람들이 있다.
코딩 교육과 관련하여 오바마 전 미국 대통령의 연설을 보고 가는 것이 도움이 될 듯 하여 아래 링크를 걸었다.
오바마 대통령의 연설 영상
요약하자면 4차산업 에서는 점점 많은 사람들이 코딩을 활용해 일을 하게 될 것이며 이를 준비하기 위하여 교육이 필요하다 내용이다. 더하여, 검색 사이트에서 코딩에 대해 조금만 찾아봐도 위의 영상을 포함한 많은 이들이(나라, 기관 등) 코딩 교육의 중요성에 대해 역설하고 있다.
질문들이 많아진다.
그럼 코딩 교육은 지금, 모두에게 필요한 것인가?
배워야만 한다면 얼만큼 배워야 할까?
코딩의 장점 중 하나로 이야기하는 창의력과 논리적 사고, 융합적 사고를 먼저 생각해 보자.
사실 창의력은 미술과 음악 같은 예술 계통으로 발달 시킬 수 있고 분석과 논리적 사고는 기존의 과학이 그 역할을 할 수 있다. 융합적 사고라고 하는데 코딩이 융합적 사고 능력을 향상 시킬 수 독보적인 교육이라고 단언하기에는 이른거 같다. 최대한 좋게 생각해서 코딩이 여러 능력을 동시에 향상 시킬 수 있는 가장 적합한 교육이라고 해도 왜 전세계가 나라, 기업 할 것 없이 코딩 교육에 힘을 쓰는 걸까?
그리고 곧 사회 전반에서 코딩을 활용해야만 한다면 그 중요한 코딩을 할 줄 아는 현재 이 시대의 프로그래머들은 우월감을 느껴야 하는게 아닐까? 왜 아직도 다수가 치킨 집 사장님으로 내몰리고 있을까? 잘 하지 못해서? 업계에서는 개발 하다 막히면 회사 앞 치킨 가게 사장님께 물어보라는 우스개 소리도 있다. 그만큼 능력이 좋으신 분들이 다른 업종에서 일을 하고 계신다. 과거라서? 그럼 앞으로 바뀔 수 있을까?
결국은 변화하는 시대에 맞는 새로운 노동자 계층을 만들기 위해서일까? 빈부격차가 커져가는 이 사회에서 우리는 기업이 요구하는 인재가 되어 최고의 기업에 취업하는 미래를 우선으로 준비해야 하는 걸까? 준비와 학습이라면?
교육 업계의 호황이 될 수도 있겠구나
반도체가 호황과 불황을 오고 가는 것처럼 교육 업계의 호황에 대해 부정적 시각을 가지는게 아니다. 필요하다면 배워야 하는 것이고 나 역시 교육에 방향성을 두고 있기 때문에 오히려 "잘" 하는 교육이 되었으면 하는 바램이다. 그런 의미로 미래의 일자리와 먹거리가 코딩과 관련이 있을 확률이 높고 어차피 해야 하는 거라면 코딩 교육의 최대 수혜자가 교육 업계가 되지 않게 본인을 중심에 두고 코딩 교육을 받아야 한다고 생각한다. 모든 사람들이 프로그래머가 아닌데 객체지향 언어, 알고리즘, 자료구조를 배울 필요는 없다. 소프트웨어 자격증이나 올림피아드 대회 준비가 과연 오바마의 연설처럼 미래를 위한 준비를 위해 배우는 코딩일까? 각자 개인에게 적합한 수준을 찾는 것이 중요하다.
어차피 코딩을 학습 해야 한다면 코딩 안을 조금 들여다 보자.
스크래치가 있고 엔트리가 있다. C 가 있고 JAVA가 있다. 프로그램 언어는 여러 가지다. 그러면 프로그래머들은 새로운 언어를 습득 할 때 얼마나 걸릴까? 그 언어를 완벽히 알아야만 개발을 할 수 있을까?
몰라도 수정은 가능하다. 습득도 빠르다.
결국 안에는 조건문 (if / else, switch / case), 반복문 (for, while) 로 채워져 있기 때문이다. 그 외의 문법들은 frame, 틀이다. 가장 중요한 건 frame 안의 핵심 <만약 이렇다면 이렇게, 몇 번을 반복 한 뒤> 이런 알고리즘과 논리적 사고, 어떻게 구성할지에 대한 창의적 사고이다. 논리적 사고 능력을 크게 생각할 필요 없다. 리모콘에서 셋탑과 TV 전원이 모두 들어와야 채널 변경을 할 수 있다고 인지하는 것이 논리적 사고다. 알고리즘을 어렵게 생각할 필요 없다. step by step 으로 양치질을 하기 위해 칫솔을 들고 치약을 짠 뒤 칫솔을 입 안에 넣고 위 아래로 문지른 뒤 3분이 지나면 입안을 헹구는 것이 알고리즘(어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합)이다. 창의적 사고를 어렵게 생각할 필요가 없다. step by step 중에 step 1개를 줄이는 방법, 조금 더 빨리 해결 할 수 있는 방법을 찾는 과정에서 창의적 사고가 나온다.
그럼 아이의 코딩 교육은 어떻게 시작해야 할까?
위에서 설명했듯이 코딩의 핵심이 그 안의 알고리즘, 논리적 사고, 창의력 등이 핵심이라고 한다면 아이일수록 그것들에 대하여 편하게 습득할 수 있도록 도와주면 될거다. 그리고 그 방법에는 워낙 많이 알려진 영상이지만 이것만큼 좋은 예가 없어 아래 링크 첨부한다.
편집 영상 : https://youtu.be/I5cq54MFQCo
원본 영상 : https://youtu.be/cDA3_5982h8
우리 아이는 46개월이다. 1년을 넘도록 정말 진지하게 숫자를 외우면서 진지하게 틀리는 아이다. 엄마 아빠가 모두 SW 개발자 출신이라 부부의 대화가 회의를 하듯 정확한 단어과 과정으로 이해 시키는 편이라 논리적 사고에 대해서는 정말 자연스럽게 습득하고 있는 중이다. <왜?>, <어떻게?> 라는 단어를 자주 사용하고 순서에 대해서 그리고 원인과 결과 그 과정을 위한 방법에 대한 대화가 많다. 버스를 보며 '버스는 왜 만들었어?'가 아닌 '버스는 어떻게 만들었어?'를 묻고 남편이 인터넷으로 구매한 엄청난 크기의 자전거 택배에 '뭐야? 뜯자' 라는 말보다 '어떻게 뜯지?' 라는 말을 먼저 한다.
자랑이 아니다. 이런 성향이 장점과 단점이 함께 있기 때문에 우리가 놓치는 부분도 꽤 있다. 단지 말하고 싶은 건 아이의 코딩 교육이란 건 일주일에 2~3시간의 학습보다 실생활에서 자연스럽게 녹여서 충분히 할 수 있다는 것이다. 특히 어린 아이들의 경우는 더더욱 그렇다고 생각한다.
모든 아이가 프로그래머가 되는 건 아니다. 하지만 모든 아이가 코딩을 배워야 한다. 그렇다면 이렇게 자연스럽게 논리적 사고와 알고리즘에 대해 습득한 아이라면 그 뒤에 이어지는 각종 코딩 교육에도 충분히 잘 적응할 수 있을 것이다. 그 뒤에 아이의 관심이 코딩에 있다면 충분히 지지하고 그렇지 않다면 적정 수준에서의 지식을 유지하면서 다른 분야를 볼 수 있지 않을까? 어차피 융합적인 인재가 필요하다고 하니 금상첨화이다.
그리고 성인의 코딩 교육.
실리콘밸리의 많은 창업자들은 아이디어를 가지고 실제 개발을 할 수 있는 '기술이 있는' 개발자들을 채용한다. 그들이 알고리즘에 따라 코딩을 한다. 코딩 방과 후 선생님을 하려면 코딩을 배워야 한다. 그런데 영업을 하시는 분들은 코딩으로 만들어진 dashboard를 잘 읽는 것이 중요하다. 디자이너가 코딩을 하는 경우가 종종 있다. 하지만 디자이너의 코딩과 하드웨어를 직접 제어하는 개발자의 코딩은 다르다. 디자이너는 UI적인 부분에 비중을 코딩일 것이고 후자는 datasheet와 회로도에 비중을 둬야 하는 코딩이기 때문에 사용하는 프로그램 언어도 다를 것이다. 이렇듯 코딩을 활용하는 것조차 모두 다르다.
그래서 나는 이렇게 생각한다. 각자 삶에서 본인이 편한 방식으로 논리적 사고 능력을 키우다가 생활에서 코딩과 관련된 상황이 오게 된다면 코딩 교육에 대해 적절히 판단하면 된다고...
코딩을 해야 할 상황이 오고 그것이 수익과(전공자, 현업, 취업, 업무 상 등등) 관련된다면?
성인이라면 어떤 일이 있어도 해낸다. 과외를 하든 학원을 다니든 사람들 쓰든 어떻게든 해 낼 것이다. 그런데 지금 그게 아니라 불안으로 코딩교육 근처에서 방황하고 있다면 차라리 그 시간에 변화하고 있는 세계에서 생산자가 되기 위하여 각자 방법대로 창의적 사고와 논리적 사고 능력을 키우는게 좋지 않을까? 그것이 내가 생각하는 성인의 코딩 교육 시작이다.
끝