일단 난 좆밥이고 학부생이 자기 경험 씨부리는 거니 이 글에 태클 얼마든지 걸어도 괜찮음 ㅇㅇ


 대학 4학년 거의 다 마쳐가는 지금 이 시점에서 보면

학점 그거 왜 좋게 할려고 밤새면서 지랄짓했는지 이해가 안감

이걸 설명하려면 학점과 강좌 그리고 프로젝트의 상관관계에 대한 설명이 안들어 갈 수가 없는데


 일단 학점이 좋게 나오려면 선배들 수소문해서 '학점 잘 주는 과목', '쉬운 과목' 을 선택해서 수강해야 함.

그런데 이 '학점 잘 주는 과목' 이라는 게 

학문적인 관점에서 보나

실용적인 관점에서 보나

나중에 실제 프로그램을 짜거나 프로젝트를 진행해 보면 하나도 도움이 안되는 과목들이 많다.


 그래서 학점과 실용성 사이에는 역의 상관관계가 존재할 수 밖에 없는데

실용성을 살리는 과목들이나 미래에 무언가를 하면서 도움이 되는 과목들은 대부분 '어렵다'.

과제 하나를 해도 그냥 설렁설렁 되는 것들이 없고 기본적으로 완성해서 제출하려면 밤을 새어야 되는 과목들이 대부분이지.


 내가 배운 과목들에서 그 예를 찾자면


* 시스템 프로그래밍 : SIC/XE 어셈블리어를 기계어로 파싱해서 파일에 저장한 후 그 기계어를 읽어들여서 시뮬레이트하는

 MFC GUI 어플리케이션을 짜는게 과제였다. 개별 명령어를 읽어들여서 실행할 때마다 어떤 레지스터에 어떤 값이 들어가는지

몇번 주소로 점프하는지 등등을 다 GUI 상에서 보여주어야 했다. 이거 짜느라고 1 주일간 잠을 못잤다. 이 과제도 있지만 다른 

과제도 많았기 때문. 당시엔 피똥쌌지만 지금와서 보면 내가 대학교 와서 들었던 강의 중에 가장 도움이 된 강의 중 세 손가락 

안에 들어가는 강의였다.


* 리눅스 시스템 프로그래밍 : 파일 시스템에서 변화를 감지해서 자료구조상에 그 변화를 기록하는 데몬 프로그램을 작성하는

과제였다. 이거 짤려면 기본적으로 리눅스 시스템 프로그래밍을 할 줄 알아야 했는데 이거 하면서 리눅스에 대한 이해도가 

상대적으로 높아졌음.


* 컴파일러 : FLEX, BISON 을 써서 C 프로그램 소스코드를 어셈블리어로 바꾼 다음 실행하는 인터프리터를 작성하는 과제였음.

기본적으로 교수님이 파싱하는데 필요한 명세서를 제공해 주셔서 한숨 돌렸지만 그 외에 어셈블리어로 작성하는 거나 인터프리터

구현은 개인 몫이었음. 이걸 부분부분 나누어서 과제를 3~4번 나눠 주셔서 한 학기동안 한 과제였지만 이거 하면서 진짜 컴퓨터 시스템에

대해 잘 이해하게 됐음


 문제는 위 3과목의 학점이 다 B+, B0, B+ 이었다는 거임. 과제도 난이도가 상당하고 시험 문제도 어려우니 점수 받기가 힘든게 당연지사였고

수강하는 학생들 수준도 상당해서 경쟁하기가 엄청 빡셌음. 그리고 컴학부 한 학년 학생 수가 200명 정도 되는데 이 과목 수강하는 학생 수

평균이 15~20명? 정도밖에 안됐으니 나머지 180 명은 과목에 대해 익히 자자한 명성(?)을 듣고 학점 안나올까봐 기피한 학생들이었지.


 그렇다고 해서 내가 지금 평균 3.7 정도밖에 안되는 내 학점보고 4점 못넘었으니 난 나가죽어야 겠다 라는 생각을 하는가하면 그런것도 아니거든.

학부생이니 근자감 버프를 어느정도 받는다순 치더라도 난 내가 지금까지 그런 과목들을 듣고 평균 이상의 성적을 냈다는 거에 엄청 만족스러워.


뭐 성적 좋은 놈들이야 당연히 금융권 가서 코딩과는 관계없는 업무들 보고 있겠지. 한국에서 서로 비슷한 시기에 취업했다고 치면 연봉도 별 차이도

안날 거라고 봐. 근데 난 걔들이 상사한테 실무가서 치이고 욕들어먹는 기간 동안 일 잘한다는 소리는 못들어도 쿠사리는 좀 적게 들어먹을 거 생각하면

그걸로 만족한다. 내가 주어진 일 잘 하고 있으면 상사랑 관계도 틀어질 일 없을 테고 그럼 얼굴 붉힐 일 없이 회사생활할 수 있지 않으려나?