프로그래밍 초보자 필독!(학습시 중요성)

프로그래밍 학습에 있어서 가장 중요하다고 생각하는 부분은


"안달하지 않고 자신의 수준을 파악하며 높은 목표를 잡지 않는 것."


이라고 생각합니다.


제가 초보자일 시절(지금도 많이 부족한 부분이 있어 초보자라고 생각합니다만은.. 여기서의 초보자시절은

자바로치면 main 메소드를 이용해서 알고리즘 1단계문제를 풀던 시절즈음으로 정의하겠습니다.)


자바의 문법을 어느 정도 떼놓고 무언가 결과물이 필요했습니다.


근데 자바 하나로만 무언가 만들기가 정말 어려웠고


다른 프로그래밍 랭귀지와의 조합도 어떻게 맞추는건지


이클립스 Java 퍼스펙티브만 켜놓고


Java EE의 존재조차 몰랐을 때, 


자바만으로 뭐든지 다 하는건줄 알았고,


Swing을 이용해서 게임을 만들어보고자 했던거같아요..


물론 Swing도 제대로 다룰줄 몰라서 실패하기 일쑤였죠


그게 문제였어요.


Swing이란 파트를 제대로 알지도 못하고


자바에서 Swing 컴포넌트를 어떤식으로 작동하는지도 모르고


어떤 기능이 있는지 알고리즘을 어떻게 짜야할지도


아직 해본적이 없었습니다.


그저 게임을 만들어보자!!


이런 목표를 세운 것 자체가 잘못이었습니다.


그때의 저에게 지금의 제가 해주고 싶은 충고는...


Programmers, 백준, 등 기타 프로그래밍 문제들이 있는 사이트에 가서


level1문제들을 풀면서 자신의 알고리즘을 쌓아가고


많은 라이브러리(자바 기준 Math 클래스같은 것들)를 경험하고


문제를 해결해보고 다른 사람은 어떻게 해결했는지 보고..


좀더 여유를 가지면서 자바하나만은 제대로 익히라고..


하고싶습니다..


그 때 당시가 국비지원학원을 다니기 2~3달 전쯤이었는데..


혼자 조바심에 자바로는 뭐든지 다 할 실력이 되고나서 가야 다른것들할때 집중해서 할 수 있겠다!!


라는 생각으로 뭐.. 도전했는데 결국 실패만 하나 더 추가했죠..


자신감 하락? 그래서 열심히 놀다가 갔던거 같아요..


마인드는 좋았지만 아직 제 수준을 명확히 파악하지 못했던 거죠.


그 수준을 말해줄 조력자도 없었고


정보가 없었습니다.


핑계라면 핑계.....


아무튼 아직 초보자시라면 경험을 좀 늘리라고 말씀드리고 싶어요.


경험이란 프로그래밍 경험이며 알고리즘 문제를 푸는것.


책에서본 예제를 지겹도록 반복해서 자신의 것으로 만들고


추후 스스로 다른이에게 해당 예제로 그 파트의 개념을 설명할 수 있을 정도가 될 것!


이것을 목표로 하시면 될것같아요..


프로그래밍에는 조합의 개념이 많이 들어갑니다.


이 기능과 저 기능을 합쳐서 새로운 기능을 만들 수 있습니다.


여기서 기능이랑 메소드일 수도 있고 개념일 수도 있습니다. 


A 기능을 알고, B 기능을 알아야 C 기능을 구현한다고 했을때!


A기능이 필요한 문제, B기능이 필요한 문제를 스스로 직접 알아가면서


풀어가야 나중에 C문제를 도전할 수 있죠!!


또한,


우리가 자바를 배울 때


 메소드의 개념을 먼저 배우고 상속의 개념을 배우고 그 다음 오버라이딩이라는 개념을 배우듯이


기초 개념을 배웠으면 그 상위를 배우려고만 하지 말고


기초개념을 탄탄하게 이해하고 그 상위 개념을 배우셔야 할 것 같습니다.


개념은 간단하지만 나중에 기억하지 못해서 레퍼런스하는 경우가 대단히 많아요.. 개발자들은!


기초개념이 탄탄한지 어떻게 판단하냐구요??


혼자 스스로 다른사람한테 설명한다 생각하고 예제를 짜보세요.


스스로 강의를 한다고 생각해보세요.


여러분이 인터넷에서 봤던 그 동영상 강의 선생님처럼요.


본인이 준비해서 그 강의를 진행하는 것.


그런 것을 스스로 해보는 것 조차 엄청난 공부입니다.


다시는 그 개념에 대한 레퍼런스를 하지 않아도 될만큼


기억에 각인 될것이에요..


오늘은 여기까지 입니다!

댓글

Designed by JB FACTORY