새로운 기술을 습득하는 방법

대학교 2학년 때 처음 C언어를 접하였을 때, 너무도 생소한 용어와 개념으로 인해 C언어에 전혀 흥미를 갖지 못했습니다.
물론 C언어 과목의 학점도 높지 않았습니다.

3학년이 되어 지도교수님의 연구실에 들어가면서 C언어에 서서히 흥미를 갖게 되었고,
또 나중에 게임을 만들어보고 싶다는 생각에 마음을 먹고 공부를 시작은 하였지만,
진도는 한없이 느리기만 했고, 도중에 포기도 몇 번을 하였습니다.
그러했기에 시간 낭비도 많았었습니다.

이러한 제가 늦게나마 깨달은 새로운 기술을 습득하는 방법을 소개 하려고 합니다.
이 글은 지극히 개인적인 글이면 이 방법이 항상 옳지는 않다는 것을 알려둡니다.
단지 저와 비슷한 능력과 성격을 가진 분들이 프로그램 공부를 하는데 조금이나마 도움이 되었으면 합니다.

1. 빠른 시간 안에 전체 내용을 훑어보자.
영어를 공부하든 C언어를 공부하든 보통 처음 1주일은 열심히 공부합니다.
하지만 2주일째 접어들면 점점 페이스가 떨어지고, 3주째 접어들면 책을 쳐다보지도 않게 됩니다. (제 경우)
첫 단계에서 중요한 점은 가능한 빠른 시간 안에 전체 내용을 대강이라도 훑어 보는 것입니다.
이해되지 않거나 어렵다고 느껴지는 항목은 과감히 버리세요. 이해 하기 쉬운 내용만 골라서 공부하세요.
"도대체 이게 무슨 내용이야?"라고 생각하는 부분은 모두 넘겨버리세요.

2. 습득한 기술을 사용해보자.
1번 내용에 성공을 했다면 자신이 이해한 부분만으로 간단한 프로그램을 작성해 보세요.
책에 있는 내용도 좋고, 다른 곳의 소스를 보고 따라 해보는 것도 좋습니다.
이렇게 실습을 하다 보면, 자신이 모르는 부분이 생길 것입니다.
이 부분이 중요합니다. 모르는 부분은 반드시 체크해두세요.  

3. 자신의 모자란 점을 보강하자.
이제 모르는 부분을 공부해볼 차례입니다. 2번 단계에서 체크해둔 부분을 공부하면 되는 것입니다.
이 단계에서는 여러 권의 책이 필요할 수도 있습니다.
책에 따라 중요하게 다룬 부분이  틀리니 가능하면 여러 권의 책을 살펴 보세요.

4. 본격적으로 공부를 해보자.
모자란 부분을 공부하면서 여러 권의 책을 보았다면 스스로 어떤 책이 자신에게 맞는 좋은 책인지 느낄 수 있을 것입니다.
이제 그 책을 본격적으로 공부해보세요.
이해하고 있는 부분은 반복학습으로 더 잘할게 되고, 이해하지 못하고 있는 부분은 새롭게 알게 될 것입니다.
하지만 아직도 이해가 되지 않는 부분은 체크하고 넘어가세요.
다음에 살펴볼 때는 이해가 될 것입니다.

저 같은 경우는 포인터를 겨우 이해하는데 3년 이상 걸렸습니다.
아직 자유자제로 다루지도 못합니다.
아직 수련이 더 필요한 것이죠.

p.s. C++ 기초를 정리하다가 문득 생각나서 적어봤습니다.