[강좌] 프로그래밍 초급 훈련 01 - Prologue

대학시절부터 지금까지 주위를 보면 수많은 사람들이 프로그래밍을 배우다가 포기해버립니다. 왜그럴까요? 머리가 나빠서일까요? 노력을 하지 않아서일까요? 제 생각에는 프로그래밍을 공부하는 방법이 틀렸기 때문입니다.

최근에는 프로그래밍을 공부하는 방법이 어느정도 정형화 되어있습니다. 일단 언어를 하나 정합니다. 그리고 문법서를 보면서 변수부터 배우기 시작합니다. 비교문, 반복문, 함수등을 공부하면서 나름 프로그래밍이 뭔지 좀 알 것 같은 생각이 들기 시작합니다. 책을 끝까지 다 봤습니다. 책을 다 보면 무언가 할 수 있을줄 알았는데, 실상은 뭘 어떻게 짜야할지 모릅니다. 보통은 그런 상황이 되면 본인의 머리가 나쁜가 하는 착각을 하게 됩니다. 하지만 방법이 틀렸을뿐 머리가 나쁘거나 소질이 없거나 하는 것은 나중 문제입니다. 

그렇다면 언어를 익히는 과정이 끝났다면 뭐래도 하나 짤 수 있는 능력은 어떻게 해야 키울 수 있을까요? 프로그래밍은 무술을 연마하거나, 운동연습을 하거나, 악기를 잘 다루기 위해 연습하는 것과 같은 방식으로 실력을 키워야 합니다. 즉, 초보자에겐 공부라는 말보다는 훈련이라는 말이 더 어울릴것 같습니다. 프로그래밍은 공부라는 말보다는 연습, 훈련이라는 단어가 더 어울립니다.

앞으로 저는 이 강좌를 통해 프로그래밍을 훈련하는 방법을 가르쳐 드릴 예정입니다. 제글을 읽는 독자의 레벨은 어떤 언어든 문법서를 한번 읽어서 변수, 상수, 비교문, 반복문, 함수가 뭔지 알지만 한줄도 못짜는 수준의 초보분들로 기준을 잡겠습니다. 그보다 더 초보시라면 책을 보면서 따라오셔도 무방할 것 같습니다.

저는 하나의 예제를 선정하여 필요한 문법을 먼저 소개하고, 그것들을 이용해서 하나씩 하나씩 생각하고, 만들어나가는 과정을 보여드리려고 합니다. 한동안은 콘솔기반을 프로그램들로만 진행하겠습니다. 아무래도 콘솔이 딱 필요한 기능만 구현하기 좋고, 코드 양이 많지 않고, 직관적이기 때문입니다. GUI는 어느정도 익숙해 졌을때 "프로그래밍 중급 훈련"으로 넘어가서 진행하겠습니다.

언어는 C#을 사용해서 진행하겠습니다. 선정 이유는 첫째로, C#은 비쥬얼 스튜디오를 사용하기 때문에 코딩이 편하고, 무료로 사용할 수 있는 장점이 있습니다. 둘째로는, 마이크로소프트사에서 만든 윈도우즈 기반에서 프로그래밍 하기때문에 가장 이질감이 없습니다. 셋째로, 콘솔 프로그램을 익힌 뒤, GUI로 넘어가기 쉽습니다. 넷째로, 자바와 문법이 상당히 비슷하기 때문에 C#, Java 둘중 하나만 제대로 익히면 둘다 잘 할 수 있는 이점이 있습니다. 하지만 자바는 PC에서 GUI가 좀 후지고, 안드로이드는 다른 기기에 프로그램을 넣어야 하기때문에 중급 훈련이 끝난 뒤에 시작해도 늦지 않을 것 같습니다.

이 글은 문제해결 능력을 키울 수 있게 도와줄 수 있는 글입니다. 혹시 C#이 아닌 다른 언어를 공부하셨더라도 글을 이해 못하는 상황은 생기지 않으리라 생각됩니다. 소스를 보고 맹목적으로 따라하지 마시고, 아이디어만 보고, 직접 짜보시는 것이 훨씬 도움이 많이 됩니다. 제가 알려드리는 소스코드는 모범답안이 아닙니다. 그냥 돌아가는 코드중 하나입니다. 여러분이 훨씬 간결하고, 효율적이고, 멋진 코드를 짜려고 노력해보시는 것이 도움이 많이 될 것입니다.

P.S. 무술도 그렇듯이 저도 문파가 있습니다. 딱히 문파의 이름이 있는 것은 아니지만 저는 대학시절 저를 가르치신 교수님의 프로그래밍 학습법을 계승합니다. 제 스승님은 "프로그래머의 길"이라는 초식으로 가르치셨고, 저또한 그 초식으로 프로그래밍을 처음 접했습니다. 제가 알려드리는 문제의 근본은 "프로그래머의 길" 에서 파생된 문제가 많습니다. 해당 비서는 http://cafe.daum.net/pway 카페의 기본자료실 62번 게시글에 올려져 있습니다. 제 글을 읽지 않고, 그 비서만 보더라고 프로그래밍 중급자 타이틀은 충분히 딸 수 있으실 것입니다.

[강좌] 프로그래밍 초급 훈련 01 - Prologue [강좌] 프로그래밍 초급 훈련 01 - Prologue Reviewed by Tae-seob Shin on 10월 04, 2018 Rating: 5

댓글 없음:

Powered by Blogger.