6월 9일 실기 합격 발표로 정처기 합격이 확정되었다. 이전에 작성했던 필기 합격 후기와 합쳐서, 전반적인 정처기 시험 공부에 대한 후기를 작성해보려고 한다.
요약하자면
컴공 기초 개념을 잡기 위해 따로 공부하고 + 흥달쌤 강의만 들었다.
초반 자료수집 시 수제비 파이널 문제집도 고려하긴 했는데 생각해보니 어려운 문제, 지엽적인 문제 맞추겠다고 애쓰는 시간이 너무 무의미하게 느껴져서 기본이라도 확실히 잘 알자는 결론을 내렸다. 아무래도 비전공자다보니 전공자들에 비해서 용어들, 개념들과 친숙하지 않은데 거기에다가 지엽적인 부분까지 욱여넣기에는 이도저도 안될 것 같았고, 시험 결과 그것이 정답인 것 같다.
결론적으로 추천하는 방법은
- 기초로 크래쉬코스, 혼공얄코 활용하기. 일단 개념과 약간이라도 익숙해지는 게 좋다.
- 필기 때부터 실기를 염두에 둔 학습을 하기.
- 필기 때 개념 강의는 대충대충 듣고 넘어가서 나중에 흐름을 이해할 재료 수집하기. 어차피 문풀에서 개념 반복 엄청나게 해주는 흥달쌤을 믿자.
- 개념정리 직접 하기. 필기 때는 개념이 과목 순서대로 정렬되어있지 않아서 머릿속에 넣기 어렵다. 실기는 흥달쌤이 과목정리를 직접 다시 해주시기에 목차를 보고 정리하기 좋다. 처음부터 실기 교재를 같이 보는 것도 추천.
- SQL, 프로그래밍 언어는 IDE로 직접 해보기.
- (특히 실기는) 목차 보고 내용 떠올려보기.
- 흥달쌤 강의, 유튜브채널, 카페를 적극적으로 활용하기.
정처기 시험에서 다루는 것
새로 개편된 정처기 시험에서 주요하게 다루는 것은 소프트웨어의 개발 단계(계획부터 유지보수까지)이다. 그 과정에서 필요한 개발 방법론, DB, SQL, 자료구조, 알고리즘, 테스트 방법론, 프로그래밍 언어, 운영체제, 네트워크, 보안 등을 배우게 된다. 책 커리어 스킬에서 제시하는 기본적으로 필요한 지식의 거의 대부분을 담고있기에 컴공 기초 공부로 딱이었다.
참고로 시험범위 중 '자료구조'는 필기에만 해당되고 실기에는 해당되지 않는다.
무엇을 했는가
1. 기초 다지기
얄코님 유튜브 채널과 혼공얄코 책을 활용하여 기초적인 궁금증 해소하기
정처기 공부 시작 전에 궁금함 해소를 위해 얄팍한 코딩사전님의 책인 ‘혼자 공부하는 얄팍한 코딩지식’을 보았고 이게 정말 많은 도움이 되었다. 궁금한 용어들을 딱 알아들을 수 있는 수준에서 아주 가볍게 다뤄주기에 부담이 없다. 그렇게 용어들과 어느정도 친해지고 시작해서 다행이라고 생각한다.
유튜브 채널 크래쉬 코스의 컴퓨터 사이언스 강의로 컴퓨터 공학과 친해지기
무조건 추천하고 싶은 유튜브의 크래쉬 코스. 역사적으로 지금까지 어떻게 이런 기술이 생기고 변화해왔는지 흐름을 볼 수 있다. 시각적으로 잘 정리해놓았기 때문에 이해가 정말 잘 된다. 옛날 옛적 기능사 딸 때 무작정 외웠던 것들이 왜 그렇게 된 건지 드디어 이해할 수 있게 되었다! 솔직히 덮어놓고 최초의 컴퓨터! 에니악! 에드박! 특징 뭐뭐! 아무튼 외워라! 이런 식으로 덮어놓고 외우게만 하는 교육 방식 너무 재미없다. 크래쉬코스처럼 역사적 배경을 얘기해주면 딱히 외우려고 하지 않아도 저절로 외워지는데. 한 강의 당 시간도 짧아서 틈날 때마다 보기 좋다.
부스트코스 무료 강의, 하버드 컴공 강의 CS50를 활용하기
그리고! 빼 놓을 수 없는 하버드 컴공 강의 CS50. 처음 개발을 접하려고 한다면 무조건 추천한다. 왜냐하면 스크래치에 대해 다루는 게 진짜 재밌었거든.. 그러고나서 C언어도 직접 샌드박스에서 실행할 수 있도록 해주니까 정말정말 좋다. 다른 IDE도 있지만 샌드박스는.. 뭔가 특별해(?). 교수님도 열정이 넘치셔서 보고있으면 기분이 좋아진다. 심지어 영어라서 영어 공부까지 동시에 가능하다.
2. 각 과목별로 선행&병행한 학습
1과목 소프트웨어 설계
- 객체지향의 개념에 대해서 미리 알고 있으면 편할 것 같다. 처음 들었을 때 그냥 넘겼던 부분이 나중에 JAVA를 하고 나서 이해되었다.
2과목 소프트웨어 개발 - 자료구조와 알고리즘
- ‘그림으로 배우는 알고리즘 Basic’ 책과 ‘알고리즘 도감’ 책&앱을 적극적으로 활용했다.
- 특히 📔'그림으로 배우는 알고리즘 Basic’은 알고리즘이라는 게 대체 뭐하는데 필요한 건지부터 알고 싶었던 나에게 딱 맞는 입문서였다.
- 📔‘처음 만나는 알고리즘’의 2챕터 변수배열까지도 입문에 도움이 되었다.
- 📔'(일상 속 스마트한 선택을 위한) 알고리즘 라이프'도 추천한다. 가볍게 읽기 좋게 되어있다.
3과목 데이터베이스 구축 - SQL
- 칸아카데미 SQL 실습 강의를 활용했다. 실제로 DB를 만들고 편집해보고 싶어서 온라인 SQL 에디터 없나 하고 검색했다가 운좋게 강의가 걸렸다! 역시 뭐든지 직접 만들어보고 결과를 봐야 체득이 된다.
4과목 프로그래밍 언어 활용
- 프로그래밍 언어
- C언어
- 프로그래밍 언어는 시작할 때부터&꾸준히가 답이라는 흥달쌤의 가르침에 따라 정처기 공부 시작과 함께 깨알 C언어 강의를 하루 2~3강 듣기 시작했다. 개인적으로 자바스크립트 기초를 배우고 시작하니 이해하기 편했다고 생각한다.
- JAVA
- 솔직히 흥달쌤의 JAVA 특강을 바로 들으니 생소한 용어들이 난무하기에 너무 어려워서.. 기초 강의를 알아보게 되었다 ㅠㅠ
- 유데미의 완전 초보자를 위한 Java 프로그래밍 강의를 들었고 정말 듣기 잘했다고 생각한다. 흥달쌤 말대로 백문이 불여일타. C언어는 온라인 IDE 사이트에서 직접 코드를 돌려봐야 하고, 자바는 jshell부터 이클립스에서 어떻게 돌아가는 건지 봐야 체득이 된다. 끝까지는 듣지 않았다.
- 그 이후 W3 schools에서 아직 머릿속에서 잘 정리되지 않은 개념을 확실히 잡았다. 이 과정 역시 정말 중요하다고 생각한다.
- Python
- 유데미의 세시간만에 끝내는 파이썬 (Python) 기초를 들었다. 프로그래밍 언어 자체에 입문하는 사람은 다른 것보다 이걸 처음으로 듣는 게 더 알기 쉬울 것 같기도 하다.
- C언어
- 운영체제
- 📔'혼자 공부하는 운영체제'를 봤는데 정처기랑 비교해서 그쪽이 더 난이도가 높았다. 중간중간 더 자세히 알고 싶은 부분을 찾아보기에 좋았다.
- 네트워크
- 크래쉬코스의 네트워크 부분을 보고 오니 잘 이해되어서 따로 학습을 하지 않았다.
5과목 정보시스템 구축관리
- 크래쉬코스가 도움이 되었다. (특히 암호화!)
3. 흥달쌤 강의, 유튜브, 카페를 적극적으로 활용하기
내가 합격할 수 있던 1등 공신은 흥달쌤. 흥달쌤이 없었다면 이 공부를 대체 어떻게 했을까? 일단 확실하게 말할 수 있는 건 엄청나게 재미없었을 것 같다는 사실이다.
흥달쌤을 선택하게 된 계기는 엄청 단순한데, ①현업이신 분이라서 ②유튜브 보니까 왠지 마음에 들어서.. 나는 망설임이 없었다. 사실 원래 신중한 성격이라 샘플 강의 등등 이것저것 다 따지는데 흥달쌤은 그냥 소개문구만 보고 결제까지 해버렸다. 그리고 나의 느낌적인 느낌은 적중했는데, 흥달쌤은 원리와 개념에 대해 조금이라도 이해를 하지 못하면 외울 생각이 생기지 않는 나에게 아주 딱 맞는 분이었다. 초등학생 떄부터 프로그램을 배운 흥달쌤, 그래서 그런지 재미있고 알기쉽게 이해를 시켜주신다. 현업에서 필요없는 건 그냥 시험장 들어가기 전에 외우면 된다고 하는 것까지 완벽했다. 현업에서도 쓸모있는 자격증을 만들자는 말씀이 너무 좋다.
모르는 게 있으면 흥달쌤 카페에서 적극적으로 질문했다. 흥달쌤은 정말 열정적이고 정성스러우시다. 질문에 답변을 영상으로 찍어올려주시고, 댓글에도 하나하나 반응해주신다. 심지어 이번에는 일정이 너무 당겨지는 바람에, 필기 특강에 질문 답변 영상에 실기 강의까지 찍어 올리시면서 교재 출간도 준비하는 흥달쌤.. 나도 저 열정에 보답하기 위해 열심히 해야겠다는 생각이 들 정도였다. 심지어 시험 직전까지 라이브방송으로 요약 특강을 해주시고, 질문도 받아주셨다. 시험 전날 밤샘 라이브 방송의 감동을 잊지 못해..
👇1억뷰 N잡이라는 인강 사이트에서 강의하는 흥달쌤 소개 페이지
📝나의 공부 방법
필기
프로그래밍의 중요성
흥달쌤의 조언대로 공부를 했다. 무엇보다도 프로그래밍 강의를 꾸준히 돌리고, 동시에 개념강의를 한 번 돌리고→문제풀이 강의를 한 번 봤다.
기출문제 풀기
CBT 기출문제를 모의고사 삼아 풀어보면 내가 어떤 개념에 약하고, 어디가 정리되어있지 않은지 알 수 있다. 나 같은 경우는 흐름으로 이해하는 사람이라 과목별로 파편화되어있는 내용들을 흐름에 따라 재배치하는 개념 정리 과정이 필요했다. 이 과정에서 배운 게 정말 많다. 참고로 흥달쌤 실기책은 아예 흥달쌤이 재배치해두셨으니 나와 같은 타입이라면 그냥 그 목차를 보고 활용하는 게 제일 좋다.
스케줄 관리와 정리로 노션 활용하기
아래와 같이 캘린더 뷰와 표 뷰를 따로 두고, 계획과 완강 여부를 체크하는 페이지를 만들어서 관리했다.
그날그날 공부한 내용을 페이지에 기록하고.. 흥달쌤은 복습하지 말고 진도를 빨리 빼라고 했지만 내 성격상 정리를 안하고 넘어가는 건 있을 수가 없었다. 나는 이렇게 했지만 그냥 흥달쌤이 하라는 대로 빠르게 개념강의 1회독 하는 걸 추천한다.
👇템플릿 공유
내용을 차례대로 정리하기
위 내용들을 토대로 아래와 같이 과목별, 챕터별로 내용을 묶어 재정리하고, 머릿속에서 내용을 정리하는 시간을 가졌다. 아래 내용은 블로그에도 포스팅한 개념 정리 내용들이다.
시험장용 간단한 개념정리 페이지 만들기
최종적으로 아래와 같이 시험장용 간단한 개념정리 페이지도 만들어서 직전에 보고 갔다.
필기시험 당시에는, 더 뭔가 할 수 있었는데 정리하느라 일정이 좀 늘어졌다고 생각했는데 이렇게 정리해 둔 덕분에 실기가 수월했다. 프로그래밍 문제는 이 때 틀려서 정리해둔 문제 위주로 봤다.
실기
반복, 또 반복
흥달쌤의 조언대로 공부를 했다(2). 한 달 동안 개념강의랑 프로그래밍 강의 설렁설렁 돌리고, 이후에 마무리 특강, 계산식 특강, 압축 특강을 반복하기.
필기 때 열심히 해 두기(..)
필기 때 너무 열심히 한 반동도 오고, 이중삼중사중for문을 또 반복해야 한다고 생각하니 너무 진절머리가 나서 프로그래밍 공부는 게을리하고 자바스크립트 프로젝트나 했다. 문제를 위한 문제.. 프로그래밍 실력과는 하나도 관계없는 그저 악의만 있는 문제 너무 싫어 ㅠㅠ.. 그래도 자바 개념같은 거 하나도 안 까먹은 거 보니 기초공사를 열심히 하긴 한 것 같다. 실제로 실기시험에서 프로그래밍 문제는 모르는 개념이 하나도 없었다. 개념도 필기 때 열심히 정리해두어서 그 때의 자료를 참고해가면서 학습했다.
키워드 써 놓고 개념 떠올리기
다른 분이 정리한 거 보고 따라해봤는데 아무리 정리에 미쳐있는 나라도 이건 좀 아니었다. 이렇게까지 촘촘히 정리할 필요는 없는 것 같다.. 3과목까지만 하고 그만 뒀다 ㅋㅋㅠㅠ.. 이보다는 아래처럼 키워드로 개념 떠올리는 방법을 추천한다.
이렇게 키워드만 써 놓고 개념 떠올리는 게 제일 효과가 좋고 효율적이었다. 여기에 언제자 기출인지를 기출문제 보고 표기해서 대충 출제경향도 파악할 수 있었다. (TIP. 테스트는 정말 꾸준히 출제된다)
추가로 잘 기억나지 않거나 중요하다고 생각하는 건 간단하게 상세를 적어두어서 시험장용 간단 정리 페이지로 활용할 수 있게 했다.
운이 좋기 (?)
솔직히.. 시험이 너무 쉬워서 시험장 들어가서 계속 입꼬리가 실룩거리는 지경이었다 ㅠㅠ 역시 시험에는 운도 중요하구나 하고 깨달은 순간..
결론적으로
기초공사를 하고 흥달쌤이 하라는대로 반복하면 된다! 심지어 대략적인 수강 스케줄도 짜 주셔서 그대로 따라가면 충분하다.
열정 넘치는 흥달쌤이 더더욱 흥하길 바라며💪