본문 바로가기
꿈꾸는활동/코딩

왜 수학을 공부해야 하는가, 코딩 교육의 방향

by 심심 풀이 과정 2017. 2. 9.
728x90
반응형

 예전에 친구가 왜 문과에서 수학을 배우냐고 물은 적이 있어요. 수학이 싫거나 잘하지 못해서 문과로 왔는데 문과에도 수학을 배우는 것 뿐만아니라 시험을 보고 점수를 내서 못하면 또 불이익을 당하니 배신감과 억울함이 들었다고 했어요.

 

 수학 잘하면 이과, 못하면 문과, 영어 잘하면 문과, 못하면 이과, 잘못된 선입견을 갖고 한번 정해진 진로는 나중에 대학을 가거나 공부를 하거나 취업을 할 때 늘 발목을 잡죠. 그래도 그건 과거의 일이에요. 2018년 현 중2부터 문과 이과 통합된다니 다행이라 생각해요.


 다시 수학을 왜 배우느냐의 문제로 돌아가서, 수학을 배우고 시험을 보는 이유는 변별력인 것 같아요. 변별력, 즉 구별하자는 거죠. 누구를? 잘하는 학생과 못하는 학생이죠. 그럼 그 학생이 무엇을 잘 하느냐? 수학을? 아니 논리적 사고죠. 

 


 사실 논리적 사고는 언어에서도 평가될 수 있어요. 글을 읽거나 쓰거나 말할 때도 논리적인 사고가 필요하고 다른 학문에도 필요하죠. 그러나 빠른 시간안에 고차원적이고 논리적인 사고를 설명할 수 있는 방법은 수와 식이에요. 


 수학은 일종의 암호죠.  2 더하기 3은 5, 2+3=5 더하기와 은을 +와 =의 기호로 공식화한 거죠. 그러나 사고를 표현하기 위한 수단으로 공식을 사용해야하는데, 공식만을 외외서 수학을 하게 되니 주객전도, 원래의 목적을 잃어버린 수학은, 수학을 위한 수학이 되버렸어요.

  

 누군가가 그랬죠. 12년 동안 학교에서 공부를 하면서 왜 공부해야 하는지, 공부해야하는 이유를 알려주는 사람이 없다고요. 왜 공부를 해야하는가? 왜 지식을 외어야 하는가? 우선 시험을 잘 보기 위해 공부를 해야죠.

 

 시험을 잘 보면? 칭찬 받아요. 다른 사람, 엄마, 선생님이 좋아하죠. 


 그렇다면 나에게도 도움이 되는가? 공부를 잘하면 좋은 학교, 좋은 대학, 좋은 직업을 가질 수 있겠죠. 그리고 앞으로 잘 살 수 있는 확률이 높아져요.


 그러나 이런 건 아주 큰 그림이고 삶은 일상의 조각들로 이루어진, 늘 필요와 욕구가 존재하죠. 이런 걸 충족하려면 기본적인 베이스, 상식이 있어야해요. 

 

 일예로 재미난 사극을 보는데, 주인공을 왜 역적이라고 하지? 역적의 뜻, 주인공의 시대나 배경에 대해 잘 알고 있다면 글에 더 몰입할 수 있겠죠. 그때마다 인터넷 검색할 수도 있지만 적어도 누구를 찾고 어느 시대를 찾아야하는지 기본은 알아야해요. 


 계단에서 발을 헛디뎌서 발목이 아픈데 어떻게 해야할까요. 발에는 뼈도 있고 인대도 있고 근육도 있는 걸 생물시간에 배워요. 정형외과에 가거나 한의원에 가서 침을 맞을 수 있는데, 이런 선택을 하는데도 수업 시간에 배운 지식이 활용되죠. 

 

 늘 엄마한테 물어볼 수는 없는 노릇이니까, 나중에 필요한 공부를 하기 위해 문화센터에 다니거나 인터넷으로 자료를 찾으려면 돈과 시간이 많이 들 수 있어요.

 


 인생에서 필요한 지식과 기술은 공교육 시간에 다 배운다고 해요. 다만 즐기면서 능동적으로 배우느냐 누가 시켜서 어쩔 수 없이 하기 싫은데 억지로 배우느냐의 차이가 있겠죠.



 4차 산업 혁명의 시대에는 모든것을 달달 외우는 게 아닌 기본적인 지식을 바탕으로 필요한 정보를 선별적으로 찾아서 논리적 사고를 통해 문제를 해결하게 될거에요. 


 

 여기서 코딩 교육과의 연관성이 나오는데, 이런 지식과 수학 논리를 가지고 문제를 해결하는 방법을 가시화한 것이 코딩 프로그램이에요. 앞으로 달달 외우는 교육으로 안 가듯, 코딩 교육도 달달 외우고, 답을 보고 그대로 따라하는 방향으로 가면 안되요. 

 

 물론 코딩은 C언어, 자바 언어와 같은 어려운 언어를 알아야 더 많은 것을 할 수 있겠지만 우선 초등코딩교육, 기초코딩교육은 쉬운 블럭코딩(엔트리, 스크래치)을 통해 문제를 해결하는 방법, 알고리즘을 연습하는 방향으로 가게 될거예요.


 예를 들어, 매일 지각하는 학생이 지각을 안하는 방법, 9시까지 등교할 수 있는 방법을 찾아라라는 문제가 있다면 로봇을 움직이듯이 코딩 프로그램으로 명령을 주면서 테스트를 하고 문제를 보완하는 거죠.

 아침 8시 기상 > 세수하고 > 밥 먹고  > 옷 입고 > 걸어가서 > 학교 도착


 이렇게 코딩하면 작동이 잘 안될 거예요. 왜냐면 8시에 어떻게 기상을 하는지가 안나와 있어요. 눈 뜨는 시간이 8시가 아닐 수도 있죠. 자기 전에 알람을 아침 8시에 맞춰서 알람이 울리면 기상. 이렇게 더 세분화하고 구체화하는 능력, 이런 걸 코딩을 하면서 배울 수 있죠. 


 자기 전에 알람을 아침 8시에 맞춰서 알람이 울리면 기상> 자리에서 일어나서 화장실로 걸어가기> 소매를 걷고 물을 틀고 손에 물을 뭍혀서 얼굴을 씻고 수건으로 얼굴을 닥기 > 화장실에서 나와서 주방으로 걸어가기 > 식탁에 앉아서 엄마가 차려준 아침을 숟가락으로 떠서 먹기 > 주방에서 나와서 방으로 걸어가기 > 옷장 문을 열고 윗옷, 바지, 양말을 꺼내서 입고 마지막으로 외투를 입고 어제 정리해 놓은 가방을 매고 엄마에게 인사하고 집에서 나오기 > 집 문을 닫고 엘리베이터 버튼을 누르고 엘리베이터가 오면 타서 버튼을 1층을 누르고 문이 열리면 내리기> 아파트에서 횡단보도까지 걸어가기 > 횡단보도 앞에서 초록불이면 건너고 빨간불이면 기다리기 > 건널목을 건너고 학교까지 걸어가기> 교실 안으로 들어가기

 


 이것 또한 정답은 아니죠. 코딩을 잘 하려면 점점 더 살을 붙혀서 더 구체적으로 또한 빨리 문제를 해결할 수 있는 방향으로 프로그래밍해야해요. 우리가 당연히 알고 있는 부분은 컴퓨터는 모르죠. 이런 부분을 하나하나 잘 코딩해야 문제를 해결할 수 있어요. 


 그리고 이렇게 잘하려면 또 공식처럼 외우는 게 아니라 생각을 잘 해야하죠. 코딩 공부 역시 생각하는 훈련, 단순 주입식 공부가 아니라, 많은 것을 보고 느끼고 창의적으로 다양하고 깊게 생각하는 능력이 바탕이 되어야 할 것 같네요.

728x90
반응형

댓글