티스토리 뷰
안녕하세요, 데브맷입니다. 티스토리를 시작하면서 처음으로 작성해보는 글이네요.
앞으로 꾸준히 활동하면서 여러 사람들과 경험을 나누고 공유할 생각을 하니 기분이 좋습니다 :)
현재 대학교에서 전공자 1명과 비전공자 3명으로 이루어진 스터디를 하고 있습니다.
스터디를 시작한 지 벌써 2달째, 동시에 제가 C언어를 시작한지 2달째가 되어 갑니다.
첫 번째 슬라이드는 내일 있을 스터디 결과발표회 때 쓸 발표자료 입니다.
C언어를 처음 시작했을 때가 떠오릅니다.
굉장히 막연하고 어렵게 느껴졌었죠. 주변 친구들 중 관심이 있어서 시작했지만,
어려워서 포기한 친구들을 봐서 그런지 덜컥 겁부터 났었죠.
그래서 오늘은 C언어를 처음 공부하시는 분들을 위해 제가 공부한 경험을 나눠드리고자 합니다.
(시작한 지 2달 밖에 되지 않았지만, 성심성의껏 말씀드리겠습니다.)
공부를 시작하기 전에 먼저
저는 학원을 다닐까, 독학을 할까 엄청 고민을 했습니다.
그 때 경력이 있고 연륜이 있으신 프로그래머 분들의 글들을 읽어보게 되었는데요.
결국, IT 업계 진출에 있어 정말 필요한 실력은 '사고력과 논리력'이라는 걸 알게 됐습니다.
여러분도 다 아실 거라 생각합니다.
학원이든 인터넷 강의든, 알려주는 건 이론적인 것일 뿐.
실질적인 실력, 사고력의 향상은 본인의 노력에 달려있다는 걸.
그래서 저는 '독학'을 하기로 결정했습니다. 처음 공부의 시작은 왼쪽 교재 (최호성 저자)로 시작했습니다.
오른쪽의 교재는 첫 번째 교재를 끝낸 후 사용 중인 세컨 북 (윤성우 저자)입니다. 이제 세컨북도 거의 끝나가는 군요.
<부연 설명>
왼쪽 교재는 이미 절판된 교재입니다. 최호성의 C 프로그래밍이라고 검색하시면 pdf 자료마저 만나실 수 있죠.
알고 보니, 최호성씨 신간이 나와 있더군요. C언어 입문자를 위한 교재가 또 나왔더라구요. 열정이 대단하십니다.
신간이든, 절판된 교재든 둘 다 무료로 유튜브에 강의가 올라와 있으니
어느 걸 사용해도 크게 불편함은 없으실 것 같습니다.
신간의 경우, 아래 링크에 첨부합니다. 마찬가지로 무료강의가 유튜브에 존재합니다.
|
<부연 설명 끝>
첫 공부의 시작 교재를 왼쪽 최호성씨 교재로 선정한 이유는 굉장히 간단 했습니다.
학교 장터에서 아주 깨끗한 상태로 무려 5,000원에 판매되고 있었기 때문이죠.
최호성씨에겐 정가에 사드리지 못한 점 죄송하게 생각하고 있습니다...
사실 독학을 목적으로 산 교재였지만, 유튜브에 친절하게 강의 까지 올라와 있는 걸 보고
온라인 강의를 들으며 시작했습니다.
지금부터는 제가 공부했던 교재 및 강의에 대한 개인적인 평가입니다.
첫 공부시작하시는 분들은 참고하시고 개인의 취향에 맞게 선택하시면 됩니다!
제가 사용한 최호성씨의 절판된 구버전 교재 강의를 캡쳐한 사진 입니다.
구독자가 7,530 이신 뉴비 유튜버 최호성씨의 강의는 정말 훌륭했습니다.
책 머리글에서도, 강의 초반에서도 말을 하죠.
이 책의 목적은 '전문가 양성'을 위함이라고 합니다.
저는 정말 IT 업계에서 일을 하고 싶어서 공부를 시작했기에
설렁 설렁하는 공부를 원하지 않았는데
저에게 딱 맞는 교재와 강사를 만났던 거죠.
미리 스포하자면, 단순 흥미로 공부하시는 분들은 이 교재, 강의로 공부하시지 않는 걸 추천합니다.
C언어에 정 떨어져서 떠나실 수도 있습니다.
설명 계속 할게요.
첫 프로그래밍 공부, C언어 공부를 할 때 가장 중요한 포인트를 꼽자면
1. 메모리를 직접 관리할 수 있느냐.
2. 포인터와 배열을 자유자재로 사용할 수 있느냐.
3. 프로그램에 문제가 생기면 디버깅을 통해 스스로 해결할 수 있느냐.
이 3가지 정도인 것 같습니다.
그래서 그런지, 이 교재와 강의의 경우 기존의 교재와는 순서가 많이 달랐죠.
대부분의 교재의 가장 후반부에 나올 법한 내용들 (포인터, 메모리 등)이
초반에 왕창 등장합니다.
이렇게 어려운 내용들이 처음에 나와 상당히 불만이었지만,
2달이 지난 지금 결과적으론 정말 행운이였습니다.
남들이 뒤에 가서 어려워하는 걸 저는 수월하게 해결할 수 있었죠.
개인적으로 이 교재와 저자의 강의에
가장 감사하고 감탄했던 부분은
초보자를 위한 맞춤형 설명 이었던 것 같습니다.
강사에 있어 가장 중요한 덕목은 '눈높이 맞추기'라고 생각합니다.
20년 경력의 실무자가 학생의 눈높이에 맞춰 설명 해주시니 감사할 따름..
강의 중간 중간에 썰렁한 농담들을 많이 던져 온 몸이 서늘할 때도 많았지만,
정말 실무가서 써먹을 수 있는 것들을 알려주시니 좋았습니다.
저는 이 교재 덕을 정말 많이 봤습니다. 주의사항을 하나 말씀 드리자면, 꼭 강의와 함께 보십쇼.
신판 교재는 모르겠지만, 구판 교재의 경우 강의에서 다루는 내용들이
교재에는 없는 경우가 많았습니다.
강의에서 더 풍성한 얘기와 응용 예제들을 만날 수 있으니 꼭 보시길 권해드립니다.
첫 번째로 공부한 교재 및 강의에 너무 큰 감동을 맞아서 글이 좀 길어졌는데,
이제 두 번째 세컨북 (윤성우 저자)에 대해 말씀 드리도록 하겠습니다.
윤성우 저자의 책인 열혈 C프로그래밍의 경우 강의는 유료입니다.
단, 교재 뒤에 있는 무료수강 쿠폰 등록을 하시면 1년간 무료수강이 가능합니다.
책에 대해 먼저 말씀을 드리자면 굉장히 친절한 삼촌 느낌이라고나 할까요.
위에서 말씀드렸던 최호성 저자의 책은
'어려워도 이 부분 꼭 해결하고 넘어가야 해. 가장 중요한 부분이야.'
엄한 형의 느낌이라면,
윤성우 저자의 책은
'이부분이 어렵지? 다다음 챕터에서 공부하게 될 거니까 일단은 있다고만 알고 넘어가자!'
친절한 삼촌 느낌 입니다.
결국 '어려운 내용들을 처음부터 소화하고 가느냐' (최호성 저자)
아니면, '어려운 내용은 저~ 뒤에 가서 공부하자.' (윤성우 저자)
의 차이라고 할 수 있습니다.
실제로도 교재 구성이 많이 다릅니다.
위에서 설명했던 최호성 저자의 책은 포인터와 배열이 앞 부분에 나옵니다.
반대로, 현재 설명 중인 윤성우 저자의 책은 포인터와 배열이 뒤에 나옵니다.
(포인터와 배열을 뒤에 배우는 게 대부분의 커리큘럼이긴 합니다만..)
책에 대한 상세한 정보는 아래 링크로 들어가시면 됩니다.
|
각자의 스타일 차이이시겠지만, 전 어려운 내용 한 번에 박살내고
나중에 편한 게 좀 더 낫더군요.
윤성우 저자의 강의는 위에서 말한 느낌 그대로인 것 같습니다.
강의는, 컴퓨터 화면을 켜 놓은채 진행이 됩니다.
오로지 목소리와 화면으로 진행이 되는데.. 목소리가 굉장히 좋으십니다.
정말 자상한 삼촌 같은..;;
직접 얼굴을 보이시며 나와서 칠판에 판서를 한다거나 그런 진행이 아닌
화면에 마우스를 이용하셔서 강의를 해주십니다.
개인적으로 저는 직접 나와서 강의 하시는 걸 더 좋아합니다.
이 강의의 경우는 처음부터 끝까지 본 것이 아니고,
세컨북으로 활용하면서 이해가 잘 안되는 부분, 설명이 필요한 부분만 찾아서
들었기 때문에, 이 이상 자세한 설명은 힘들 것 같습니다.
제가 공부했던 책과 강의에 대해 요약을 하자면,
1. 둘 다 책의 내용과 강사, 강의는 정말 훌륭하다.
2. 자신에게 맞는 스타일의 교재와 강사를 선택하자.
이 두가지 정도 입니다.
참, 주의할 점들이 있습니다.
문제풀이 강의가 있다고 바로 보시지 말고
문제를 풀다가 안 풀리면
적어도 2시간 이상 고민해야 한다는 점.
그러고서 안되면 답안을 보거나 강의를 보시면 됩니다.
누군가 떠먹여주는 공부, 기억에도 안 남고
나중에 똑같은 문제 조금만 응용해도 허우적 거리기 쉽상입니다. 경계해야죠.
또한 문제를 단순히 풀었다고 넘어가는 것이 아니라
좀 더 깔끔한 해결 법, 간결한 코드, 모범 답안 등을 보고 배우는 게 중요합니다.
많이 알려져 있는 문제라면, 인터넷에 검색하시면 좋은 솔루션들 많이 나옵니다.
다른 사람의 아이디어를 보고 이해하고
내 것보다 나으면 받아들이는 과정은 정말 중요합니다.
자기만족감을 위한 문제풀이가 아니라 실력향상에 초점이 있음을 잊지 말아야 합니다.
이제 곧 C를 마치고 다른 언어를 공부하는 입장에서
처음 시작하시는 뉴비 분들을 위해 제가 해드리고 싶은 마지막 말은 이 3가지 정도 입니다.
생각해 보면, 강의 듣고 이해하고 이론 실습하는 시간을 제외하고
혼자 끙끙거리면서 문제 풀려고 노력하고 고민하는 시간들이
저의 실력 향상에 가장 큰 도움이 됐다고 생각합니다.
얼마나 향상 됐냐구요..? 고수들에 비하면 물고기밥 이겠지만,
스스로 달팽이 배열 5시간 만에 풀었을 때,
모범 코드를 봤는데 내가 작성한 코드랑 거의 유사해서 고칠 게 얼마
없었을 때, 정말 뿌듯했고 실력 향상이 됐음을 느꼈습니다.
C를 배우면서 컴퓨터가 어떻게 작동하는지 정말 잘 이해하고
배울 수 있어서 너무 행복했습니다.
다음 언어를 어떤 걸 배울까 고민 했는데, 저는 C++로 가려고 합니다.
물론, 학기가 개강하면 JAVA 또한 공부할 수도 있을 것 같습니다.
C언어 하나 하기에도 벅찼는데
학기가 개강하면 전 정말 죽은 목숨이겠군요.
C언어 입문자를 위한 글은 오늘은 여기서 마치겠습니다.
작성하다 보니 시간이 훌쩍 지나가버렸네요.
뉴비분들, 화이팅 입니다!
질문같은 게 있으시면 언제나 환영입니다.
댓글 남겨주시면 성실히 답변 드리겠습니다 :)
'Develop Story > C' 카테고리의 다른 글
C 언어 게임 프로그래밍 #1 : 배틀 테트리스 (5) | 2017.06.10 |
---|---|
<C 프로그래밍 #4> : 중위식을 후위식으로 변환하는 프로그램 (0) | 2017.06.10 |
<C 프로그래밍 #3> : 동적할당과 연결리스트로 구현한 다항식 연산 프로그램 (0) | 2017.06.10 |
<C 프로그래밍 #2> : 희소행렬 프로그램 (0) | 2017.06.10 |
<C 프로그래밍 #1> : 순환을 이용한 프로그램 (0) | 2017.06.10 |
- Total
- Today
- Yesterday