제 수업은 네트워크 분야에 종사할 때 필요한 지식들을 가르칩니다. 반대로, 굳이 네트워크 관련 업체에 가지 않으면 불필요한 지식일 수도 있습니다. OSI 7 Layer 몰라도, Ethernet 통신 몰라도, call by value와 call by reference의 차이를 몰라도, pointer와 structure를 몰라도, assembly 몰라도 사회 생활 잘 할 수 있습니다. 모든 교육생들이 저의 수업을 100% 잘 따라 와야 한다고는 보지 않습니다. 개개인의 능력의 차이도 있고 관심 분야의 차이도 있으니까요.

외우는 것도 별로 없구요, 시험도 별로 없구요, 이론 공부도 별로 안합니다. 그냥 학생들에게 이런 저런 뻘짓 거리만 보여 주면서 “이거 직접 코딩으로 구현해 와라” 라는 것을 계속해서 반복할 뿐입니다.

가르치는 사람 입장에서는 시키기만 하기 때문에 그리 어렵지는 않을 거 같은데 그게 참 쉽지만은 않습니다. 학생들의 실력 차이가 많아서 수준을 어떻게 맞추어야 할지, 내 수업에 적응을 하지 못하는 학생(이런 수업 방식이 생소한 친구들도 많은 듯 하고)들은 어떻게 가이드해야 할지, …

그 중에 가장 힘든 것 중의 하나는 바로 요행(과제 베껴 내기)을 일삼는 친구들을 어떻게 대처해야 할까 하는 것입니다.

코드 과제가 나갑니다.

A라는 학생은 밤새어 가면서 스스로 노력하여 과제를 제출합니다. 코딩 경력 얼마 되지 친구가 만든 코드는 (당연하게도) 그리 깔끔할 수가 없습니다.

반면에 B라는 학생은 기존에 잘 만들어 져 있는 코드를 그대로(혹은 베껴 내는 것을 들키지 않기 위해 코드 일부를 수정) 제출합니다.

결과는 어떻게 될까요? 제출된 코드를 과제의 점수라는 숫자로 매겨야 하는 평가자의 입장에서는 B라는 학생의 코드에 더 높은 점수를 주게 됩니다.

스스로 고생해서 코드를 만들어 지식을 얻어 가는 것보다, 남들이 이미 만들어 놓은 코드를 조금만 다듬어서(베껴 낸 것을 감추기 위해서) 제출하는 경우를 수도 없이 봐 왔습니다. 그 결과 열심히 한 친구들 보다 쉬운 길을 선택한 친구들이 더 높은 점수를 받아 가는 경우가 간혹 있죠. 제가 학교를 다닐 때도 그러하였고, 지금도 그러하고, 앞으로도 계속해서 그럴 겁니다.

왜 이런 현상이 사라지지 않을까요? 이는 과정보다는 결론을 더 중요시하는 목표 지상 주의에 기인한 교육 시스템에 그 문제가 있다고 봅니다. 고치려고 해도 이러한 병폐는 하루 이틀 사이에 바뀔 수는 없겠죠.

‘학생들에게 어떻게 하면 제대로 된 교육을 할 수 있을까?’ 하는 의문은 가르치는 사람의 입장에서는 항상 고민이 될 수 밖에 없습니다. 저는 ‘지금 얼마나 잘 하느냐’ 하는 것보다 ‘얼마나 많은 것을 배워 갔느냐’에 대한 기준으로 평가를 하고 싶습니다. 하지만 저 또한 기존의 교육 시스템에 기인하여 여러분의 점수를 매길 수 밖에 없다는 것이 안타깝기만 합니다.

목표만을 중요시하는 기존의 관행이 철폐되기 위해서는 스스로의 양심에 기인하는 행동이 제대로 평가받을 수 있는 건전한 사회가 조성이 되어야 할 것입니다. 스펙에 따라, 성적에 따라 미래가 결정되는 현실 속에서 이런 말을 하는 것이 다소 비현실적일 수 있으나, 감독관이 없어도 부정 행위가 발생하지 않는 시험, 양심에 따라 과제 베껴 내기를 하지 않는 공정한 평가가 이루어 질 수 있는 그런 날이 왔으면 하는 바램입니다.

결과만 중요시한 A보다 양심에 따르는 F가 더 자랑스럽습니다

출처 : http://www.gilgil.net/?document_srl=1004158