본문 바로가기

소프트웨어 교육

소프트웨어 교육은 코딩 교육이 아니다.



소프트웨어 교육은 코딩 교육이 아니다. 


어떤 분야의 전문가든 가장 어려운 훈련 중 하나가 바로 교육이다. 세계에 전문가는 많지만 전문교사는 적다. 교육은 아는 것을 반복하는 게 아니다. 교육은 자신을 밖으로 나가에 하며, 자신을 이기도록 도와준다. 새로운 것을 배우는 사람의 마음을 고취시켜주는 기술이다. 단순히 어떤 것을 알고 있다는 것은 훌륭한 교사가 되기 위한 하나의 요건이다. 다른 사람보다 휼륭한 지식을 가지고 있는 사람이 마찬가지로 훌륭한 교사가 될 것을 기대한다. 그러나 정확히 일치하는 경우는 사실 드물다. 좋은 기술과 지식은 지도하려고 하는 사람에게 같은 실력을 전수하지 못한다.


훌륭한 개발자가 교사로서 필요한 모든 기술을 가지고 있는 것처럼 보인다. 코딩은 사실 다른 여러 교육과 동일한 특징을 가지고 있다. 모든 기호로 이루어진 구문인 Code는 어떤 일을 수행하는 방법을 컴퓨터에게 알려주는 지시의 구체적인 표현이다. 세세한 구문을 빠뜨리거나 틀리더라도 바로 알 수 있다. 냄새를 풍기거나 번역과정에서 우리에게 문제가 있다고 소리치기 때문이다. 사고 흐름을 일목요연하게 정리하는 방법을 코딩이 가르쳐 주지 않는다. 소프트웨어 교육의 핵심은 문제 해결력을 키워주는 일이다. 어떤 분야에서 직업을 갖든 소프트웨어 교육은 모두에게 문제를 해결하는 능력을 키워줄 것이다. 


코딩은 특정 순서로 프로그램 되어야 한다. 우리가 알기 전에는 개념을 실제 코드로 구현할 수 없다. 증가하고, 반복하고, 건너뛰는 방법을 이해하기 전에 조건에 맞는 범위에서 점차적으로 증가하는 프로그램을 만들 수 없다. 코딩 행위는 교육과는 다르다. 오히려 교육에 역행하는 좋지 않은 습관을 낳을 수 있다. 코딩 하는 방법을 안다는 일이 해당 분야에서 작업의 해결을 의미하지 않는다. 사실 업적이나 성취는 물리, 화학, 수학 자체의 일이지 코딩의 일은 아니다. 훌륭한 개발자가 여러 분야에서 좋은 성적을 내지는 않는다. 그러나 훌륭한 업적을 이룬 많은 분야에서 코드로 이루어진 프로그램을 반드시 활용한다.


첫째, 순차적으로 코딩하지 않는다. 


둘째, 생각의 흐름에 세부적인 사항을 걱정하게 한다.


” IF WE TEACH TODAY’S STUDENTS AS WE TAUGHT YESTERDAY’S, WE ROB THEM OF TOMORROW “

오늘의 아이들을 어제의 방식으로 가르친다면, 그들의 내일을 뺏는 것이다.

John Dewey