컴공과목들


사실 따지고 보면 그렇게 어려운 과목들 없다


그냥 몰라서 어려운거지


공부해야될게 잡다하게 많아서 어려운것


물론 응용차원이나 대학원가서 전문과정 파면 그 하나하나의 난도 자체가 어려워지겟지만


학사수준의 과목들은 중딩 수학정도 제대로 안다면 


다 니가 직접 이론을 이해하고


그 이해한 이론가지고 구현을 할 수 있는정도의 난이도 들이다.





1. 예습은 필수


사실 어려운 내용은 아닌데


교수가 후딱 지나가면 멍때리는경우가 많은게 공대 수업이다


찬찬히 알고보면 쉬운 개념인데 놓치면 그 다음에도 아 시발 머야 하면서 좆같은 상황 펴쳐짐


이런걸 방지하기 위해 예습이 필수


존나게 열심히 할필요는 없다. 적당히 예습하면 된다.




2. 수업때는 존나 의문형식으로


아는 내용이지만 교수가 무엇을 강조하는지 파악하는 방식으로 수업을 듣자


중요한거같은데 이해 안되면 쉬는 시간가서 묻자


거부하는 교수 거의 없다.


눈도장도 찍어서 학점 좋게 나올수도 잇다(물론 조교가 체점하겟지만)




3. 복습은 실습위주로 하자


예를들어 자료구조시간에 b트리를 배웠다면


아 이런게 있구나 하고 끝이면 


일주일 지나면 까먹는다.


직접 구현해보자. 파이썬, 자바, C 등등 편한걸로 해보자


운영체제시간에 프로세스 스케줄링 종류에 대해서 배웠다면


또 아 이런것들 종류들 많네 하고 끝내지 말고


또 구현해보자 fcfs, 라운드로빈 부터 차례차례...


니가 운영체제 프로토타입을 설계한다는 생각으로 이것저것 실험도 해보자


오래 걸리지 않는다.


하지만 기억에 오래남고, 위대한 컴퓨터 과학자들의 발자취를 느끼게 되는 과정이다.




4. 추가적으로 저런것 하다보면


컴파일러 같은 컴공학사 최종 보스 과목 공부하다보면


아 나도 이거 만들 수 있을거같은데? 라는 생각이 들거다



와 대단하다. 진짜 내가 구현해 봐야지 이런 생각이 들게 되는거다.


물론 처음부터 완전한 컴파일러 뚝딱하기가 힘들겠지만


렉서같은것들 충분히 만들수 있겠구나 생각이 들거다.



이때가 진짜 컴퓨터공학이 뭔지 알게 되는 시기이다.


마치 두뇌에서만 이루어지는 과목같은 


언어론에서 정규식이니, 혹은 컴퓨터 관련 수학에서 오토마타, 람다대수 이런거나오면


위에서 처럼 능동적으로 안한 애들은 "뭐 어쩌라고 다 말장난 아니야?"


"맞는말 같은데 이걸 어떻게 써?"라고 할때


1~3대로 꾸준히 해온 너라면



와 시발 개쩐다. 라는 생각이들면서


실전보다 이론에 가까운 컴퓨터 공학의 순수함을 보면서도


창작(물론 이미 선대 과학자들이 만들어놓은걸 재창조)욕구가 들거다.



그냥 책만보고 강의만 수동적으로 든 애들과 현격한 차이를 벌리게 되는거다.



누가 컴공은 수동적으로 공부하면 아무것도 남는게 없다고 했는데


맞는 말이다.


눈으로 보고, 귀로 듣고 , 그림으로 그리고, 손으로 키보드 치고, 다시 결과를 눈으로 보며 체화해야된다.