[POCU 아카데미] COMP3200 C++ 언매니지드 프로그래밍 풀코스 수강 후기
2020년 9월 학기 POCU Academy의 COMP3200 C++ 언매니지드 프로그래밍 과목 풀코스를 수료하고 남기는 후기입니다. 자세한 풀코스 진행에 대해서는 첫 후기에 작성한바 있고 POCU Academy 안내 페이지나 다른 분들의 후기에서 더 자세히 나와 있으니 이번 후기는 느낀 점만 간단하게 작성해보려 합니다.
올해 1월 COMP2200을 시작으로 COMP3200 까지 3개 과목을 연속으로 수강했네요. 여러모로 배우고 성장한 것 같아 참 뿌듯합니다 :)
사실 이번 학기는 조금 풀어진 건지 소프트웨어 개발 쪽으로 진로를 돌렸던 1월과는 다르게 설렁설렁 공부한 면이 있었는데요.(어디갔냐 내 초심 - _ -) 그래서 그런지 더 열심히 공부하지 못했던 게 아쉬운 부분인 것 같습니다. 여유 있을 때 열심히 안 하고 놀다 보니 어느새 학교 과제가 늘어나고 그 영향으로 COMP3200 수업과 과제를 급하게 끝내야만 했거든요.
C++을 배우면서 느낀점
한번은 공부 해보고 싶었던 C++을 이번 기회에 제대로 배워볼 수 있었습니다. 다른 주류 개체지향 프로그래밍 언어와 비슷하면서도 다르게 개체를 만들고 관리해야 했는데 이 중 Stack 메모리에 개체를 만들 수 있던 점이 가장 신기하더군요. 아무래도 사용해본 언어 중에서 Reference 타입이 아닌 변수로 개체를 다룰 수 있는 언어가 없었기 때문이겠죠. 이런 특성은 직접 개체 메모리를 할당하고 해제해야하는 C++의 특성과 맞물려 C++ 프로그래머가 항상 개체의 복사 여부와 메모리 상태를 고민하도록 하는데 수업과 과제를 통해 이러한 고뇌를 직접 체험 해볼 수도 있었습니다. 또한 이를 통해 다른 언어와 달리 어떤 이득을 취할 수 있는지도 보았고요. 참으로 특이한 언어를 공부했구나 하는 생각이 듭니다.
강의만의 특징 / 풀코스 난이도
우선은 POCU에서 만든 강의인 만큼 C++이란 언어를 제대로 가르쳐준다는 느낌을 받았습니다. 기본적인 동작과 문법을 넘어 컴파일러나 코드의 내부 동작까지 깊게 이해할 수 있도록 자세히 설명해주시는데 그렇다고 설명이 어렵다는 느낌은 못받은 것 같습니다. 약간 헷갈리더라도 집중하고 다시 보면 이해가 되더라고요.
커리큘럼은 초창기의 Core C++을 시작으로 템플릿 프로그래밍과 STL이 포함되는 Modern C++을 넘어 최신 C++ 문법과 동향까지 전체적으로 다룹니다. 강의를 들으면서 C++의 역사와 그 변화하는 모습을 살펴볼 수 있어 좋았던 것 같습니다. 추가된 많은 기능들 중 자주 사용할 수 있는 기능과 그렇지 못한 기능들을 구분해서 설명해주시는데 이런점이 오랜기간 실무를 뛰신 강사님의 내공이 드러나는 부분이 아닌가 싶습니다. COMP3200 뿐만 아니라 다른 강좌에서도 강의중 특정한 기능에 대한 베스트 프렉티스라는 프로그래밍 가이드라인을 제안하시는데 항상 충분한 근거를 설명하시기에 대부분의 경우 베스트 프렉티스를 따라가게 되는 것 같습니다.
강의를 수강하기 위해서는 C언어를 충분히 이해하셔야 하고 개체지향 프로그래밍에 대한 이해가 조금 필요합니다. 선수과목을 확실히 명시한 만큼 기초적인 내용은 과감히 생략하시는 점이 POCU 강의의 장점이지만 그만큼 기초가 탄탄하지 못하다면 수업을 따라가기 힘들 수도 있습니다. 개체지향을 잘 모르더라도 C에 대해서 자세히 배우는 COMP2200만 수강하셨어도 어느정도 들을만 할거라 생각합니다.
살짝 아쉬웠던 점은 선수과목인 COMP2200과 COMP2500을 둘 다 수료한 입장에서 강의 난이도나 과제가 쉬웠다는 것. 들었던 분들이 어렵다 어렵다 했는데 다른 과목들이 더 어려웠던 건지 듣던 것에 비해 쉽다는 느낌을 많이 받았습니다. 아니면 이미 2학기를 거치면서 어려운 포큐 과정에 익숙해진 걸지도 모르겠네요 ㅋㅋ
아무튼 위 두 과목을 모두 수료하신 분들 이라면 어렵지 않게 수료하시리라 생각됩니다. 제가 체감한 난이도는 대략 [ COMP3200 < COMP2200 < COMP2500 ] 순일 것 같고, COMP3200은 선수지식이 부족하면 난이도가 많이 어려워질 수 있겠네요. (이전 후기에선 COMP2200이 어렵다 했으나 곰곰히 생각해보니 COMP2500이 더 어려운 것 같습니다.)
마무리
C++에 대한 수업을 COMP3200 하나만 들은 입장에서 이를 최고의 강의! 라고는 말하기 힘들 겁니다. POCU가 아니더라도 C++을 공부하기 위한 교육기관이나 강의는 충분히 많을테니깐요. 그래도 제가 COMP3200 과정을 통해 C++을 제법 능숙하게 다루고 수 있게 되었고, 그 뿐만 아니라 다른 언어들을 모두 관통하는 메모리에 대한 이해가 깊어졌다는 건 확실히 말할 수 있을 것 같습니다. 또한 프로그래머로 일하면서 C++ 사용하지 않을 분들이 들어도 도움이 될 수 있는 강의가 아닐까 하고 조심스럽게 이야기 해봅니다 ㅎㅎ…
아무튼 1년 동안 POCU Academy에서 공부한 것은 정말 탁월한 선택이었던 것 같습니다. 지인들에게도 여러모로 추천하고 싶고요.
다음학기에는 새로운 과목이 열리지 않아 한 학기 쉬어가겠지만 새 과목이 열리면 바로 수강 신청할 생각입니다. 기다리는 시간동안은 미루던 개인 프로젝트와 코딩 테스트 공부도 해보고 수강료도 모으면서 열심히 살아야겠군요.
이 글을 읽으시는 분들도 모두 화이팅 입니다.