국문 요약
컴퓨터 프로그래밍 교육의 중요성 및 효과적인 교육방법 연구
제7차 교육과정에서는 ICT를 이용한 정보의 생성, 처리, 분석, 검색 등에 관한 기초적인 정보 소양 능력을 기르고, 학습 및 일상생활의 문제 해결에 정보통신기술을 적극적으로 활용할 것을 교육 목표로 하고 있다. 실제로는 ICT 소양교육보다는 ICT 활용교육에 더 중점적으로 교육이 이루어지고 있어서 워드프로세서, 파워포인트, 스프레드시트 등과 같은 응용 프로그램 위주로 수업이 진행되고 있다. 또한, 컴퓨터 교과가 선택과목으로 편제되어서 수업을 할 수 있는 충분한 시수를 확보하지 못하고, 교육과정이 비체계적이어서 중복되는 내용이 많고, 타교과와 연계성이 없어 학습 활동에 활용하는데 어려움이 있다는 문제를 갖고 있다.
본 연구는 이러한 컴퓨터 교육의 문제점에 대한 방안을 제시하기 위해 다음과 같이 연구하였다. 첫째, 컴퓨터 교육이 바람직한 방향으로 가기 위해서는 응용 프로그램 사용법 위주의 교육에서 벗어나 컴퓨터 과학 중심으로 진행되어야 한다고 보고, 컴퓨터 과학의 핵심인 컴퓨터 프로그래밍 교육에 대해 연구하였다. 둘째, 컴퓨터 과학의 핵심인 프로그래밍 교육을 통해서 얻을 수 있는 효과성에 대한 고찰을 하였다. 프로그래밍 교육은 고등사고력과 문제해결력을 고양할 수 있다는 선행연구가 많이 발표되었으며 이를 통하여 그 중요성과 필요성을 강조하였다. 셋째, 이미 많은 선행 연구가 발표되었음에도 불구하고 프로그래밍 교육이 활성화되기는커녕 오히려 퇴보하고 있는 현실에서 그 문제점을 고찰하였다. 넷째, 프로그래밍 교육의 필요성 중에 하나로서 소프트웨어 산업 발전을 위한 인재양성을 기대할 수 있다는 관점에서 고부가가치의 소프트웨어 산업의 현황을 고찰하였다. 소프트웨어 산업은 타 산업을 고도화 하고 지능화하기 위한 필수적인 산업 인프라로서 산업 성장률이 높고 부가가치가 크며 고용창출의 효과가 커서 경제 성장을 견인할 수 있는 전략 산업이다. 다섯째, 고등사고력과 문제해결력을 고양하고 소프트웨어 산업을 주도할 인재를 양성할 수 있는 효과적인 교육방법을 연구하였다. 기존의 일방적이고 지식 전달적인 교육방법에서 벗어나 제7차 교육과정의 이론적 배경이 되는 구성주의에 입각한 교육방법을 연구하였다.
이러한 연구 결과 다음과 같은 결론을 얻을 수 있었다. 컴퓨터 프로그래밍은 설계 - 구현 - 실행 - 디버깅의 과정을 반복하면서 자연스럽게 고등사고력이 길러진다. 고등사고력이란 창의적 사고, 반성적 사고, 비판적 사고를 일컫는데, 창의적 사고란 문제 해결을 위해서 기여할 수 있는 유용한 생각이다. 프로그래밍은 주어진 문제를 해결하는 과정에서 프로그래밍 언어를 이용하여 다양한 방법을 생각하여 적용하기 때문에 창의적 사고에 도움이 된다. 반성적 사고란 문제에 대해 심사숙고하는 탐구적 사고이며, 프로그래밍 과정의 디버깅은 자신이 실행한 결과에 대해서 다시 살펴보고 보다 효율적인 방법을 생각하고 적용하므로 자연스럽게 반성적 사고를 하게 된다. 비판적 사고는 사고 구조를 잘 통제하고, 그 구조에 지적인 기준을 부과하여 사고의 질을 높이는 것이다. 프로그래밍은 오류 없이 실행된다고 끝나는 것이 아니라 다시 프로그램을 분석하고 비판하는 과정을 거쳐 문제 해결에 기여하는 유용한 생각인지 판단하는 과정이 필요하다. 문제해결력이란 문제의 제기, 문제의 개념과 문제 해결을 위한 전략 설정, 문제에 대한 정보의 조직, 자원의 할당, 문제해결 과정의 모니터링, 평가의 과정을 수행하는 능력이다. 이 과정은 프로그램 개발과정과 유사하며, 프로그래밍 교육에서 반드시 필요한 알고리즘적 사고를 통해서 길러질 수 있다. 알고리즘적 사고란 문제 해결에 있어서 알고리즘이 적용되어 창의적이고 비판적인 사고로써 문제를 해결하는 과정을 말한다. 이와 같이 프로그래밍 교육을 통해서 길러진 고등사고력과 문제해결력은 타 교과에 연계되어 보다 효율적이고 효과적인 학습을 할 수 있을 것으로 예상된다. 또한, 우리나라의 소프트웨어 산업은 국가 경제 산업을 견인하는 전략산업으로서 업계 종사자의 양적 증가뿐만 아니라 질적 증가가 반드시 필요하므로 중등학교부터 교육되어 인재를 양성하는 것이 바람직하다.
과거의 컴퓨터 교과내용학은 당시에 생소한 매체인 컴퓨터에 대한 소양을 기르는 것에 주된 목표를 두었다. 그러나 지금은 컴퓨터 자체에 대한 교육보다는 그것을 통해서 얻을 수 있는 교육적 효과가 더 중요하다. 학교의 프로그래밍 수업은 한 학기 또는 일 년 동안 프로그래밍 언어의 문법을 배우고 익히는데 소요된다. 그 결과 학생들은 프로그래밍 수업을 이수하였음에도 불구하고 프로그램 작성을 못하는 경우가 많다. 본 논문에서 제시하는 효과적인 교육방법은 단기간에 프로그래밍 언어의 문법을 배우고 난 후에 작은 단위의 프로젝트를 수행함으로서 교육적 효과를 얻자는 것이다. 프로그래밍 언어의 문법을 학습하기 위해서는 전통적인 방법인 강의법이 필요하겠지만, 그 다음에는 문제 중심 학습 또는 임무 중심 교수학습 등을 통하여 자연스럽게 고등사고력과 문제해결력을 높여 지식정보사회가 요구하는 인성을 갖추도록 하고, 문법 익히기에 부담을 덜고 실제 산업 현장에서 사용할 수 있는 기술을 익힘으로서 소프트웨어 산업의 기반이 되는 인재를 양성하는데 주안점을 둔다. 효과적인 교육방법 설계를 위해서 다양한 교육방법의 이론과 유형을 제시하였으며 Dick & Carey 모델을 이용하여 컴퓨터 프로그래밍 수업에서 활용할 수 있는 수업 모델을 제시하였다.