Scientia Conditorium

포큐 (POCU) 아카데미 - C 언매니지드 프로그래밍 COMP 2200 수강 후기 본문

서평/IT-강의

포큐 (POCU) 아카데미 - C 언매니지드 프로그래밍 COMP 2200 수강 후기

크썸 2021. 9. 7. 00:15

포큐(POCU) 아카데미 - C 언매니지드 프로그래밍 COMP 2200 수강 후기

2020년 1월학기 C 언매니지드 프로그래밍 통과 실패 ㅠㅠ

한줄 요약 :  아직 체계가 잡히지 않았지만 계속 발전하고 있는 훌륭한 온라인 코딩 학원

이전 강좌 수강 후기 : https://twoo0220.tistory.com/2

 

작년 5월에 프로그래밍 입문 C#을 수강하고 난 이후, 돈을 모아서 C 언매니지드 프로그래밍을 수강하였다. 지난번 한줄요약과 마찬가지로 역시나 아직 체계가 완벽하게 잡히지 않았다. 그러나 단점이 계속 보완되고 있는 것이 눈에 보이고 C 언어 강의는 완전 마음에 들었다.

지난 수강 후기에서는 포큐 아카데미의 장점과 단점에 대해 기술하였다. 이번 후기에서는 지난번 단점이 어떻게 보완되었으며 C 언매니지드 강의가 다른 강의와 어떤 차별점이 있는지에 대해 적도록 하겠다.

 

포큐 아카데미 해결되지 않은 단점

1. 훌륭하게 작동하나 여전히 완벽하지 않은 빌드봇

하라는대로 했는데 빌드봇이 그렇게 하지 말래...

어찌보면 절대로 완벽할 수가 없는 것이 빌드봇이다. 지난번에는 채점 자체가 안되더니 이번에는 코딩 스타일을 잘못 채점해준다. 해당 오류는 현재 고쳐진 사항이긴 하지만 잘 작동하다가 어느 순간 한번 빈도로 오류가 발생한다. 재밌는 점은 이런 식으로 빌드봇 자체 오류가 발생하면 원샷원킬이라는 업적을 획득할 기회가 사라진다. 지난 번 수강할 때는 그랬지만 이 부분이 현재 고쳐졌는지는 확인하지 못했다. 실습, 과제가 생각보다 어려워서 원샷원킬을 노르기 힘들었...

개인적으로는 빌드봇의 버그 및 픽스 상황을 알려주는 업데이트 공지를 원했지만 구글 위키를 통해서 ‘현재 알려진 포맷팅 관련 버그’ 라는 사항으로 알려주고 있다. 따라서 빌드봇의 어떤 문제점이 있는지는 확인할 방법이 없다. 조교님께 물어보는 방법 말고는...

가르쳐준거랑은 다르지만 일단 빌드봇이 하라는대로 하세요!!

 

2. 온라인 장점을 일부 포기하며 아직까진 전 과목 관리가 어려움

사전 예고없이 교대식 강좌 개설이라니...

이전 수강 후기에서는 12과목 공개 후의 오피스아워(Office-hour)를 걱정하였다. 왜냐하면 프로그래밍 입문 강좌에서는 엄청난 질문들을 나오고 매주 1시간 가량씩 진행하였기 때문이다. 단순 계산으로 각 과목당 1시간씩 오피스아워를 진행한다면 12시간인데, 포프님 혼자서 이걸 관리하실 수 있을지 의문이였다.

결과적으로는 쓸데없는 걱정이였는데, 먼저 상급 강좌로 갈수록 수강생들의 실력이 향상되어서 혼자서 답을 찾는 법을 알고 있다. 때문에 입문 강좌와는 달리 질문도 거의 없었다. 초반에는 질문이 적당히 있다가 시간이 지날수록 적어지더니 아예 질문이 없었던 주도 있었다. 그리고 예상했던 대로 과목마다 오피스아워 시작 시간대가 달랐고 전 과목 모두 포프님의 답변을 들을 수 있었다. 전 과목이라고 해봤자 4 과목이지만...

그러나 역시 혼자서 모두 관리하기에는 힘드셨던 것 같다. 2020년 5월 학기에서는 새로운 강의로 개체지향 프로그래밍이 나오지만 C++과 C언어는 잠시 휴강이다. 이러면 온라인 강의의 매력이 사라지고 마는데 현재로선 어쩔 수 없는 사항인 것 같다.

위 답변이 사실이라면 포큐 아카데미의 매력은 조금 떨어진다. 온라인 강의의 장점이 시간과 장소에 구애받지 않는다는 점인데, 저런 식으로 수강 시기를 강제로 정해버린다. 예를 들어서 1월달에 A 과목을 듣고 5월에 B 과목을 수강하려고 했는데 개설되지 않는다. 최악의 경우 9월 학기에도 B 과목이 개설되지 않아 전반적인 수강 커리큘럼이 꼬여버릴 수도 있다. 포큐에서는 다음 강좌를 듣기 전에 이전 과목에 대한 사전지식이 있는지 물어보는 기능이 있다. 본인들이 강좌를 개설해주지 않아서 수강할 수가 없는데 어찌하라는 것인가...

개인적으로는 인력을 더 뽑아서 관리를 해주던지, 그게 불가능하다면 수강 인원을 줄여서 최소 인원만으로 제대로 관리를 해주었으면 한다. 5월달 C++ 강의를 수강하기를 매우 기대하고 있었지만 강제적으로 수강할 수 없다는 사실에 매우 안타까울 뿐이다. 만약 대학교처럼 학기제로 진행된다면 위의 답변처럼 교대식으로 개설되는 것이 아니라 고정 개설이 되었으면 한다. 1월, 5월에는 어느 과목이 개설되고, 5월 9월에는 어느 과목이 개설되고 등등.

포큐의 총 개설 과목은 12과목이지만 당연히 비인기과목이 있을 것이다. 이런 비인기 과목들은 상황에 따라 교차 개설해도 되지만 사람들이 가장 많이 수강하는 기본 개념 과목들은 고정 개설되었으면 하는 바램이다. 그래야 수강생들도 포큐의 커리큘럼에 맞게 수강 계획을 세울 수가 있기 때문이다.

3. 시험을 통해 개념 확인 – 끝

지난번이랑 똑같다. 시험을 통한 개념 확인은 정말 마음에 든다. 그러나 역시나 개념 확인하고 정답만 체크하고 끝.

중요한건 정답만 체크다. 오답 체크가 아니라는 점이다. 다시 말하자면, 내가 제출한 답이 정답이면 만점을 받겠지만 오답이라면 틀렸다고 표시되고 끝이다. 물론 문제에 따라서 부분 점수가 있기는 하다. 이번에도 역시 시험 검토는 10분도 걸리지 않았다. 슬랙방을 통해 다른 사람들은 이게 왜 틀린 것인지 토론하는 문제도 있지만 난 포기하였다.

포큐의 시험으로 얻어가는 것은 기술면접에서 이런 질문들이 나올 수 있구나를 확인하는 정도로 만족한다.

왜 틀렸는지 검토를 하고 잘못된 부분은 재채점을 받을 수 있다

물론 이런 식으로 시험 문제에 대해 토론을 하다 보면 포큐측에서 실수를 인지하고 재채점을 해주기도 한다. 지난번 후기에서도 말했지만 코딩 문제가 많이 나오는데 그걸 자세하게 외울 수도 없는 노릇이고 노트에다가 적을 수도 없다. 물론 포큐측에서는 노트에 옮겨적는걸 금하고는 있지만 철저하게 막지는 않는다. 외부로 유출만 하지 말아달라고 하는데 시간이 지남에 따라 이 부분도 철저하게 막을 것 같다. 시험 문제로 유출로 인해 다시 만들어야 하는 건 비용과 시간을 투자해야 하기 때문이다. 난 하지 말라고 해서 옮겨적기 안 했는데 해도 된다는 슬랙방 채팅을 보고 좌절...

포큐측에 바라는 점은 시험 검토할 때 올바른 정답만이라도 알려주었으면 한다. 서술형 문제에서는 어렵겠지만 단답형 문제만이라도 정답을 제공해주었으면 하는 바람이다.

 

4. 사라진 강사/조교님의 피드백

피드백을 원하는 수강생들이지만 그런건 존재하지 않...

실습 및 과제가 끝나면 슬랙방에 수강생들이 자기가 구현한 코드를 올려서 피드백을 받는다. 모든 강의에서 그런 식으로 진행될줄 알았지만 착각이였다. 아니면 강의 담당 조교에 따라서 달라질 수 있겠다는 생각이 들었다. 이전 후기를 보면 알겠지만 수강생들이 올린 모든 코드에 강사/조교님이 피드백을 달아주셨다. 그러나 이번 C 강의에서는 그런게 없었다. 수강생들끼리 토론하고 더 좋은 방법이 있는지 확인하는 방법뿐이였다.

수강생들 중에 실력이 좋은 사람이 있다면 모를까, 실력이 비등비등한 사람들끼리 토론한다고 해서 더 좋은 코드가 나올지는 미지수라고 생각한다. 이전 수강 후기에서는 엄청나게 마음에 들었던 부분이였지만 이번 강의에서는 전혀 찾아볼 수 없는 부분이다. 어떤 강의에서는 해주고 어떤 강의에서는 안해주고, 조교들마다 피드백 해주는 방식도 다르다. 지난 번 후기에서도 언급했지만 역시 과목이 늘어날수록 포프님께서 직접적으로 피드백 해주시는 건 무리였던 것 같다. 차라리 담당 조교님께서만이라도 수강생들이 올려놓은 코드에 피드백 주시면 정말 좋을 것 같다.

정리하자면 어떤 과목에서는 조교/강사님의 피드백이 있지만 어떤 과목에서는 없을 수도 있다. 이런 점들 때문에 아직 체계가 잡히지 않았다는 것이다.

 

포큐 C 언매니지드 언어 강좌의 장점

포큐 아카데미 자체의 장점은 지난번 후기에 적었으니 이번에는 C 언매니지드 강좌의 장점을 적어보도록 하겠다.

 

1. 속이 시원한 티쳐블 (feat. 뻑킹 유데미)

사실 이 부분은 강좌의 장점은 아니지만 포큐측에서 동영상 강의 제공 플랫폼을 티쳐블로 옮겼다. 정말 속이 다 시원하다. 동영상이 고화질로 끊김 없이 아주 잘 나온다. 왜 시작을 유데미로 했는지 모르겠지만 어쨌든 다행이다.

 

2. 널리고 널린 C언어 강의와 차원이 다른 강의

이렇게 속 시원한 강의는 없었다. 이런 C언어 강의를 원했다. 정말 수강하기로 잘했다. 기존에 다른 강의들을 보면 죄다 구성이 똑같다.

1. C언어에서는 이런 기능이 있어요~

2. 대충 main 안에서 이러쿵 저러쿵 치면, 어때요?! 잘 작동하죠?!

3. 다시 1번으로...

프로그래밍을 배우는 입장에서 가장 짜증나는 구조의 강의 방식이다. 이전 강의와 연관성은 거의 없고 항상 새로운 int main()에서 다시 설명한다. 내가 가장 싫어하는 프로그래머들 답변 중 하나가 ‘일단 만들어라’ 라는 것이다. 욕이 안 나올래야 안 나올 수가 없다. 프로그래머 입문자들은 그런 답변 들으면 ‘아니 슈벌, 뭘 어떻게 하라는 거지?’라는 생각뿐이다. 비슷한 관점에서 C언어 강의들도 그렇다. 아니, 그런 기능이 있다는 건 알겠는데 뭐 어쩌라는 거지?!... 그 기능이랑 이전에 알려줬던 거랑 어떻게 연결시키라는거지...

그래도 일단 해보라는 말에 무작정 코딩을 하지만 대부분 오류 메시지만 잔뜩 뜨고 안된다. 실행도 안 되고 누가 제대로 알려주는 사람도 없으니 포기한다. 프로그래밍 진입 장벽이 높다고 하는데 이런 점들 때문에 높다고 생각한다.

그러나 포큐에서 가르쳐주는 것은 전혀 다르기 때문에 좋았다. 일단 처음에는 다른 강의들과 마찬가지로 기본 개념을 설명해준다. 다른 점은 왜 이런 기능이 있으며 왜 써야 하는지 ‘왜’라는 부분에 초점을 맞추어서 설명해준다. 가장 마음에 들었던 부분은 포인터 강의였다. 포인터가 ‘왜’ 필요하고 ‘왜’ 사용해야 하는지 why의 관점에서 설명해주기 때문에 확실하게 이해가 되었다. 다른 강의에서 포인터 설명은 위에 강의 방식처럼만 설명해주고 끝이였다.

예를 들자면,

자, 포인터라는건 메모리 주소를 저장하는 변수에요

그러니 이러이렇게 코드를 작성하면 잘 작동하죠?!

당연히 이러이렇게도 구현할 수 있어요!

이해가 안 되면 반복해서 들으세요!

이런 강의들을 들었을 때는 대략적인 느낌만 받았다. 포인터가 무슨 녀석인지는 알겠지만 정확히 이해가 되지 않았다. 포큐에서는 메모리가 어떻게 작동하는지를 설명해준다. 물론 포큐의 설명 방식이 안 맞는 사람이 있을 수 있다. 특정 사람의 강의만 이해가 잘되면 세상에 그리 많은 강의가 존재할리 없으니깐...

개념 설명에 이어서 가장 좋았던 것은 샘플 코드다. 대표적으로 포인터를 가르쳐준 후에 실용적으로 쓸 수 있는 샘플 코드를 설명해준다. 대표적으로 포인터를 이용하여 ‘문자열 버퍼를 이용한 출력’, ‘문자열을 대문자 또는 소문자로 바꾸기’ 등이 있다. 다른 강의들에서는 포인터가지고 숫자 바꾸기나 주소연산자를 이용한 대입, 메모리 주소값 확인이 대부분이다. 이외에도 공용체를 이용한 ‘색상 표현하기’, 구조체를 사용한 ‘퀵 정렬’ 등등이 있다.

가장 원하는 부분들 중 하나였다. 기본 개념을 설명해주었으면 이런 기능들이 대표적으로 어떤 부분에 사용되는지를 원했다. 포큐에서는 이런 점들을 속 시원하게 가르쳐준다. 기본 개념 알려주었으니 뭐든 만들어봐라가 아닌 이런 개념들을 이용해서 이럴 때 사용한다를 알려준다.

3. 언매니지드 언어 강의에서 나오는 빌드봇의 진정한 힘

어디서 메모리 문제가 있는지 빌드봇이 알려주는 오류들 예시

과제 채점을 도와주는 빌드봇의 진정한 힘이 언매니지드 언어 강의에서 나온다. 바로 메모리 문제 체크이다. 초보 프로그래머들은 어디서 메모리 누수가 일어나는지 제대로 파악하지 못한다. 입문 강의에서도 체크하는 기능은 있었지만 C#에서는 크게 이슈가 되었던 적이 없었다. 다만 메모리를 직접적으로 건드리는 C언어에서는 툭하면 발생하였다. 빌드봇의 메모리 문제 체크 덕분에 어떤 함수에서 메모리 누수가 발생하는지 알 수 있으며 포인터에 대해 다시 한번 생각해볼 수 있게 해준다. 이런 식으로 메모리 누수 체크해주는 프로그래밍 교육 기관은 없었다.

심지어 오프라인 학원에서 조차 돌아가기만 하면 끝이였지만 메모리 누수까지 체크해주지는 않았다. 물론 강사들마다 다르겠지만 대부분 귀찮아서 그 정도까지는 안 해주었다. 프로그램이 돌아가게 하는 게 우선이기 때문이다. 물론 덕분에 실습, 과제의 난이도는 비약적으로 상승한다. 그러나 이런 실습을 통해서 메모리 문제를 겪고 나니 실력이 향상되고 있다는 걸 느끼게 된다.

 

결론 및 잡담

프로그래밍 입문 과목에서는 들을만 하지만 재수강할 정도는 아니고 기존에 없었던 학원이니 주변 사람들에게 소개해줄 정도였다. 그러나 C 언매니지드 언어 강좌는 적극 추천한다. 만약 당신이 프로그래밍 실력을 향상하고 싶으며 C언어에 대해 제대로 공부하고 싶으면 무조건 포큐를 권한다. 다른 강의는 비교할 필요도 없다. 이 정도 강의와 실습/과제, 그리고 시험이라면 정상 가격인 112만원이니 아깝지 않다. 4개월 나누어서 낸다고 생각하면 한 달에 28만원 꼴이다. 딱 학원 한달 수강료 느낌이다.

비록 후반부에 본업이 너무 바빠서 실습을 할 시간도 없어서 통과를 못했지만 C언어 강의는 대단히 만족스러웠다. 지난 수강 후기의 예상대로 상급 강좌로 갈수록 실습/과제 난이도가 높아졌다. 그렇기 때문에 입문용 강좌와 상급 강좌에 가격 차이를 두었으면 한다.

재밌는 점이 실습과 과제, 시험으로 나름 힘들게 수강했지만 기말고사가 끝나고 나서 포프님의 말씀을 보니 담당 조교가 만들어놓은 문제의 난이도에서 30% 정도 낮춘거라고 한다. 낮춘 난이도가 이 정도라니... 세상엔 프로그래밍 잘하는 사람이 넘쳐나며 더욱 열심히 해야겠다는 생각을 갖게 해주었다. 아직 포큐가 오래되지 않았으므로 난이도를 계속해서 조절해가는 단계이니 이해가 되었다.

추가로 현재 나온 4과목을 모두 수강하신 분께서 난이도를 C# < C++ < 수학 < C 라고 비교하셨다. 나는 아직 C++과 수학을 수강해보지 않았지만 C++ 보다 C가 더 어려웠다는 점에서 놀랐다. 이번 5월 학기에 개체지향 프로그래밍 강좌가 개설된다고 하니 수강해보아야겠다.

POCU, 포큐, 프로그래밍강좌, C언어, C강의, 씨언어, C언매니지드언어