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