Algorithm2014. 4. 20. 23:29

최근 알고리즘 문제풀이에 대한 중요성이 계속 올라고 있다.

물론 이전부터 중요했었지만, 모바일 어플리케이션 개발 열풍이 불고 나서 초급 개발자들에게 알고리즘은 천대 받은게 분명하다.

학생들이 많이 묻는다. 


"알고리즘이 왜 중요해요?"

 1. 알고리즘 풀이 능력으로 SW 개발 수준을 평가하는 곳도 있어.

 2. 한순간에 팍! 하고 실력이 늘 수 없기 때문에 지금부터 천천히 해놔야해. 마치 영어공부 처럼!

무조건적으로 학습을 해야한다고 강조를 했었다.

사실 답을 잘 몰랐을 수도 있다.


그런데 현재 대한민국 초급 프로그래머가 알고리즘을 못하는 이유는 아래와 같다


1. 구현 위주의 학습을 진행함

    구현 위주의 학습이란 자신의 결과물이 결과물 위주의 평가를 받는 환경에서 나오는 것이다. 대학교 때 대부분의 프로그래밍 수업이 결과물 시현 위주로 되어 있다. 이렇기 때문에 모로가든 도로가든 결과물만 나오면 되는 나쁜 습관이 생겨버린다.

2. 플랫폼, 프레임워크, 라이브러리 사용에 초점을 맞춤

  또한 그런 구현 위주의 학습을 하다보니 자신의 실력을 뻥튀기 해 줄 수 있는 것들을 찾는다. 시연 결과가 잘 나와 하니 잘 갔다 쓴다. 실제로 정렬을 짜지도 못하면서 STL등을 이용해서 간단히 정렬을 하는 법만 알면 정렬을 할 줄 안다고 느낀다. 

  게다가 다양한 스마트폰 플랫폼, 다양한 웹 개발 환경, 라이브러리, 심지어는 언어까지 다양하다 보니 그 다양한 것들에 대해서 공부하다 보니 상대적으로 알고리즘에 대해 학습할 기회가 없었다.

3. 다양한 어플리케이션을 요구하는 시대

 스마트폰 어플리케이션 시장이 활성화 되면서 다양한 어플리케이션이 나오기 시작했다. 소비자가 원해서 직접 만드는 경우도 있으니 Microtrend 성향의 SW 시장의 활성화는 프로그래머들을 더욱 바쁘게 만들어 버렸다


이런 상태에서 프로그래밍을 하다보면 수학의 중요함을 모르고,

자신의 코드의 중요성은 잊은 채 화면에서만 잘 작동하면 된다고 생각한다.

스스로 장래의 치킨집 사장이 되기 위하여 프로그래밍 공부를 하고 있는 상황이다.


Posted by 슈퍼 점프