brunch

You can make anything
by writing

C.S.Lewis

by 김창현 Jan 21. 2023

코딩교육에 대한 단상

codingedu = ['파이썬','루비','코딩교육']

들어가며

'코딩'이라는 말은 이제 우리에게 너무나 익숙한 말이 되었다.

2025년부터 정부는 코딩교육을 의무화한다고 한다. 이제 초등학생들이 코딩으로 시험볼 날이 멀지 않은 것 같다.


파이썬 온라인 강의를 론칭해본 적이 있는 입장에서 '코딩 교육'을 바라보는 시선은 다소 착잡한다.

한국식으로 코딩교육을 하게 되면, 학생들 입장에서는 '수학만큼이나 재미 없는' 과목이 하나 더 생기는 셈이다. 시험을 보려면 외워야 하고, 스트레스를 받으며 공부를 해야 한다.


내 코드가 작동하지 않아요. 왜죠?

물론 코딩을 할 때는 엄청나게 스트레스를 받는다. 코딩하는 사람들 사이에서 유명한 짤이 있다.

My code is not working. I don't know why.
My code is working. I don't know why.

내 코딩이 실행되지 않는다. 이유를 모르겠다. 그런데 내 코드가 실행된다. 이유를 모르겠다는 것이다. 개발을 할 때 수많은 에러를 맞닥뜨리며 문제를 해결해야 한다.

심지어 어떤 코드는 컴퓨터를 바꾸면 실행이 안 된다. 그러면서 개발자는 문제의 원인을 찾는다. 그러면서도 코드가 실행되고 문제가 해결되었을 때는 말할 수 없는 성취감이 찾아온다. 필자는 그 과정을 즐기는 편이다.


그런데 만약 코드를 시험으로 본다면?

파이썬 리스트에 적용되는 매서드를 다 외우고 그걸 시험으로 보라고 한다면? 끔찍하다. 한국에는 암기력을 예찬하는 사람들이 많아서 "어느 정도의 암기는 필요하다"는 식의 논리를 펴는 사람이 있는데, 코딩의 세계에서 '검색력'과 '실행력', 그리고 '문제에 대해서 생각하는 능력'이 훨씬 더 중요하다. 컴퓨터가 우리를 불필요한 암기로부터 해방시켜 주었는데, 다시 코딩을 배우려고 '불필요한' 암기를 강요할 것 같다는 생각에 우울하다. (note: 필자는 암기가 불필요하다 하지 않았다. '불필요한' 암기가 불필요하다는 것이다.)



다시 코딩을 왜 배워야 하는 지 곰곰이 생각해보자.

문제가 꼬여 있을 것 같을 때는 본질로 돌아와 보는 것이 좋은 생각인 것 같다. 도대체 코딩을 왜 배우는 거지?

https://if-blog.tistory.com/12177

위 링크는 교육부 공식 블로그이다. 코딩을 왜 배워야 하냐는 질문에 대해서 교육부는 "4차 산업혁명"으로부터 시작한다. 사물 인터넷, 빅데이터와 같은 정체 불명의 어려운 말들 투성이다. 다시 "코딩이 왜 중요할까?"라는 말 자체를 이해하기 위해서 불필요한 에너지를 써야 한다.


구글에서 why do we have to learn coding이라고 쳐 보았다. 정말 많은 기사와 블로그가 뜬다. 그 기사 내용들은 정말 '코딩을 왜 배워야 하는지' 정말 핵심만 간략하게 알려준다. 대략 나열해보면 다음과 같다.


직업선택의 폭을 넓혀준다(연봉상승).

우리를 둘러싼 '기술'을 이해하도록 도와준다.

프리랜서로도 일할 수 있다.

재밌다.

논리적인 사고를 길러준다.

누구나 배울 수 있다.


필자는 개인적으로 코딩을 배워야 할 이유는 수백만가지이며, 코딩을 안 배우는 것이 손해라는 생각을 가지고 있다. 위에 열거한 내용들이 모두 너무나 중요한 내용이지만, 필자는 두 가지만 집중해서 설명해보고자 한다.


누구나 배울 수 있다. 공짜다.

파이썬 책을 썼을 때 사람들이 나에게 가장 많이 물어본 질문 중 하나는 이거 였다.

파이썬 사려면 돈 얼마나 들어요?

믿기지 않겠지만, 사실이다. 나는 '공짜'라고 대답해준다. 파이썬 설치하는 거, 공짜다. 지금까지도 파이썬에 입문하지 않았다면 여기가서 다운로드 받으면 된다. 아나콘다에서 설치하는 게 가장 합리적이다. 이것 저것 기본 라이브러리를 다 같이 설치해주기 때문에.. 설치하는 것마저 귀찮다면 그냥 지금 바로 하는 방법도 있다. 구글 코랩에 가면 인터넷 환경에서 파이썬 명령어를 한 줄 한 줄 실행하도록 해준다. 필자는 idle 환경을 즐겨 쓴다. 파이썬의 장점은 그냥 한줄 한줄 코딩 결과를 실행해볼 수 있다는 점이다.

심심할 때 쳐보는 명령어 0부터 9까지 출력해!

똑같은 명령어를 루비로 만들면 다음과 같다.

명령어가 조금씩 다르다

모양이 조금 달라졌지만, 결과가 출력되는 값은 비슷하다. 파이썬이 루비보다는 조금 더 스마트한 측면이 있다. 계산기로 사용하려면 파이썬이 더 똑똑하다. 루비는 그냥 계산기로 사용하기는 조금 힘들다. 더하기 빼기는 바로 나누기를 하면 소숫점 없이 그냥 몫만 출력한다. 그래서 실무적으로 바로 사용하기는 파이썬이 조금 더 편한 것 같다.

루비에서 33/4 를 하면 8이 출력된다. 흠...

아무튼 하고 싶은 말은 프로그램 배우는 거 공짜다. 아무나 배울 수 있다. 돈도 안 든다. 세상에 널리고 널린 게 파이썬 책이며 유튜브 비디오이다. 이런 책 한권 떼면, 정말 파이썬 어느 정도 활용한다고 말할 수 있다. 물론 이 책이 다루는 것은 파이썬의 아주 작은 부분이지만, 이 책을 다 공부하고 나면 분명 조금 더 많은 것을 알고 싶어질 것이다.

암튼 코딩은 누구나 배울 수 있다. 아이들을 위해서 네이버 엔트리와 같은 서비스로 코딩을 접목시키는 것도 가능하다. 코딩교육 사교육 업체 역시 넘쳐난다.

이 정도 되면 안 배우면 손해라는 느낌마저 든다.


재밌다.

사실 인류 문명의 역사는 과학 발전의 역사라고 해도 과언이 아닌데, 왜냐하면 과학과 기술이 우리를 수 많은 미신과 불편으로부터 해방시켰기 때문이다. 컴퓨터보다 세탁기가 우리의 삶을 더 많이 바꿨다는 말도 있지만, 어쨌든 과학과 기술은 엄청나게 세상을 많이 바꾼 것은 사실이다.


도대체 사람들은 왜 지식을 이렇게 축적시키고, 우리의 삶을 발전시키려고 노력하는 것일까? 나는 그 이유가 "재미" 때문이라고 생각한다. 만약 기술을 발전시키고, 물건을 창조하고, 이론을 만들어내는 '재미'라는 것이 없었다면, 지루하고 힘든 일을 반복적으로 해낼 수가 없기 때문이다.


아까 언급했지만, 코딩은 재밌다. 가끔 에러가 뜰 때는 컴퓨터를 집어 던지고 싶은 생각도 들 때가 있고, 책에서 배운 명령어를 똑같이 실행했는데 결과가 안 나오면 답답하기도 하다. 그런데 문제에 대해서 다시 생각해보고 검색해보면서 해답을 찾는다. 그렇게 찾은 해답으로 문제가 해결되면 뿌듯함이 찾아온다. 그러면서 어제보다 나아지고, 그제보다 나아진다. 코딩을 몇 개월 손도 대지 않은 적도 많다. 그러다 다시 시작하고 싶을 때 그냥 파이썬을 켜본다.  


>>>


이 표시가 뜨면 아는 명령어 한 두개 쳐 본다. 그러면 컴퓨터는 예전과 똑같이 작동해준다. "Hello world"를 쳐볼 수도 있고, 간단한 구구단 만드는 로직을 만들어볼 수도 있다. 그러다보면,


이런 것도 할 수 있지 않을까? 하는 생각이 계속 난다. 그래서 해보려고 하면 또 뭘 배워야 한다. 그러나 걱정하지 마시라. 세상은 넓고 튜토리얼은 많다. 배우고 또 배우면 할 수 있는 것이 늘어난다. 그렇게 성장하는 자신을 보는 것도 코딩 공부하는 기쁨이라고 할 수 있다.


나가면서

코딩은 '기술을 만드는 기술'(skill to make technology)이다. 그래서 우리가 매일 접하는 컴퓨터, 스마트폰 등을 움직이는 원리에 가깝게 다가갈 수 있게 해준다. 꼭 개발자가 되지 않아도, 코딩을 통해서 세상이 돌아가는 원리에 대해서 보다 잘 알 수 있게 된다.


우리가 코딩을 배워야 하는 이유는 아래 그림을 보면 알 수 있다. 지금 브라우저를 통해서 이 글을 보고 있다면 F12키를 한 번 눌러보자. 개발자모드가 뜰 것이다.

우리는 주로 왼쪽 그림만 보면서 산다. 그런데 컴퓨터가 돌아가는 원리는 오른쪽 까만 화면으로 되어 있다. HTML과 CSS로 화면배치를 하고 JavaScript로 내부 로직이 돌아가고 있을 것이다. 그 이면에는 Java나 C와 같은 로직이 돌아가고 있을 것이다. 브런치에 글을 쓰면서 개발에 관심을 가지지 않는다면 평생 왼쪽 화면만 보게 된다.

코딩에 관심을 가지면 오른쪽 화면을 보게 된다. 그리고 더 중요한 정보와 로직을 읽을 수 있게 된다. 중요한 건, "읽을 수 있는" 능력이다. 더 정확하게 말하면 "해석할 수 있는 능력"이기도 하다.  

그리고 그 중심에는 '스트레스'가 아닌 '재미'가 있어야 한다.

다행히도, 코딩은 그냥 재밌다.

시험 보면서 스트레스만 주지 않는다면...


왼쪽 페이지만 보고 살건지?


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