brunch

You can make anything
by writing

C.S.Lewis

by 하얀늑대 Apr 12. 2017

시험이 코앞이어도 기본부터 차근차근히 해야하는 이유

사실 이 제목으로 글을 쓰기 전에 "만일 아이들이 기본부터 차근차근히 밟아올라갈 수 없는 현상이 벌어지는 것이라면 시험이 나쁜거야" 라고 이야기 하고 싶었다. 추후에 이야기 하겠지만 시험이 바뀌면 아주 많은 것을 바꿀 수 있으니깐. 구지 법을 바꾸지 않고 제도를 바꾸지 않는다 하더라도.


아마도 교육감을 지향하는 정치인중에 좀 똘똘한 사람이 있다면 이 부분에 대해서 생각을 해 본다면 좋았을 것 같은데... 초중고 교과과정에서의 시험을 치루는 것에 대해 연구하는 기관을 지원하여서 가르치는 선생님의 재량껏 출제하는 시험과 국가에서 출제하는 시험이 조화롭게 서로 상승작용을 만들어 낼 수 있도록 하겠습니다... 라는 공약 정도면 아주 괜찮은 공약인데 말이다.


필자의 경우에 어려서 피아노를 배웠다. 다 그렇듯 바이엘 부터 시작했는데... 별로 적성에는 안 맞았던 것 같다. 일단 악보를 보고 악보에 충실하게 치는게 쉽지 않았는데... 그나마 그 때 제대로 악보를 보는 것을 배우지 못했던게 지금 많이 후회된다. 


지금은 피아노 치는 걸 좋아한다. 악보없이 코드 진행을 중심으로 그냥 느낌 대로 치는 연주를 즐긴다. 물론 그게 적성에 맞기도 하지만 실은 악보를 잘 못본다. 악보만 들이대면 느낌이고 생각이고 하나도 없어진다.... 그게 어려서 기본을 제대로 배우지 못한 것 때문이라 생각한다.


헌데 기 기본이 절대적으로 망가지게 된 계기가 있다. 바이엘을 치면서 교본집... 을 병행해서 치는데, 옆의 친구가 '지이그'라는 곡을 치는게 너무 멋있어 보였다. 그 노래가 꽃혔다고 하나? 해서 선생님에게 지금 하는 거 다 건너 뛰고 그거 치고 싶다... 라고 했는데 선생님이 들어주었다. 헌데 그게 내가 피아노를 더 이상 안치게 되는 결정적인 계기가 되었다. ㅎㅎ


내 기억으로는 한 20여 곡을 건너뛰어서 그 곡을 배웠는데... 일단 관심을 가지고 있던 곡이니까 열심히 해서 치기는 쳤다. 순 엉망 진창으로... 헌데 거기서 내 원래의 쳤어야 하는 곡으로 다시 돌아가야 했는데 '지이그' 다음의 곡을 치려고 했던게 패착이었다. 당연히 손가락은 안돌아가고 ... 너무 어려운데다가... 재미까지 없어져서 급격히 피아노에 대한 관심이 줄어들었다.


만일 그 시절에 코드로 피아노 치는 것을 누가 가르쳐 주었고, 그것이 나에게 매력적으로 다가 왔을때 "그래도 기본을 제대로 해야 이런것도 할 수 있는거야" 라고 기본의 중요성을 누군가 알려 주었다면... 지금의 나는 또 다른 모습이 되어 있을 것 같다.


헤비메틀 밴드 메가데스의 리더인 데이브 머스테인이 "당신을 바라보며 음악의 길을 가고있는 사람들에게 한 마디 조언을 해 달라" 라는 질문을 리포터로 부터 받고 3가지 아주 중요한 얘기를 했다


1. 돈 많은 여자친구를 사귀어라

2. 악보 보는 법을 배워라

3. 계약서 같은 거 쓸때는 반드시 변호사 대동해서 가라.


... 탑 클래스의 프로 뮤지션인데도 악보에 얼마나 시달렸으면 저런 얘기까지 했을까? 그만큼 기본은 중요한 것이다. 그리고 기본은 때를 놓치면 좀처럼 다시 배울 수 있는 기회를 얻지 못한다. 나중에 기본 부터 다시 하겠다는 얘기 꺼내고 그걸 할 수 있는 용기 내는 건 쉬운 일이 아니더라...


프로그래밍도 마찬가지다. 프로그래밍을 공부하는 요령은 언어를 배우은 요령과 수학을 배우는 요령의 혼합형 같다는 생각을 한다. 거기에 과학도 있고 심리학도 있고... 하여간 그렇다.


공부를 할 때는 순서가 있는 법이다. 하나를 제대로 배워야 그 다음으로 나아갈 수 있는 것들이 있고... 따로 따로 배워도 괜찮은 것들이 있다. 수학에서 이야기하자면 행렬과 함수는 따로 배워도 상관없는 개념이다. 서로 연관관계가 거의 없으니까... 그리고 수학과 영어도 따로 배워도 되는 것들이고... 


하지만 함수와 극한, 미분, 적분... 은 반드시 순서대로 배워야 하는 것들이 된다. 함수에 대한 기본개념 없이 극한을 배운다는 건 그냥 이해안하고 대충 외워서 어떻게든 해 보겠다는 것 밖엔 안된다. 물론 함수와 극한까지만 시험범위로 묶여 있었다면 함수 잘 모르고 극한은 외우고 족집게 가르침으로 넘겨서 어떻게든 시험은 치룰 수 있을거다.


헌데 족집게로 시험을 어떻게 넘긴 아이들이 "어휴 다행이다. 이번은 요령껏 넘겼지만 내가 제대로 함수를 모르고 있었으니 지금 여유있을때 다시 기본부터 제대로 공부해야지" 라고 생각하고 함수공부를 다시하는 경우 거의 보지 못했다. 족집게 교육으로 되었으면 그 다음날 통째로 다 까먹고 그냥 그 다음의 미분 적분으로 넘어가는데... 이게 적분 정도에 이르게 되면 이미 일은 커질대로 커져서 도저히 손을 쓸 수 없는 단계에 까지 이르게 된다.


이런 경험을 통해 가장 먼저 떨어져 나가는게 어설프게 공부 잘하는 애들이다. 사실 중학교 초반까지만 해도 공부 잘하던 애가 갑자기 중3/고1 시점에서 성적이 급격히 떨어지는 경우가 있는데, 그간 눈썰미와 요령으로 잘 버티다가 그게 쌓이고 쌓여서 어느 한 순간에 무너지는 꼴이다. 한마디로 미분 배울때 성적이 완전히 무너졌는데 실은 그건 미분을 공부해야 해결이 나지 않는다. 함수에서 부터 이미 무너져 있었으니까...


유능한 선생은 이걸 파악해야 한다. 아이들 마다 조금씩 무너져 있는 시점이 틀린데 이걸 파악해서 자신이 더 크게 무너지기 전에 기초공사 부분을 계속해서 수정해 나가면서 수업을 이끌어 가야하는데... 사실 이런 쪽에 관심있는 선생님도 없고, 학원도 없다. 그저 빨리 중3때 고2 과정까지 끝내야 한다는 생각을 가지고 접근하는 곳은 많다.


헌데 그렇게 만든게 사실 "시험"때문이다. 시험성적을 어떻게든 잘 받기 위해서는 한번 미리 파악해 놓고 있다가 정식 진도 나갈때 다시 한번 보는 애들에게 유리하게 시험문제를 내고 있는 현실을 외면할 수 없다. 어설프게 알고 있다가 족집게로 한번 짚어 주면 사실 깊이있는 이해를 요구하지 않는 시험문제는 거의 다 맞을 수 있다.


해서 필자의 교실에서는 가능하면 "여유"시간을 확보하려고 애쓰는 편인데, 기본공사가 부실해지는 경우에 그것을 추스를 수 있는 시간 여유가 반드시 필요하니까 말이다.


예를 들어서 java 에서 LinkedList 같은 컬렉션을 가르칠때... 그것만 가르칠 수도 있다. add 함수와 Iterator 인터페이스 정도만 가르쳐도 당장 써 먹을 수 있다. jdk 1.5 이후에는 Iterator 도 필요없고 향상된 for 문장만 배워도 된다. 하지만 그 내면의 깊이를 이해하고 사용하는게 필자는 맞다고 본다. 그러려면 시간과 노력을 들여서 깊이 있는 이해를 할 수 있는 수업이 필요하다고 생각한다. 


필자는 일단 java 언어에서의 객체지향 기술의 기초개념들 ( 클래스 인스턴스 멤버변수 로컬변수 참조형변수 자료형변수 생성자 가베지콜렉션 .. ) 부터 제대로 점검해 들어간다. 이 부분이 제대로 이해가 되어 있으면 간단하게 LinkedList 클래스를 직접 만들어 볼 수 있다.


이 과정이 굉장히 중요한것이... 기본적인 개념을 그냥 배울때는 쉽다. 그냥 개념도 간단하고 해서 쉽게 쉽게 넘어갈 수 있지만 그 기본적인 개념을 활용하는 단계에 들어서게 되면 "아 내가 안다고 생각했던 것이 아는게 아니었구나" 라는 필이 오게 된다.


간단하게 예를 들어 보면...


Node head = new Node(0);

Node tail = head;


tail.next = new Node(10);

tail = tail.next;


tail.next = new Node(20);

tail = tail.next;


이 정도 코드만 들이대도 '어... 어... 저게 뭐하는 거지?' 하고 기본이 무너지는 소리가 여기저기에서 들린다. 그게 제대로 공부하지 않고 어설프게 알다가 와르르 그 어설펐던 부분에서 금이가고 무너지는 소리가 된다.


사실 위의 개념은 단순한 참조형변수 그리고 생성자함수 거기에 public 한 멤버변수 정도의 개념만 이용해서 작성된 코드인데, 필자의 경험으로는 기본을 공부할 때는 자기 이거 안다고 생각했던 사람들의 70% 가까이가 무너져 버리더라. 


사실 유능한 선생님은 그걸 읽어낼 수 있는 선생님이다. 그리고 학생들이 가지고 있는 어설픈 자신감? 을 무너트리고 그 위에서 제대로 된 기본을 만들어 줄 수 있는 선생님이 필요하고, 그런 선생님의 역할을 수행 할 수 있는 커리큘럼과 진도 나가는 속도가 필요하다고 생각한다.


이런 과정을 거쳐가면서 ... 차근히 쌓고 무너지고 쌓고 무너지고... 하는 작은 경험들이 쌓이면서 진짜 제대로 된 기초가 만들어진다. 이건 시간도 좀 걸리기도 하고, 당장 'LinkedList 이용하는 게 이번 시험에서 많이 나온다' 라고 이야기를 하면 당장 그것만 공부하려고 드는 아이들이 많이 나올거다.


그리고 LinkedList 만 요령껏 대충 공부해서 써먹으면 2시간이면 시험준비가 끝 나도록 가르쳐 줄 수도 있다. 하지만 위에서 적은대로 기본에서 부터 제대로 LinkedList 를 이해할 수 있도록 가르치려면 이건 2-3일은 족히 걸리는 개념이 된다. 적어도 한 16시간 정도는 가르쳐야 제대로 된 기본을 잡고 허물고 만들고 허물어 가면서 LinkedList 를 가르칠 수 있다.


헌데 그렇게 16시간 또는 그 이상을 들여서 LinkedList 를 배운 실력과 2시간 눈썰미로 시험성적을 내기 위해서 LinkedList 를 공부한 실력은 실제 개발 단계에서는 하늘과 땅 수준의 차이를 만들어 낸다...  16시간 들여서 깨달음을 얻은 학생들은 자신있게 자신이 왜 지금 시점에서는 LinkedList 를 써야 하는지에 대한 확신을 가지고 들어서는데 비해 2시간 요령껏 공부한 학생들은 이미 2시간 공부한 요령은 까먹은지 오래 되었으니... 왜 이렇게 해야 하는 지 방향도 모르게 헤메게 되더란 얘기다.


그래서 '이번 시험에 이게 나오니까 이거만 요령껏...' 이 안통하는 시험문제를 개발하고 운영하는 건 중요하다. 그런 시험만 만들어 낼 수 있어도 우리나라 교육은 바뀐다. 그리고 기본을 복습하기 위한 적절한 시간배분도 중요하다. 시간이 있어야 복습이라도 하지...









작가의 이전글 질문 해 올때 까지 기다리는 것의 가치
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari