공부를 못하는 사람은 공부를 왜 못할까? - 좌절하는 1학년 컴공맨들에게...
공부를 못하는 이유가 머리가 나빠서인 경우는 드물다.
일반적인 원인은 다음 중 하나거나 둘 다이다.
- 공부를 해야하는 이유를 모른다.
- 효율적으로 공부하는 방법을 모른다.
보통 1번이 선행되지 않은 상태에서 2번은 일반적으로 불가능하다.
하지만 공부해야하는 이유를 진심으로 깨달은 사람이
노오오력에도 불구하고 좌절하는 경우가 있다.
그것을 머리가 나빠서라고 착각하는 경우가 있는데 그런 경우는 드물다.
그런 사람은 지금까지 공부하던 방식을 버리고 새로운 방법을 시도해야 한다.
모든 분야에서 한가지 방식의 공부법이 통하지는 않는다.
예를 들어 전형적인 학교 시험 공부와 프로그램을 만들기 위한 공부는 그 양상이 다르다.
또한 목표도 다르다.
그래서 공부를 하는 방식도 달라야 한다.
비효율적인 공부는 쓰레기같은 시간낭비다.
대부분의 사람들에게 공부는 수단이지 목적이 아니다.
인생은 짧다.
초중고등학교에서는 노력의 가치보다는 효율의 가치를 가르쳐야 한다.
그에 앞서 공부를 해야하는 이유를 학생들로 하여금 찾게해야 한다.
지금까지의 쓰레기같은 천편일률적인 교육은 20세기 산업시대에는 어울릴지 모르나
21세기 정보화시대에는 전혀 어울리지 않는 교육이다.
개인 프로젝트 - 프로그래밍 학습/교육 방법론
개인적으로, 컴퓨터공학과에 입학한 학생들은 반드시 프로그래밍을 공부하는 방법을 배워야 한다고 생각한다.
프로그래밍 공부, 혹은 컴퓨터공학과의 수업을 따라가기 위한 공부는 그때까지 배워왔던 공부와는 전혀 다르다.
학교 내신 공부와 수능 공부와 프로그래밍 공부는 완전히 다르다!
이전까지가 시험을 잘 치기 위한 공부를 해 왔다면,
컴공 수업은 그런 방식으로는 따라갈 수 없다.
시험을 잘 칠 수는 있어도 빈 껍데기일 뿐이다.
컴공 수업을 잘 따라가려면, 혼자서 프로젝트를 해 봐야 한다.
혼자서 코딩을 하고 혼자 힘으로 소스코드를 짜서 프로그램을 완성해보아야 한다.
학교에서 배운 이론을 토대로 하는 프로그램을 자기 혼자 힘으로 짜 보아야 머리속에 남는다.
그래야 비싼 등록금 내고 대학교에 다닐 가치가 있다.
하지만 학교에서 배운 이론을 토대로 하는 프로그램을 혼자서 알아서 만드는 것이 쉬운 일은 아니다.
나같은 상변태 컴뜨어어어엌이라면 몰라도
대부분의 1학년 아해들은 따분한 프밍따위보다는 술쳐먹고 놀고 먹고 떡치는데 관심이 더 많다.
그러므로 프로그래밍 실습을 강제로 시켜야 한다.
교수는 프로그래밍 실습 과제물에 높은 배점을 줘야 한다.
최소한 50%는 줘야 한다. 50%는 과제물 점수, 50%는 시험 점수.
그리고 소스코드 복붙에 대해서 강력한 처벌을 해야 한다.
단 한 번의 cheating으로도 F를 받게 해야 한다.
친구 것을 베끼든 인터넷에서 베끼든 반드시 처벌해야 한다.
프로그램 표절을 검사하는 소프트웨어는 이미 존재하며,
이러한 표절 체킹은 CMU에서 실제로 이루어지고 있다.
이렇게 혼자서 코딩하는 것을 강요해야만 한다.
또한 반드시 전공필수과목에서 이런 일을 해야 한다.
이렇게 하면 적응한 학생들은 강해지고,
교수의 수업을 잘 따라갈 수 있을 것이다.
그러나 이런 방식에 적응하지 못한 학생들은 끔찍한 학점을 받으며 억지로 학교를 다니게 될 것이다.
혹은 전과를 하거나 자퇴할 것이다.
오히려 그게 낫다. 빠른 탈주는 불이익이 적다.
3학년이 되어서 깨닫고 빈껍데기인 상태로 졸업하는 것보다는
차라리 재수를 하거나 다른 일을 알아보는 것이 훨씬 낫다.
맺음말
대학은 컴공 1학년 학생들에게 프로그래밍을 공부하는 방법을 가르쳐야 한다.
그것은 이전까지 그들이 공부하던 방법과 전혀 다르기 때문이다.
대학은... 학교는 전공지식만을 주입하는 곳이 아니라고 생각한다.
대학은 세상에 널린 방대한 지식을 빠르고 효율적으로 습득하는 방법을 학생들에게 가르쳐주어야 한다.
혹은 학생 스스로라도 전공을 효율적으로 공부하는 방법을 깨닫게 해야 한다.