개인적으로 프로그래밍 기초를 공부한다고 했을 때 그 순서와 읽을 책을 추천 해본다.


공부순서를 이야기하기 전에 공부방식에 대해 짤막하게 설명한다.


이 말은 나의 멘토님께 들은 이야기다.

공부를 하면서 얻을 수 있는 지식의 양이 100이라고 했을 때

프로그래밍 공부에서는


10은 책읽기 및 강의 듣기

20은 예제 코드 따라 써보기

70은 직접 큰 프로젝트든 작은 프로그램이든 100% 내 머리속에서 나온것을 만들어 보기


라고 한다.

백날 책읽고 강의만 듣는다고 해서 나아지는 건 별로 없다는 것이다. 직접 해봐야 한다.


다음으로 이야기할 기초공부를 모두 끝마치고 나면 새로운 기술을 배우는데에 준비가 되었다고 생각한다.


1. 첫 프로그래밍 언어는 C언어를 추천한다.

문법 책은 [윤성우] 님이 쓰신 [열혈강의 C] 또는 [서현우]님의 [뇌를 자극하는 C프로그래밍] 이다.

C가 어렵다고 하는 대부분의 이유중 하나가 포인터 때문인데 포인터를 공부하는 부분부터는 이 책을 추천한다.

[리처드 리스]의 [C포인터의 이해와 활용]


문법을 다 공부 했다면 이 책은 선택이다. 앞으로 많은 것을 공부하게 될텐데 맛보기로 뭐가 있는지를 전반적으로 한번 훑어보기에 좋은 책이다.

[양태환]님의 [컴퓨터 사이언스 부트캠프 with 파이썬]


2. 언어를 배웠으니 이를 써먹어 봐야한다. 코드는 알고리즘의 집합체이며, 알고리즘은 생각의 순서이다.

code.plus 강의 중에 알고리즘 기초라는 동영상 강의가 있다.

강의를 듣다가 문제풀이 부분이 나오면 잠깐 멈추고 https://www.acmicpc.net/ 으로 들어가 먼저 한번 [풀어보거나] [최대 4시간정도 풀어보고 안풀리는] 경우 

다시 강의를 이어 듣는 것을 추천한다. 


3. 자료구조는 선택이 아닌 필수다.

책은 [윤성우]님이 쓰신 [열혈강의 자료구조]이다.


4. OOP 언어를 배울 차례가 된 것 같다. 언어를 배웠으니 말을 효율적으로 하는 방법을 배워야 한다.

그리고 OOP언어의 문법만 배울 것이 아니라 디자인패턴도 같이 배우는 것을 추천한다.

문법 책은 [윤성우]님이 쓰신 [열혈강의 C++]또는 [남궁성]님의 [자바의 정석]이고

디자인 패턴 책은 [에릭 프리먼 , 엘리자베스 프리먼 , 케이시 시에라 , 버트 베이츠]의 [Head First Design Patterns: 스토리가 있는 패턴 학습법]를 추천한다.


5. 이제 언어도 배웠고 말하는 법도 배웠고 말을 잘하는 방법도 배웠다. 그나라의 문화를 제대로 알려면 이제 역사를 배울 차례다.

이론서적은 컴퓨터 구조, OS, 컴퓨터 네트워크 3가지 파트를 추천한다.


컴퓨터 구조:

[David A. Patterson, John L. Hennessy]의 [컴퓨터 구조 및 설계]


운영체제:

[아브라함 실버스카츠]의 [Operating System Concepts] 또는 


시간이 많다면 OS를 직접 만들어 보는 것도 추천한다. 컴퓨터 구조와 OS이론의 실기책이라고 할 수 있다.

[한승훈]님의 [IT EXPERT, 64비트 멀티코어 OS 원리와 구조 1권: OS 개발 60일 프로젝트] 1권 2권으로 나눠져있다.


컴퓨터 네트워크:

[진강훈]님의 [후니의 쉽게 쓴 시스코 네트워킹], [미즈구치 카츠야]의 [모두의 네트워크: 10일 만에 배우는 네트워크 기초]


6. 알고리즘은 개발자라면 시간 날때마다 틈틈이 해야할 기본소양이므로 항상 공부하도록 한다.


화이팅.


책을 고를 때는 이분의 블로그를 많이 참고를 했다.

https://www.sangkon.com/2016/02/10/good_books_for_dev/


----------------------------------------------------------------------------------------------------------------------------

독학의 단점은 혼자만의 생각에 갇혀있을 위험이 매우 크다는 것이다.

본 블로그의 목적은 나의 생각을 모두에게 공개하고 그에 대한 다른 사람들의 생각을 듣고 공부의 질을 높이는 것에 있다.

따라서 어떠한 의견이든 환영이다.

----------------------------------------------------------------------------------------------------------------------------





+ Recent posts