POCU/후기

POCU 아카데미 COMP2200 후기, C언어 제대로 공부하기

성수아자 2022. 8. 16. 22:06

POCU 아카데미 COMP2200 후기


▶ POCU 아카데미 간단 소개

▶ 자기 소개
▶ 나에게 C 언어란?
▶ POCU 아카데미의 C 언어
▶ 제대로 배우는 언매니지드 언어
▶ 수강 후 달라진 점
▶ 풀코스를 마치며
▶ 아쉬운 점
▶ 다음 과목을 듣는 나에게 한 마디
▶ C 언어 과목을 들을 분들에게


POCU 아카데미 간단 소개

POCU 아카데미 대표 이미지

pocu 아카데미는 유튜버 포프 님(포프 TV)이 운영하는 아카데미이며 따로 학점이 인정되진 않지만 한 프로그램 과목당 15주 코스이며 매주 실습 및 과제를 제출하고 중간, 기말고사를 시험하여 수료증이 나오게 된다. 장점은 대학 수업 그 이상의 교육 효과를 내는 것이다. 실제 회사에서 사용하는 또는 그보다 깐깐한 기준들을 적용하는 것이 좋은 코딩 습관을 들이기에 아주 큰 영향을 주었다. 최근 수료생들의 취업 현황을 보면 (물론 한 과목 듣는다고 되는 것은 아니겠지만) 유명한 대기업에 입사하신 분들이 계신 거 같다. 같이 진행한 동료분들 대부분이 코딩에 매우 진심이셨고 나 또한 자극받아 더욱 열심히 하는 계기가 되었다.

 

자기 소개

21년 6월, 지금으로부터 1년 2개월 정도 전에 항해 99라는 부트캠프로 코딩에 첫 발걸음을 내디뎠다. 취직이 급했던 나는 주특기로 리액트, 노드, 스프링 셋 중 리액트(프런트 엔드)를 선택하였고 대략 3개월 반의 시간 동안 웹 프로그래밍과 프로젝트에 몰두하게 되었고 코딩 시작 4개월 만에 아주 작은 스타트업에 취업하게 되었다. 어느 날 회사에서 새로운 어플 제작 계획이 세워졌고 내가 노드 js를 새로 배워 리셀 중고 거래 어플의 서버를 담당하게 되었다. 노드 교과서란 책과 구글링을 통하여 기본적인 crud, 채팅, rabbitMQ로 알림 서버 등 여러 기술들을 사용해보았고 대략 2개월에 걸쳐 완성하게 되었다. 문제는 내가 만든 건 맞는데 원리를 묻는다면 간단한 답변밖에 하지 못하는 나를 마주 하고부터였다. 예를 들어 채팅을 어떻게 구현했냐고 물으면 소켓 io를 사용했다고 대답하지만 왜 소켓 io를 사용했으며 어떤 식으로 소켓 io가 동작하는지 묻는다면 인터넷에 떠도는 답변밖에 하지 못했다. 나는 컴퓨터의 원리를 토대로 깊이 있는 답변을 원했고 이는 구글링 한 포스트 만으론 해결될 수 없었다. 결국 컴퓨터에 대해 잘 이해하고 싶었고 평소 즐겨보는 유튜버이자 pocu 아카데미 강사님인 포프 님을 믿고 pocu 아카데미 C언어를 듣기로 결정했다. 

 

나에게 C 언어란?

출처: 우리역사넷

네카라쿠배란 신조어가 탄생한 21년 비전공자로 개발을 시작한 이들이 나를 포함하여 매우 많을 거 같다. 비전공자로 웹 개발을 하는 나에게 C언어는 발달된 철이 있는데 굳이 뗀석기를 사용하여 농사를 짓는 보수적인 이미지였다. 역사적으로 C언어가 있다는 것을 알기만 하면 되는 줄로만 생각했다. 그러나 이 생각은 포프 강사님의 프로그래머로 살아남기 위해 필요한 언어 둘 유튜브를 보고 달라지게 된다. 간단하게 C언어메모리 관리를 직접 하는 언어이며 이는 높은 수준의 프로그래머에겐 꼭 필수라고 말한다.

 

POCU 아카데미의 C언어

udemy에서 판매중인 C 언어

pocu 아카데미 수업 전 이미 C언어 강의는 한 번 들었던 경험이 있다. 대부분의 대학에서 C언어는 1학년 때 배우는 과목으로 프로그래밍 기본과 함께 C언어를 가르친다. 이러면 단점이 중복된 내용을 또 학습해야 하는데 시간이 뺏긴다는 것이다. 넘기려고 해도 강의 중간중간에 아는 부분과 모르는 부분이 섞여 있으니 골라 듣기에도 힘들다. pocu 아카데미의 C언어의 가장 큰 장점은 프로그래밍 기초는 따로 다른 과목으로 만들어서 코딩 기초를 아는 나에게도 지루한 부분 없이 재밌게 강의를 들을 수 있었다. 또한 강의를 군더더기 없이 진행함에도 불구하고 강의 시간이 38시간이다. 이는 C언어 문법만을 가르치는 것이 아닌 C언어 빌드 및 실행 과정, 포인터와 메모리에 대한 개념, 문자열에 대한 깊은 이해, C언어의 메모리 관리법, 컴퓨터 작동 원리, 기초 자료구조 등 아주 많은 내용이 들어있음을 뜻한다. 

 

제대로 배우는 언매니지드 언어

어셈블리어와 스택 강의 중 한 장면
다중 포인터 예시

다른 강의들과 차별된 점이라면 메모리에 대해 깊이 있게 가르친다는 것이다. 메모리를 주소로만 설명하는 것이 아닌 표현식이나 문 실행 시 메모리에서 일어나는 과정과 더불어 주의해야 할 코딩 컨벤션까지 자세하게 알려주며 필요에 따라 어셈블리어 특히 C언어 빌드 시 일어나는 일을 메모리와 관련지어 자세하게 알려준다. 가장 좋았던 건 앞부분의 내용을 뒤에서 계속 사용한다는 것이다. 포인터를 자세하게 설명한 후 여러 가지 사용 예제와 자료구조(배열, 스택, 큐, 연결 리스트, 해시 테이블)까지 이용해 강의와 예제만으로도 포인터에 익숙하게 해 준다는 점이다.

 

수강 후 달라진 점

메모장 코딩

대부분의 언어의 시초는 C언어라고 한다. 대부분 언어의 포맷이 C언어와 유사하며 작동 방식 또한 C언어를 많이 참고한 듯하다. 그러므로 C언어를 깊게 이해한다는 것은 많이 사용하는 언어들이 어떤 식으로 동작하고 어떻게 작동하는지 이해하는 대 밑거름이 된다. 포큐 강의는 조건문, 반복문, 함수 호출, 변수 선언 등을 단순히 작동 방식으로 설명하는 것이 아닌 메모리와 관련지어 훈련시킴으로써 다른 언어를 이용할 때도 컴퓨터가 어떻게 동작하는지 거의 자동적으로 머릿속에 로딩된다. 즉, 코드를 보면 컴퓨터 내부가 어떻게 작동하는지 떠오른다. 

또한 풀코스 수업을 들은 나는 수업에서 메모장 코딩을 권유하여 메모장으로 코드를 작성하고 cmd(window)로 컴파일을 진행하였는데 이로써 IDE 없이 코드를 보는 눈이 좋아졌고 프로그램 빌드가 어떻게 되는지 더 잘 이해할 수 있었다.

 

풀코스를 마치며

실습 및 과제 점수

간단하게 풀코스를 들으면 수강생끼리 슬랙에 모여 과제와 실습을 할당받아 채점을 받으며 중간, 기말고사 평가를 받고 수료증이 발급된다. (트위터를 보니 이제 링크드인에 기재할 수 있다고 한다!!) 나는 풀코스를 매우 잘 들었다고 생각하며 싸지 않은 가격임에도 후회 없는 선택이었다. 동영상 강의와 예제를 아무리 열심히 보더라도 실습과 과제는 만만치 않았다. 결이 다른 느낌이다. 동영상 강의는 개념과 필요한 것들을 모두 가르치는 반면 실습과 과제는 그 개념들을 사용하게끔 유도하며 숙달시킨다. 개인이 실습과 과제들과 비슷한 프로젝트나 환경들을 경험할 수 있다면 동영상 강의만으로 충분하겠지만 그런 환경 만들기 자체가 어려울 것 같다. 예를 들어 매크로 함수를 이용한 실습은 찾기 매우 힘들지 않을까 싶다. 내가 안 풀리는 문제를 구글링 해본 결과 유사한 문제는 없었다. 고로 듣는 것을 추천한다. 특히 C언어를 실무에서 사용하실 분들은 진짜 강추.. 여러 꿀팁들이 난무합니다..

난 프로그래밍 수학(COMP1000)을 건너뛰고 프로그래밍 기초(COMP1500)만 풀코스 수강하고 C언어를 신청했다. 고등학교 때 꽤나 수학을 열심히 했기에 수학 코스 목록을 보고 모르는 건 그때 공부하자는 생각으로 건너뛰었다. 그러나 수학 코스에서 수학만 가르치는 것이 아님을 깨달았다. 프로그래밍 기초 과목은 회사 일 하며 꽤 대충 해도 통과할 정도였지만 비슷한 느낌으로 C언어를 진행하다 난이도 급상승을 마주했다. 거기다 중간고사 전 실습 하나를 통으로 제출하지 못했고 과제 하나를 81점 맞는 바람에 시험 대한 압박이 엄청 심했고 꽤 어려운 실습과 과제들을 마주하면 포기하고 편해질까라는 생각을 자주 했다. 중간고사를 꽤 열심히 공부하였고 생각보다 점수가 잘 나와서 (점수 안 나왔으면 포기하려 했다.) 포기하지 않고 열심히 했다. 기초에서 바로 넘어오신 분들이 꽤 있을 거 같은데 시간과 비용에서 여유가 있다면 듣고 오는 것이 심리적으로 좋다. 그렇다고 못 듣는 정도는 아니다. 간간이 수학에서 사용한 개념들을 이용하지만 포프 강사님이 키워드를 알려주셔서 검색해서 공부하면 충분히 따라갈 수 있었다.

 

아쉬운 점

큰 아쉬운 점은 없지만 그래도 몇 자 적어본다면 수강생들의 소통이 생각보단 적다. 나도 꽤 열심히 참여하려 노력했지만 생각보다 유대감이 크진 않았다. 질문할 수 있다는 안정감 정도 들었던 거 같다. 부트캠프처럼 강한 유대감으로 무장한 커뮤니티를 생각하면 안 된다. 제출하는 인원을 보니 100명 정도 들었던 거 같은데 슬랙엔 40명 정도 있었고 그중 활발하게 답변해주시고 구현한 코드 올려주신 분들은 10분 내외였다. 그래서 코드 올려주신 분들을 보면 너무너무 감사하다.

이건 주관적인 생각이고 강사님 또한 제공되지 않는 것이 공부 효율에 좋다고 판단한 것이지만 개인적으로 강의 자료를 주셨으면 한다. 정리하는 것도 능력이지만 강의를 듣는 중에는 강의만 듣고 싶고 따로 정리하자니 동영상을 처음부터 넘기면서 보는 수고가 든다. 뭐 이건 좀 더 수고하면 해결된다. 그리고 아주 아주 아주 사소한 것 하나는 위 사진을 보면 등수가 이상하게 나온다. 내 점수를 보면 분명 2%가 아닐 텐데.. 그래도 낮게 잘못 나온 적은 한 번도 없어서 기분은 좋다ㅋㅋ 저거 한 번 고쳐주셨다고 했는데 아직 안 고쳐준 거 같다.

 

다음 과목을 듣는 나에게 한 마디

저번 코스를 들었을 때도 다짐을 했지만 지켜지지 않은 것 중 하나는 다른 수강생 분들 코드 보기이다. 왜 자꾸 실습이나 과제 제출하면 같은 거 보기 싫은 거지..? 꽤 노력했지만 한 두 분 코드 보면 더 보기 힘들었다. 진짜 이번 학기는 동영상 강의만 들을 예정이지만 근데 개체 지향 언어를 가장 풀코스로 듣고 싶었는데.. 풀코스를 듣는 날이 온다면 다른 수강생 분들의 코드를 많이 많이 볼 것이다. 또 실습이랑 과제를 반드시 100점 맞아 조교에 지원하고 싶다. 조교를 한다는 건 수강료 지원도 있지만 다른 분들 코드를 보며 복습할 기회도 생기는 것이기에!!

 

C 언어 과목을 들을 분들에게

나도 겨우 통과한 입장이고 각자 실력이 너무 달라 조언하기 뭐 하지만 그래도 끄적여 본다면

여러 상황을 나누어 봤을 때 만약 내가 전공자이며 C언어로 취업하기 전 복습하는 느낌으로 수강하려 한다면 크게 무리 없이 통과할 수 있을 거다. 다만 내가 부트캠프 출신 혹은 독학이지만 코딩이 아직 익숙하지 않고 기본적인 구현에도 검색을 자주 하는 분이라면 이 전 코스 프로그래밍 기초를 듣고 수강하는 것을 추천한다. 나도 어느 정도 코딩을 했음에도 기초 과목에서 배우는 것이 많았다. 

가장 추천할만한 분들은 부트캠프 출신으로 현업에 뛰어들었고 실제 회사 프로젝트에 투입되어 여러 작업들을 하지만 컴퓨터 작동원리까지 이해하진 못하고 코드를 짜는 분들이다. 생각을 조금 해보면 내가 더 뛰어난 프로그래머가 되고 싶다면 알아야 할 것은 프레임 워크나 라이브러리 사용법이 아닌 컴퓨터 작동 원리를 이해하는 것이다. 대기업이 운영체제, 컴퓨터 구조, 데이터 베이스 등 기본 전공과목을 면접에서 요구하는 것은 이를 이를 뒷받침한다. POCU의 풀코스를 통해 전공과목의 개념적인 부분과 실습적인 부분 둘 다 잡기를!

 

동영상 강의 첫 구매 시 15퍼센트 할인 링크입니다!! https://pocu-ko.teachable.com/?referral_code=C18JVD