프로그래밍 독학 계획 - 1

김태현·2022년 4월 27일
1

정보

목록 보기
2/4

독학을 하게된 배경

다양한 플랫폼에서 지식들을 얻을 수 있는 요즈음에는 어떠한 공부를 독학하는 것에 대해서 많은 사람들이 익숙해지고 있다. 필자는 프로그래밍에 대해서 독학하기로 하였는데, 나의 상황을 설명해보자면 이렇다. 수능을 시원하게 말아먹고 재수의 과정의 끝에 점수에 맞추어 인서울 전자공학과에 입학하게 되었는데, 나의 목표는 멋진 프로그래머가 되는것이었지만 현재 다니고있는 전자공학과의 커리큘럼을 보면 나의 목표와는 거리가 있어보였고, 전과를 계획하게된다.

전과를 위해서는 괜찮은 포트폴리오와 기본적인 컴퓨터 공학 지식, 적절한 1학년 학점(여기서 점수가 많이 깎일지도..) 등이 필요한데 기본적인 컴퓨터 공학 지식을 얻기위해서는 프로그래밍의 기본지식에 대해서 독학을 할 필요가 있으며 이를 위해 세운 나의 프로그래밍 기본 독학 계획을 설명해보고자 한다.


독학 계획

1. C언어 문법 공부하기

컴퓨터 공학의 기본이자 다양한 과목에서 응용하게 될 C언어를 공부해야한다.

C언어는 컴퓨터 공학 분야에서는 기본적인 언어로 인식되는데, 그런 인식과는 달리 워낙 개발자가 정해두어야 하는 사항들이 많다보니 프로그래밍을 처음 배우는 입장에서는 학습이 꽤나 어려울 수 있다.

하지만 여러 c언어 관련된 도서들과 인터넷 자료들을 이용하여 학습한다면 충분히 C언어에 대해 깊이 학습할 수 있을리라 생각하며 추천 도서로는 국내에서는 가장 유명한 윤성우 저자의 열혈 C 프로그래밍이 있다.


https://cr3.shopping.naver.com/bridge/searchGate?query=%EC%97%B4%ED%98%88+c&bt=-1&nv_mid=31867319744&cat_id=50010920&h=296bf1ab78fbf98dadcc95df6a36abdb30d64133&t=L2HNJAXG&frm=NVSCPRO

열혈 c언어 (윤성우)

이러한 도서들과 인터넷 검색을 이용하여 C언어 문법에 대해 다지자!


2. 간단한 알고리즘 문제 풀며 C언어 활용하기

C언어 문법에 대해서 배웠으면 이제 그 언어를 이용하여 가지고 놀 차례이다. 가지고 노는 방법으로는 C언어를 이용한 여러 간단한 프로그램들을 만들어 본다던지, 아니면 쉽게 접할 수 있는 백준과 같은 알고리즘 문제 사이트(링크)에서 다양한 c언어를 이용하는 문제들을 풀어보면 된다.

프로그래밍 언어라는 것은 단순히 문법만 공부한다고 끝나는 것이 아닌 이를 활용하여 다양한 작업을 할 수 있어야한다.

따라서 c99언어를 이용하여 알고리즘 문제를 풀며 c언어를 나의 프로그래밍 언어로 만들어 보자. 물론 난이도는 적당히 자기가 해결할 수 있을 정도로 잘 조절하면된다.(백준 브론즈 단계면 충분할 것 이다.)

물론 이 단계는 뒤 단계와 병행하면 효과가 더 뛰어날 것 이다.

https://www.acmicpc.net/

백준 사이트


3. C언어 활용하여 자료구조 공부하기

C언어를 어느정도 다룰만한 레벨에 도달한다면 이제 이를 이용하여 컴공의 기본, 자료구조에 대하여 공부할 차례이다.

자료구조란 데이터를 저장하고 활용하는 방법에 대한 것인데, 이와 관련하여 다양한 서적들이 존재하며 이를 이용하여 공부하면 된다.

일단 기본적으로 C언어를 이용하여 자료구조 구현을 서적이나 인터넷에 나와 있는 대로 따라도 해보며, 제일 중요한 것은 자료구조의 원리를 이해하여 이를 활용할 수 있는 수준까지 성장하여야 한다는 것이다.

자료구조와 관련된 추천 도서로는 이역시 윤성우 저자의 열혈 자료구조를 추천한다. c언어를 열혈시리즈를 이용하여 공부했다면 같은 저자분께서 연계해두신 것이 많으므로 공부에 도움을 얻을 수 있다.

https://book.naver.com/bookdb/book_detail.nhn?bid=6809127

열혈 자료구조 (윤성우)

필자는 지금 이단계 공부중이다.


4. 객체지향 언어, Java 공부하기

C언어를 이용한 자료구조, 알고리즘 문제풀이에 어느정도 익숙해졌다면 이제는 객체지향 OOP언어를 배울 차례이다.

OOP 대표 언어로는 Java, C++ 등이 있는데 먼저 Java에 대하여 공부하자!

Java 대표 서적으로는 Java의 정석 등이 있다고 하며 객체지향 언어와 관련해서는 다양한 서적들이 존재하므로 하나의 책으로 공부하기보다는 다양한 책들을 읽어보며 Java에 대하여 배워나가는 것을 추천한다.

https://book.naver.com/bookdb/book_detail.nhn?bid=10191151

Java의 정석 (남궁성)


5. 객체지향 언어, C++ 공부하기

객체지향 언어 두번째 C++ 언어를 공부할 차례이다.

C++언어는 이전에 배웠던 C언어와 비슷한 게 아닐까 라고 생각할 수도 있지만, 기본적인 틀은 비슷할지라도 워낙 C++ 언어의 특별한 문법이 많기 때문에 조금 복잡하다고 느낄 수도 있을 것이다.

추천 서적으로는 윤성우 저자의 열혈 강의 C++, 이것이 C++이다 등이 있다.

https://book.naver.com/bookdb/book_detail.nhn?bid=6271757

열혈 강의 C++ (윤성우)

https://book.naver.com/bookdb/book_detail.nhn?bid=10053893

이것이 C++이다 (최호성)


2편에 계속됩니다.

profile
처음에는 웹 frontend 분야에 자신있는, 허나 다양한 분야를 경험하고 배우고자 노력하는 공학자 김태현입니다.

0개의 댓글