지금 개발하러갑니다

현 SW 교육에 관한 고찰 본문

수기

현 SW 교육에 관한 고찰

jspark1215 2020. 1. 12. 22:45
현 SW 교육에 관한 고찰

현 SW 교육에 관한 고찰

나는 현재 SW 교육에 많은 관심을 가지고 있다. 그러다보니 자연스럽게 내가 학교에서 접하는 SW 교육 커리큘럼에도 많은 관심이 가게 된다. 더군다나 모바일 프로그래밍 수업시간의 도우미로 활동하고 있어 더욱 많은 관심이 가게 된다. 내가 오늘…

현 SW 교육에 관한 고찰

나는 현재 SW 교육에 많은 관심을 가지고 있다. 그러다보니 자연스럽게 내가 학교에서 접하는 SW 교육 커리큘럼에도 많은 관심이 가게 된다. 더군다나 모바일 프로그래밍 수업시간의 도우미로 활동하고 있어 더욱 많은 관심이 가게 된다. 
 내가 오늘 고찰해보고자 하는 것은, ‘과연 현 방식의 SW 교육이 의미가 있는가’이다. 현재 나는 한국디지털미디어고등학교 해킹방어과에 재학중으로, 현 커리큘럼에는 웹 프로그래밍, 모바일 프로그래밍, 데이터베이스, 정보보호가 있다. 이들 중, 웹 프로그래밍과 모바일 프로그래밍, 데이터베이스가 내가 얘기하고자 하는 SW 교육과 가장 밀접하지 않을까 싶다. 
 보통 코딩 교육이라 하면, c언어 혹은 파이썬을 시작으로 기초 프로그래밍을 교육하고, 일상에서 쉽게 접근할 수 있는 웹 / 앱 등을 개발할 수 있도록 프로그래밍을 교육한다. 
 우리 학교도 마찬가지다. 1학년때 c언어를 배우고, 2학년때 자바를 배우고 3학년때 웹 프로그래밍과 모바일 프로그래밍 등을 배우게 된다. 우리 학교는 약 3년간의 기간동안 IT에 대해 배우고, 학생들이 자신의 ‘의지’로 선택했기 때문에 우리 학교가 앞으로 의무화될 SW 공교육의 훌륭한 표본이 되지 않을까 싶다. 또한, 중/고등학교에서 SW 의무교육이 실현된다면 우리 학교에서의 교육의 모습과 흡사해질 것이라 생각한다.

나름 특성화고라고 아이맥실도 있다!!!

그래서 이 ‘훌륭한 표본’을 살펴본 결과, ‘기존의 평가 방식으로는 의미있는 SW 교육을 진행하기는 어렵다’라는 결론을 내리게 되었다. 
 왜 그러한 생각이 들었는가? 가장 큰 이유는 현 교육 방식으로는 SW 교육의 의미가 사라지기 때문이다. 1–2학년때 배운 기초적인 프로그래밍 언어로 3학년때 비로소 웹, 앱, 데이터베이스 등 실제 응용 프로그램 개발을 진행하게 되는데, 모바일 프로그래밍 수업시간에 질문을 받다보면 Java언어의 기초적인 지식이 없기 때문에 발생하는 문제가 많다. Java 언어의 기초가 부족한 상태에서 안드로이드 앱 개발을 하게 되면 당연히 깊은 이해가 결여되고 ‘사고’를 통해 프로그래밍을 하는것이 아니라 선생님의 화면에 있는 코드를 따라 작성하는 수준밖에 되지 않는다. (물론 예외는 언제나 존재하며, 나는 대부분의 경향을 가지고 얘기하는 것이다. ) 
 실제로, 어떠한 앱을 프로그래밍할 때 다양한 방식으로 코드를 작성할 수 있음에도 불구하고 이상하게 느껴질 만큼 다른 아이들의 코드가 전부 일관적이다. 
 왜 이러한 문제가 발생했을까? 나는 현 교육과정의 평가방식에 주목했다. 프로그래밍 과목의 평가 방식은 크게 두가지로 나뉜다. 코드를 작성하거나 서술형 형태인 수행평가, 시험지에 인쇄된 문제를 푸는 지필평가. 이러한 과정에서 수업시간에 배우는 간단한 예제를 코딩하여 제출하거나, 시험에 나오는 문제를 맞추기 위해 프로그래밍 언어의 기본 예약어, 기본 패키지 이름, 기초적 문법 등을 외우게 된다. 그러나 이 과정에서의 문제점은 바로 프로그래밍 언어의 학습이 실제 프로그래밍과는 연결되지 않는다는 것이다. 단순한 예제를 작성하는 것은 프로그래밍이라고 부르기 어렵다고 생각하며, 특히 지필 시험의 경우에는 실제 프로그래밍을 위한 응용으로 이어지기 매우 어렵다. 
 수학으로 예를 들면, 수학 공식을 배운 후 간단한 숫자를 대입해보고 응용없이 계속 다른 공식만 배우는 상황과 같다. 수학 공식을 응용없이 외우기만 하면 과연 얼마나 기억할 수 있을까? 수학에서 문제 해결능력과 추론 능력을 강조하듯이, SW, 프로그래밍 과목에서도 이러한 능력이 필수적이다.
 물론 현실적인 문제가 존재한다. 입시에서 중요한 것은 국영수 과목이기 때문에 내신 점수만 아니라면 대다수가 IT과목에 흥미가 없으며, 수업을 열심히 듣더라도 내신 점수를 위한 경우가 많을 것이다. 
 위와 같이 기초적인 프로그래밍 언어의 이해도와 현실적인 문제로 인한 흥미가 결여된 상태에서는 SW교육에서 강조하는 문제해결능력과 사고력의 증진이 이루어지기는 불가능하다. 대표적으로 모바일 프로그래밍 시간의 경우 프로그래밍을 하다가 에러가 발생하면 로그 화면 조차 확인하지 않는 경우가 있다. 매번 그럴때 마다 나는 로그 창을 확인하라고 하는 편이지만 이러한 현상이 해결되기는 어려울것 같다. 심지어 원래 프로그래밍을 어느 정도 한다는 친구들조차 이러한 경우가 있으며 심하면 단순 API의 사용법 조차 선생님 혹은 도우미에게 질문하는 경우가 있다. (이럴 때 구글링하라고 하고 검색할 키워드 알려주면 장난인줄 알고 무시하는 경우가!!있다 ㅜ 진짜 검색한번 하면 되는데…)
 쉬운 지식인 만큼 알려주는 것도 쉽지만 이러한 단순 문제조차 해결할 의지가 없다면 문제해결능력과 사고력이 어떻게 증진될 수 있을까. (나는 시험문제를 풀기 위해 암기하고자 하는 것과 배운 지식을 응용하기 위해 고민하는 것은 별개로 생각한다.)
 결론적으로 평가과정이 깊은 이해를 필요로 하지 않기 때문에 이러한 현상이 발생한다고 생각한다. 이러한 상황을 보았을 때, 나중에 중/고등학교에서 SW 의무교육이 시행된다고 하면 이러한 전철을 밟지 않을까 싶다. 이러한 상황을 해결하기 위해서는 1인1프로젝트와 같은 방식의 평가 과정이 적절하지 않을까 생각해본다.

이런거!!! 그런데 2학기라 사실상 점수에 영향을 주지는 않는다.

시험과 다르게 시간적 여유가 있는 상태에서 진행하는 프로젝트라면 개개인이 자신이 무엇을 만들지, 만들기 위해서 어떤 코드를 짜야할지, 문제가 발생했다면 어떻게 문제를 해결하지에 대해 천천히, 그리고 충분히 고민할 수 있는 여지가 있을 것으로 생각한다.

***태클은 언제나 환영입니다.***
jspark141515@gmail.com

Comments