BCIT CST를 마치며... (2023 Term3 리뷰 편)
BCIT를 마치며 시리즈 세번째 포스팅이다. 구글 블로그의 UI가 별로 좋지 않기 때문에 혹시 term1, term2 포스팅을 보고 싶다면 아래의 링크를 참고하면 되겠다.
Term3 종합 리뷰
드디어 지옥같은 BCIT CST 중에서도 빡센 term으로 유명한 term3이다. 참고로 나는 그 어떤 과목도 팟타임으로 방학때 듣지 않았다. 인터내셔널은 full time 학비도 비싸지만 part time 과목 학비도 비싸기 때문에 굳이 방학때 돈을 더 태워서 듣고싶지 않기도 했고, 그거 미리 들어놓는다고 해서 full time 학비를 빼주지도 않기 때문이다. 그래서 그저 겁없이 쌩마린으로 덤벼왔었다. ㅋㅋㅋ Term3의 난이도를 다른 term들과 비교하자면, Term1 << Term2 <<<<< Term3 이정도 되지 싶다. 그만큼 모든 과목들이 전부 챌린저블했고, 특히나 Term3부터 옵션에 들어가기 때문에 그 옵션에 따라서 생존 난이도가 완전히 갈린다. 지금와서 생각을 해도 내가 어떻게 이 지옥같은 term3를 잘 버티고 무사히 pass를 했는지 감탄이 나올 정도이다. 다만 빡센만큼 주옥같은 과목들이 많아서 배운것도 많은 학기이다.
총 32학점이며, term3 부터는 내가 선택한 옵션에 따라 한과목은 옵션 과목을 듣게된다. 옵션에 대한 썰은 살짝 뒤에 풀어보겠다.
학교측의 세심한 배려(!)로 비어있는 시간대에는 랩, 어싸, 퀴즈공부 등으로 꽉꽉 채워도 모자랄 정도이다. 그리고 정말이지 8:30 수업이 몇개가 있느냐가 또 하나의 학교생활의 질을 결정하는데, 무려 2개나 8:30이었다. ㅋㅋㅋ 게다가 금요일은 아주 사람을 잡는 날이었다 ㅋㅋㅋㅋ
COMP 3522 OOP2
BCIT CST 버나비 캠퍼스에 들어온 이들에게 하늘의 축복 중 하나가 바로 제프의 OOP2라고 말할 정도로 수업의 퀄리티가 압살이다. winter intake는 파이썬을 배우고, fall intake는 C++을 배운다. 나는 다행히도 내가 배우고 싶었던 파이썬을 배웠다. 제프는 CST에서 보기 드물게 정말 최고로 organized 된 사람이다. 그리고 강의를 잘하는 것은 물론이고 너무너무너무 착하고 친절하다. 오죽하면 rate my professor에서 5점 만점 중 5점이며, 욕이 하나도 없을 정도로.. ㅋㅋ 애들이 질문하면 자기 시간을 내서 끝까지 챙겨준다. 제프가 BCIT CST 출신이라서 애들의 마음을 잘 이해해준다. 하지만, 사람이 좋은 것과는 별개로 수업은 정말 빡세다. 매주 수업시간 중간에 퀴즈가 있고, 랩도 정말 한땀한땀 빡세다. 게다가 팀 어싸도 3개가 있기때문에 정말 정신없이 구르다보면 어느새 학기 마지막이 되어있는 과목이기도 하다. 모든 강의를 동영상으로 제공하고 있으며, 진짜 어디에 내놔도 좋은 정도로 퀄리티가 쩐다.
다만 단점은 랩이 빡센데 비해 비중이 그리 크지 않다는 점이다. 그래서 후반부에 가면 다른 과목들에 치여서 동기부여가 잘 안되기도 했다. 하지만, 제프랑 친해지고 싶었기에 모든 랩과 어싸를 혼신의 힘을 다해서 진행했고, 랩시간에도 매번 제프한테 Design Diagram을 리뷰받으면서 최대한 뽕을 뽑으려 했다. 근데 사실 랩을 랩시간에 marking 받아도 되긴한데, 그렇게 하면 제프가 코드를 한땀한땀 완전 해체해서 보기 때문에 full mark를 받기 힘들다. 그래서 다이어그램만 검사받고, github으로 제출하는 전략을 사용하기도 했다. 사실, 한땀한땀 해체를 당하는게 실력적으로는 더 크게 성장하기에 좋긴하다. 아무튼 내가 버나비 캠퍼스에서 제프의 수업을 들은 것 하나만으로도 충분히 그 값어치를 한다고 생각한다.
COMP 3717 Android
Android 앱을 코틀린을 가지고 만드는 수업이다. 강사는 찰스인데 전형적인 백인이며 잘 생겼으며, 젠틀하다. 다만 수업이 너무 빠른데다가, 안 배운데서 랩을 내기 때문에 정말 매번 랩을 하면서 욕한바가지 쏟아부었던 과목이다. 게다가 코틀린이 자바와 비슷하다고는 하지만, 내가 보기엔 아예 다른 언어라 생각이 들 정도로 괴리감이 크다. 웃긴건 코틀린을 처음 사용함에도 불구하고 코틀린에 대한 그 어떠한 이론 설명이 없다. 그저 "이 메서드를 이렇게 사용하면 저렇게 되고, 여기서는 저런 어노테이션을 사용해야한다." 이 따위의 것들만 겉핥기로 훝고 지나가기 때문에 남는게 별로 없던 수업이기도 했다. 거기에 더해서 안드로이드 스튜디오에서 컴파일을 하고 돌리는 과정에서 무슨놈의 워닝과 에러메시지가 그렇게 많이 나는지.. 그것도 뭐가 어디서 문제인지도 알아먹을 수가 없을 정도로 나온다. 그리고 랩이 초반엔 할만하다가 시간이 갈수록 점점 빡세지고, 시간 낭비도 너무 커서 나는 중반부터는 아예 랩을 던져버렸다. 운이 정말 좋았던 점은 원래 이 과목은 midterm을 live coding으로 보게 되어있었는데, 강의실 여건상 충전이 어려운 탓에 찰스가 그냥 종이로 바꿔버린 것이다. 그리고 종이 시험의 편리함과 매력에 푹 빠진 우리 촬스~ 그 이후로 계속 종이시험으로 바꾸게 된 것이다. ㅋㅋㅋㅋ
사실, live coding으로 시험을 보면, 그날의 컨디션에 따라서 편차가 너무 심해지고, 또 한번 막혀서 멘붕이 오면 손떨려서 아무것도 안된다는 사실을 다들 매우 잘 알고있기에 종이 시험으로 바꾼다는 어나운스를 듣자마자 애들이 다 환호성을 내질렀다는 건 안비밀!ㅋㅋ
COMP 3721 Data Communication
우리때부터 초짜 신입 강사가 들어왔다. 매번 느끼는 것이지만, 초짜 신입 강사가 오면 그 과목은 모 아니면 도인데 도일 가능성이 매우 높다. 왜냐하면 초짜들은 강의를 제대로 해본 경험이 없고, BCIT CST가 어떤 분위기인지도 모르기 때문에 그저 FM대로 졸라 빡세게 갈 가능성이 농후하기 때문이다. 강사는 나비드이며, 역시 내 불안한 예감은 적중했다. 일단 강의 자체를 너무 못하는 것도 있고, 유도리가 전혀 없어서 모든걸 다 FM대로 할려고 한다. 채점도 단 한치의 관대함이 없이 빡세게 하며, 시험도 전부 서술형이다. ㅋㅋㅋㅋ 데이터컴 자체가 굉장히 지루하고 재미없고, 또 어려운 과목인데 왜 이런 초짜를 거기에 넣어서 애들의 의욕을 저하시키는 지 모르겠다. 현재 나비드는 계약직인데, 이대로 가면 정규직 전환이 안되서 1년 뒤에는 빠이빠이하게 될 것 같다. 나는 다행히도 midterm때 pass할 점수를 만들어놔서 final 때는 공부를 거의 안하고 그냥 던졌다.
COMP 3760 Algorithm
강사는 톰이며 배우는게 정말 많은 과목이다. 강의도 잘하고 사람 자체가 유머러스해서 가끔 빵터질 때가 있다. 왜 그리 숫자 37에 집착을 하는지는 모르겠지만.. ㅋㅋ 그리고 정말 존경스러운 점은 랩을 매번 새롭게 자기가 직접 만든다는 점이다. 그래서 랩을 만들고 자기가 직접 코딩을 해서 검증을 한 이후에 낸다. 그만큼 자기 과목에 신경을 많이 쓰고 있다는 반증이 되겠다. 랩은 Java로 코딩해서 제출을 하는데 사실 Java 자체의 지식보다는 알고리즘을 어떻게 효율적으로 코딩을 해내느냐에 달려있다. 랩과 수업이 재미있기 때문에 점수와는 별개로 즐기면서 할 수 있는 과목이기도 하다. 그리고 취업을 위한 가장 실용적이고도 현실적인 과목이기 때문에 열심히 공부해야만 하는 동기부여도 뿜뿜인 과목이기도 하다.
MATH 3042 Applied Probability and Statistics
한마디로 확률과 통계다. 내가 수학은 좀 하는데, 그래도 가장 취약한 부분이 바로 확통이다. 하지만, 내용 자체는 그렇게 어렵지 않으니 수업만 잘 따라가면 무난하다고 생각한다. 다만 강사인 브렌다의 속사포 랩을 제대로 따라갈 수 있다면 말이다. 그나마 다행인 것은 이쯤되니 내가 수업의 70% 이상은 캐치하게 되었다는 점이다. 아마 1학기때 브렌다를 만났으면 진짜 좌절했을 것 같다.ㅋㅋㅋㅋ 그리고 수학 계열 강사들이 전부 예민한데, 특히나 브렌다는 자기가 수업할 때 앞으로 지나가거나, 누가 떠드는 등 자기 수업에 방해가 되는 것을 극히 싫어한다. 그래서 그런 애들이 있으면 대놓고 "너 여기 앞으로 지나가지 마", "너네 거기 떠들려면 밖으로 나가"라고 한다. 그래서 애들도 무서워서 수업시간에 늦게오면 주춤하기도 한다.
랩시간에는 R 이라는 통계 전용 스크립트 언어를 사용한다. 이것도 굉장히 흥미로운 부분이고, 한번쯤은 경험을 해보는 것도 좋다고 생각해서 만족스럽다. 그리고 시험은 이론과 R을 사용하는 두개의 파트로 나뉜다. 시험도 오픈북이긴한데 사실 시험시간에 그걸 한번도 뒤적여본 적이 없다는 건 함정.. ㅋㅋㅋ
COMP 3958 Functional Programming
알버트 행님의 프로그래밍 패러다임 옵션 첫 과목이다. 우리 패러다임 옵션에는 처음에 12명이 들어왔다가 알버트 행님의 핑거스냅에 의해 6명만이 살아남아서 term4로 갔다는 전설이 있다. ㅋㅋㅋ 그만큼 진짜 빡세며, 한마디로 피똥싸는 과목이며 BCIT CST 과목 중에 난이도 최상급 대마왕이라고 생각하면 된다.
패러다임 옵션에 들어오는 사람들은 두 부류로 나뉜다. 자기가 이 옵션에 뜻이 있어서 선택해서 오는 무리와 성적이 안좋아서 다른 옵션에서 다 까이고 여기로 흘러들어온 케이스이다. 나는 패러다임이 좋아서 선택한 케이스이며, 내가 옵션 선택을 할때 난 옵션 선호도 1번부터 6번까지 전부 패러다임을 써버려서 내 강력한 의지를 표명했었다. 내가 생각해도 미친넘이지 뭐.. ㅋㅋㅋ 아무튼 결론적으로 성적이 안되서 흘러들어온 애들은 전부 fail을 먹었다. 그리고 이 과목이 정말 극악의 난이도인게.. 아래를 보면 알 수 있다.
mid term이 없는 대신 위의 4가지에 대해 전부 50%를 넘어야 한다는 정말 빡센 조건이다. 그래서 실력이 부족한 애들은 저 고지를 못넘기고 핑거스냅을 당하는 것이기도 하다. 참고로 옵션의 경우 한번 fail을 먹으면 해당 옵션에 다시 들어가지 못하고 다른 옵션으로 흘러가야 한다. 게다가 term4에서 fail을 먹으면 옵션을 처음부터 다시 들어야 하기 때문에 이렇게 되면 진짜 학교생활이 꼬이게 되는 것이다. 그러니 옵션을 정말 잘 선택해야 한다. 프로그램 헤드인 라훌이 옵션 별거 아니라고 하는데, 그건 현실을 전혀 모르고 하는 소리이고, 라훌만 믿고 옵션 대충 선택하면 정말 두고두고 후회를 할 것임에 500원 건다.
다시 패러다임 옵션 이야기로 돌아와보면, 이 과목에서는 OCaml이라는 괴랄한 언어를 배운다. 진짜 처음 접했을 때는 멘붕이 와서 몇 주를 고생했다. 이건 직접 맛을 보지않으면 못느낄 정도로 매운맛이기도 한데, 오죽하면 내가 OCaml 관련 원서를 찾아서 그것을 처음부터 정독하면서 공부를 할 정도였으니 말이다. lab과 assignment도 어렵지만, 특히나 가장 긴장이 되었던 것은 바로 final exam이었다. 나머지 3개를 pass해도 final exam에서 망하면 fail이기 때문이다. 그리고 알버트 행님은 시험이 무조건 손코딩이다. 그래서 어떠한 요행도 통하지 않는다. 그래서 시험때 진짜 연습장만 100장은 쓴거 같다. 아마 다시 돌아가라고 한다면 패러다임으로 가지는 않을것 같다. 난 term4 때 내가 배우고 싶었던 Go, Rust가 있길래 선택한 건데, 물론 겉으론 표현 안했지만 정말 후회에 후회를 거듭했던 학기였다. 대신 이렇게 모든 것이 지난 지금에 와서는 패러다임 옵션에서 살아남았다는 사실 하나만으로도 그 어떤 어려움도 다 극복할 수 있겠다는 자신감 만큼은 만땅으로 채워져 있다고 할 수 있다. 실제로 옵션 토크에서도 알버트 행님이 그랬다고 한다. "이 옵션을 전부 패스하면 너는 어떠한 챌리져블한 것도 다 해낼 수 있는 자신감이 생길 것이다." ㅋㅋㅋㅋㅋㅋ
이상으로 Term3 리뷰를 마친다. 휴.. 리뷰를 작성하면서 진짜 내가 term3를 어떻게 마쳤는지 하는 생각이 들 정도로 힘들었던 기억이 난다.
댓글 없음:
댓글 쓰기