예비교사의 프로그래밍 교수내용지식 향상을 위한 프로그래밍 교육프로그램 설계 Designing Programming Curriculum for Developing Programming Pedagogical Content Knowledge of Pre-service Informatics Teachers원문보기
본 연구는 프로그래밍 교육을 효과적으로 실시하기 위한 실제적 능력을 향상시키기 위하여 프로그래밍 교육 프로그램을 설계하고 적용하여 예비교사의 프로그래밍 교수내용지식의 변화를 확인한 연구이다. 제작된 교육 프로그램에서는 블록 기반 모바일 프로그래밍 언어인 앱 인벤터를 사용하였고, 문제 기반 학습 방법과 프로젝트 기반 학습 방법을 활용하였다. 개발된 교육프로그램을 예비정보교사에게 교육하고 프로그래밍 교수내용지식을 확인하기 위한 평가문항으로 자기평가를 실시하였다. 그 결과 문제 기반 학습 방법으로 프로그래밍을 학습한 후 프로그래밍 교수내용지식 점수와 교수법영역 지식의 점수가 유의하게 향상되었고, 프로젝트 기반 학습 방법을 적용한 후 내용지식영역, 교수법영역, 교육과정영역의 점수가 유의하게 향상되었다.
본 연구는 프로그래밍 교육을 효과적으로 실시하기 위한 실제적 능력을 향상시키기 위하여 프로그래밍 교육 프로그램을 설계하고 적용하여 예비교사의 프로그래밍 교수내용지식의 변화를 확인한 연구이다. 제작된 교육 프로그램에서는 블록 기반 모바일 프로그래밍 언어인 앱 인벤터를 사용하였고, 문제 기반 학습 방법과 프로젝트 기반 학습 방법을 활용하였다. 개발된 교육프로그램을 예비정보교사에게 교육하고 프로그래밍 교수내용지식을 확인하기 위한 평가문항으로 자기평가를 실시하였다. 그 결과 문제 기반 학습 방법으로 프로그래밍을 학습한 후 프로그래밍 교수내용지식 점수와 교수법영역 지식의 점수가 유의하게 향상되었고, 프로젝트 기반 학습 방법을 적용한 후 내용지식영역, 교수법영역, 교육과정영역의 점수가 유의하게 향상되었다.
This study is for developing a programming education course to improve pre-service teachers' pedagogical content knowledge(PCK) of programming education. A 40-hour training course was designed with App Inventor, a block-based mobile programming environment, and with problem-based learning method and...
This study is for developing a programming education course to improve pre-service teachers' pedagogical content knowledge(PCK) of programming education. A 40-hour training course was designed with App Inventor, a block-based mobile programming environment, and with problem-based learning method and project-based learning method. After the curriculum was adopted to 12 undergraduate students, the effect of education was tested with a programming PCK questionnaire. As a result, after a 20-hour problem-based learning class, overall score and teaching method score were enhanced significantly. After another 20-hour project-based learning class, content knowledge, teaching method, and curriculum score were improved.
This study is for developing a programming education course to improve pre-service teachers' pedagogical content knowledge(PCK) of programming education. A 40-hour training course was designed with App Inventor, a block-based mobile programming environment, and with problem-based learning method and project-based learning method. After the curriculum was adopted to 12 undergraduate students, the effect of education was tested with a programming PCK questionnaire. As a result, after a 20-hour problem-based learning class, overall score and teaching method score were enhanced significantly. After another 20-hour project-based learning class, content knowledge, teaching method, and curriculum score were improved.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서 본 연구에서는 예비정보교사의 프로그래밍 교수내용지식을 향상시킬 수 있도록 프로그래밍 내용지식과 교수방법을 학습할 수 있는 교육프로그램을 설계하였다. 설계한 교육프로그램을 학습자에게 교육하고 학습자의 프로그래밍 교수 내용지식을 측정하여 예비정보교사의 프로그래밍 교수내용지식의 향상을 측정하였다.
본 연구는 K 대학에 개설된 컴퓨터교육학과 전공과목에서 실시하였다. 연구에 참여한 예비정보 교사는 총 12명으로 남학생 6명, 여학생이 6명이다.
본 연구는 예비정보교사 교육에서 프로그래밍 교수내용지식을 향상시키기 위한 교육프로그램을 설계하고 그 효과를 검증한 연구이다.
본 연구는 예비정보교사의 프로그래밍 능력을 향상시키기 위한 교육프로그램을 설계하고 적용한 연구이다. 해당 교육프로그램의 효과를 확인하기 위하여 프로그래밍 교수내용지식에 대한 평가를 진행하였지만 적절한 비교집단이 형성되지 않아 단일집단 효과만을 판별하였다.
본 연구는 프로그래밍 교수내용지식 향상을 위하여 교육용 프로그래밍 언어인 앱 인벤터와 문제 기반 학습, 프로젝트 기반 학습을 결합한 프로그래밍 교육 프로그램을 설계하고 이를 예비정보 교사에게 적용한 연구이다. 사전 검사에서 예비정보교사의 프로그래밍 교수내용지식은 평균적으로 낮은 것으로 나타났다.
21차시부터는 프로젝트 기반 학습 형태로 수업을 진행하였다. 학습자를 일정한 모둠으로 나누고, 20차시까지 학습한 내용을 바탕으로 연구 대상자들이 제작하고자 하는 안드로이드 앱에 대한 계획을 세우게 하였다. 모둠별로 작성한 프로젝트 계획을 학습자끼리 서로 피드백한 후에 12차시에 걸쳐 모둠별 앱을 제작하도록 하였다.
가설 설정
예비정보교사의 프로그래밍 교수내용지식을 반복측정 분산분석을 통해 검정한 결과는 <표 3>, <표 4>와 같다. 모든 영역의 구형성 검정에서 구형성을 만족하였으므로 프로그래밍 교수내용지식 점수의 변화는 구형성을 가정한 통계값을 사용하였다.
제안 방법
강의를 진행하기 전에 제작한 평가지를 활용하여 사전 평가를 실시하였다. 1차시부터 4차시까지는 교육용 프로그래밍 언어의 의미와 교육용 프로그래밍 언어의 필요성에 대해 이해하고, 앱 인벤터의 사용 환경을 익히도록 하였다.
개발된 평가 도구는 Likert 5점 척도로 이루어진 자기질문지 형태의 문항지이고, 답변은 ‘매우 그렇지 않다’부터 ‘매우 그렇다’까지 답하도록 하였다. 개발된 문항은 총 20문항이고, 프로그래밍 내용지식, 교수법 지식, 교육과정 지식과 평가 지식에 관련된 문항으로 구성하였다. 개발된 문항은 <표 1>과 같다.
이 과정이 끝난 후 각 모둠의 결과물을 발표하고 발표한 결과물에 대한 평가를 진행하였다. 마지막으로 교육용 프로그래밍 언어의 프로그래밍 교육 활용에 대한 논의를 진행한 후 사후 평가를 실시하였다.
본 연구에서 설계한 교육 프로그램은 총 40시간 분량이다. 먼저 프로그래밍을 교육하기 위한 도구를 선정하였다. 학습자들은 프로그래밍 언어에 대한 지식, 프로그래밍 개념에 대한 지식, 프로그래밍 절차에 대한 지식을 발달시키는 동시에 프로그래밍을 학습자에게 교육하는 방법 또한 익혀야 한다.
학습자를 일정한 모둠으로 나누고, 20차시까지 학습한 내용을 바탕으로 연구 대상자들이 제작하고자 하는 안드로이드 앱에 대한 계획을 세우게 하였다. 모둠별로 작성한 프로젝트 계획을 학습자끼리 서로 피드백한 후에 12차시에 걸쳐 모둠별 앱을 제작하도록 하였다. 이 과정이 끝난 후 각 모둠의 결과물을 발표하고 발표한 결과물에 대한 평가를 진행하였다.
본 연구에서 설계한 교육 프로그램은 총 40시간 분량이다. 먼저 프로그래밍을 교육하기 위한 도구를 선정하였다.
따라서 본 연구에서는 예비정보교사의 프로그래밍 교수내용지식을 향상시킬 수 있도록 프로그래밍 내용지식과 교수방법을 학습할 수 있는 교육프로그램을 설계하였다. 설계한 교육프로그램을 학습자에게 교육하고 학습자의 프로그래밍 교수 내용지식을 측정하여 예비정보교사의 프로그래밍 교수내용지식의 향상을 측정하였다.
연구 대상의 학습 결과를 평가하기 위해서 수업의 사전, 중간, 사후에 프로그래밍 교수내용지식을 평가하였다. 사전 평가는 연구 대상자가 프로그래밍 교육에 대해 어떤 지식을 가지고 있는지를 평가하기 위한 것이고, 중간, 사후 평가는 연구 대상자의 변화를 살펴보기 위한 것이다.
모둠별로 작성한 프로젝트 계획을 학습자끼리 서로 피드백한 후에 12차시에 걸쳐 모둠별 앱을 제작하도록 하였다. 이 과정이 끝난 후 각 모둠의 결과물을 발표하고 발표한 결과물에 대한 평가를 진행하였다. 마지막으로 교육용 프로그래밍 언어의 프로그래밍 교육 활용에 대한 논의를 진행한 후 사후 평가를 실시하였다.
학습자들은 프로그래밍 언어에 대한 지식, 프로그래밍 개념에 대한 지식, 프로그래밍 절차에 대한 지식을 발달시키는 동시에 프로그래밍을 학습자에게 교육하는 방법 또한 익혀야 한다. 이러한 과정에서 일어날 수 있는 인지적인 부하를 줄이고 다양한 형태의 프로그래밍 언어를 활용하는 방법을 익히기 위하여 본 교육프로그램에서는 교육용 프로그래밍 언어인 앱 인벤터를 사용하였다. 앱 인벤터는 블록 기반의 프로그래밍 방식을 가지고 있는 교육용 프로그래밍 언어로써 익히기 쉽고 실제 모바일 기기에서 동작을 확인할 수 있는 장점이 있어 프로그래밍 교육에서 다양하게 활용되고 있다[10][11].
후반 20시간은 집단별 프로 젝트 기반 학습방식으로 구성하였다. 학습자들을 소규모 집단으로 나누고 스스로 제작하고자하는 앱 프로젝트를 계획한 다음 이를 제작하고 평가하는 과정을 거치도록 하였다. 교육 내용의 구성은 <표 2>에 정리되어 있다.
기존의 초중등 학생 대상의 교육내용을 대학생 수준에 맞게 재구성하여 앱 인벤터 개발환경과 앱 인벤터 기능을 학습하기 위한 다양한 앱을 학생이 제작하고, 앱의 동작에 포함된 다양한 프로그래밍 개념 및 학습 방법에 대해 학생이 이해하도록 교육하였다[10]. 후반 20시간은 집단별 프로 젝트 기반 학습방식으로 구성하였다. 학습자들을 소규모 집단으로 나누고 스스로 제작하고자하는 앱 프로젝트를 계획한 다음 이를 제작하고 평가하는 과정을 거치도록 하였다.
대상 데이터
본 연구는 K 대학에 개설된 컴퓨터교육학과 전공과목에서 실시하였다. 연구에 참여한 예비정보 교사는 총 12명으로 남학생 6명, 여학생이 6명이다. 참여 학생은 모두 컴퓨터 교육을 전공하는 학부생들이고 3학년 8명, 4학년이 4명이다.
데이터처리
연구 대상자의 프로그래밍 교수내용지식이 문제 기반 학습 형태의 수업을 통해 어떻게 변화하였는지를 확인하기 위해 사전검사와 중간검사의 결과를 대응표본 t 검정하였다. 검정 결과는 <표 5>와 같다.
연구 대상자의 프로그래밍 교수내용지식이 프로젝트 기반 학습을 통해 어떻게 변화하였는지 확인하기 위하여 중간검사와 사후검사의 결과를 대응표본 t 검정을 통해 비교하였다. 결과는 <표 6>과 같다.
평가의 시기가 두 번 이상이기 때문에 연구 대상의 변화가 유의미한지 알아보기 위하여 반복측정 분산분석을 실시하였고, 각 과정별 변화를 알아보기 위하여 사전–중간, 중간–사후 평가 결과에 대해 각각 대응표본 t 검정을 실시하여 결과를 분석하였다.
성능/효과
검사의 유의 확률은 .000으로 p > .05 범위를 만족하기 때문에 예비교사의 프로그래밍 교수내용지식에는 유의한 변화가 있는 것으로 나타났다.
05 범위를 만족하기 때문에 예비교사의 프로그래밍 교수내용지식에는 유의한 변화가 있는 것으로 나타났다. 결과적으로 설계한 교육 프로그램을 통해 예비정보교사의 프로그래밍 교수내용지식이 유의하게 향상되었음을 확인할 수 있었다. 많은 학생들이 사전 검사에서는 프로그래밍을 어떻게 교육해야 할지에 대한 자신을 충분하게 가지지 못했던 것과 비교하여, 교육 프로그램을 완료한 후에 실시한 논의와 설문에서는 학습한 프로그래밍 언어를 활용하여 학습자에게 교육하는 교육 방식에 대해 구체적으로 서술하는 것을 확인할 수 있었다.
내용지식 영역 점수 변화의 유의확률은 .004로 p > .05 범위를 만족하기 때문에 예비정보교사의 프로그래밍 내용지식이 유의하게 향상되었음을 확인할 수있었다.
결과적으로 설계한 교육 프로그램을 통해 예비정보교사의 프로그래밍 교수내용지식이 유의하게 향상되었음을 확인할 수 있었다. 많은 학생들이 사전 검사에서는 프로그래밍을 어떻게 교육해야 할지에 대한 자신을 충분하게 가지지 못했던 것과 비교하여, 교육 프로그램을 완료한 후에 실시한 논의와 설문에서는 학습한 프로그래밍 언어를 활용하여 학습자에게 교육하는 교육 방식에 대해 구체적으로 서술하는 것을 확인할 수 있었다.
사전 검사에서 예비정보교사의 프로그래밍 교수내용지식은 평균적으로 낮은 것으로 나타났다. 문제 기반 학습 방식으로 5주간 20시간 분량의 강의를 진행하고 중간 평가를 실시한 결과, 평균 점수와 교수법 영역의 점수가 유의미하게 상승하였다. 프로젝트 기반 학습 방식으로 5주간 20시간 분량의 강의를 추가적으로 진행하였을 때, 평가영역의 점수를 제외한 모든 분야의 점수가 유의미하게 향상된 것을 확인 할 수 있었다.
몇몇 학생들은 본 교육 프로그램에서 학습한 문제 중심 교수법이나 프로젝트 중심 교수법을 활용하여 중학생과 고등학생에게 프로그래밍을 교육하고자 하였고, 몇몇 학생은 자신이 수업을 경험하면서 부족한 부분을 중심으로 교수방법을 재구성하는 교육계획을 작성 하였다. 이러한 답변들로 미루어 보아 학생들이 실제로 프로그래밍을 교육할 때 활용할 수 있는 지식이 갖추어졌음을 파악할 수 있었다.
중간검사와 사후검사의 비교에서는 평가영역의 점수를 제외하고는 모두 유의하게 변화한 것으로 나타났다. 이의 원인은 프로젝트 학습을 통해 모둠끼리 프로그램을 실제로 만들어가는 과정을 거치고, 결과물을 서로 평가하며 피드백하는 과정을 통해 내용지식과 교수법지식, 교육과정지식이 향상된 것으로 판단된다.
프로젝트 기반 학습 방식으로 5주간 20시간 분량의 강의를 추가적으로 진행하였을 때, 평가영역의 점수를 제외한 모든 분야의 점수가 유의미하게 향상된 것을 확인 할 수 있었다. 최종적으로 반복측정 분산분석을 실시한 결과 연구 대상의 프로그래밍 교수내용지식의 향상이 모든 분야에서 유의미하게 나타났다. 단순히 예비교사의 교수내용지식점수만 향상된 것이 아니라 실제로 중등학교에서 학생들에게 프로그래밍 교육을 진행하기 위한 기본적인 지식이 형성되었음을 확인할 수 있었다.
문제 기반 학습 방식으로 5주간 20시간 분량의 강의를 진행하고 중간 평가를 실시한 결과, 평균 점수와 교수법 영역의 점수가 유의미하게 상승하였다. 프로젝트 기반 학습 방식으로 5주간 20시간 분량의 강의를 추가적으로 진행하였을 때, 평가영역의 점수를 제외한 모든 분야의 점수가 유의미하게 향상된 것을 확인 할 수 있었다. 최종적으로 반복측정 분산분석을 실시한 결과 연구 대상의 프로그래밍 교수내용지식의 향상이 모든 분야에서 유의미하게 나타났다.
본 연구는 예비정보교사의 프로그래밍 능력을 향상시키기 위한 교육프로그램을 설계하고 적용한 연구이다. 해당 교육프로그램의 효과를 확인하기 위하여 프로그래밍 교수내용지식에 대한 평가를 진행하였지만 적절한 비교집단이 형성되지 않아 단일집단 효과만을 판별하였다. 또한 실험집단의 표본수가 적어 연구결과를 일반화하기에는 어려움이 있다.
후속연구
또한 교수내용지식은 자기 평가 형태의 평가지로 교육과정이나 교육 내용이 변화하거나, 교육의 도구가 달라지거나, 시간에 따라 변화하는 특징을 보인다. 따라서 장기적인 관점에서 프로그래밍 교수내용지식을 평가할 수 있는 객관적인 평가지의 개발 및 타당성 평가가 이루어져야 하고, 예비정보교사와 정보교사가 프로그래밍 교육에 대한 교수내용지식을 충분히 발달·유지시킬 수 있는 다양한 교사교육프로그램이 구성되고 제공되어야 할 것으로 판단된다.
전 세계적으로 정보 교육의 중요성이 점차 강조되고 있고, 그 중에서도 프로그래밍과 코딩에 관련된 관심과 교육 시도가 증가하고 있다. 이전까지의 컴퓨팅 교육이 컴퓨팅 기기, 그 중에서도 컴퓨터에서 사용할 수 있는 몇몇 소프트웨어를 활용하는 방식을 학습하는 것을 중심으로 이루어졌다면, 앞으로 진행될 컴퓨팅 교육은 다양한 컴퓨팅 기기를 활용하여 문제를 해결하는 교육을 중심으로 이루어지게 될 것이다. 컴퓨팅을 활용한 다양한 형태의 문제해결방식 중에서도 프로그래밍은 프로그래밍 언어라는 논리적 도구를 활용하여 학습자가 접할 수 있는 실세계의 복잡한 문제를 다양한 방식으로 해결하는 경험을 가질 수 있게 한다.
또한 실험집단의 표본수가 적어 연구결과를 일반화하기에는 어려움이 있다. 추가적인 연구를 통해 좀 더 큰 집단에서 다양한 형태의 프로그래밍 언어를 활용하였을 때 예비교사의 교수내용지식의 변화를 비교하여 더욱 객관적으로 앱 인벤터 교육의 효과를 검증할 필요성이 있다. 또한 교수내용지식은 자기 평가 형태의 평가지로 교육과정이나 교육 내용이 변화하거나, 교육의 도구가 달라지거나, 시간에 따라 변화하는 특징을 보인다.
질의응답
핵심어
질문
논문에서 추출한 답변
교과 지식이란?
일반적으로 교사가 가져야 하는 지식을 분류하였을 때 교과 지식(subject matter knowledge), 교육학 지식 (pedagogical knowledge), 맥락 지식(knowledge of context)으로 나누어서 논의하고 있다[4][5]. 교과 지식은 교사가 특정한 내용을 가르치기 위해서 가지고 있어야 하는 해당 분야에 대한 지식을 말한다. 현대의 교육에서는 단순히 해당 분야의 사실이나 절차적 지식을 암기하는 것뿐만 아니라 교육하고자 하는 분야의 핵심 개념, 내용간의 관계, 추론능력, 활용능력 등의 지식 또한 내용 지
프로그래밍 학습이 어려운 이유는 무엇인가?
프로그래밍은 컴퓨터 과학에서 중요하고 필수적인 부분이지만 학습자가 학습하기 어려워하는 교육내용이기도 하다. 프로그래밍 학습의 어려움은 다양하게 보고되고 있지만 많은 경우 프로그래밍 언어가 가지고 있는 프로그래밍 문법을 습득하기가 쉽지 않고, 알고리즘이나 프로그래밍 전략을 직관적으로 이해하기 어렵기 때문에 프로그래밍을 학습자가 어려워한다고 알려져 있다[2][3]. 프로그래밍 학습의 어려움은 곧 프로그래밍 교육의 어려움이기도 하다.
교육프로그램에 활용한 교수학습방법은 문제 기반 학습과 프로젝트 기반 학습이 있는데, 이것은 어떤 교육방법인가?
교육프로그램에 활용한 교수학습방법은 문제 기반 학습(problem-based learning)과 프로젝트 기반 학습(project-based learning)이다. 문제 기반 학습과 프로젝트 기반 학습은 실제 상황과 유사한 문제나 프로젝트를 해결하는 과정을 통해 학습자가 해당 영역의 교육내용을 스스로 학습할 수 있도록 유도하는 교육방법이다. 문제 기반 학습과 프로젝트 기반 학습은 학습자가 능동적으로 학습을 진행하고, 실제적인 해결책을 생성하고 평가하는 과정을 거치기 때문에 프로그래밍 교육에서 활발하게 활용되고 있다[16][17].
참고문헌 (17)
Resnick, M., Maloney, J., Monroy- Hernandez, A., Rusk, N., Eastmond, E., Brennan, K. Millner, A., Rosenbaum, E., Silver, J. Silverman, B. & Kafai, Y. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60-67.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137-172.
소경희 (2003). '교사 전문성'의 재개념화 방향 탐색을 위한 기초연구. 교육학연구, 21(4), 77-96.
Grossman, P. L. (1990). The making of a teacher: Teacher knowledge and teacher education. Teachers College Press, Teachers College, Columbia University.
Abell, S. K. (2007). Research on science teacher knowledge. In S. K. Abell and N. G. Lederman (Eds.), Handbook of Research on Science Education. Mahwah, NJ: Lawrence Erlbaum Associates Publishers.
Magnusson, S., Krajcik, J., and Borko, H. (1999). Nature, sources, and development of pedagogical content knowledge for science teaching. In J.Gess-Newsome and N. G. Lederman (Eds.), Examining pedagogical content knowledge, Boston: Kluwer Academic Publishers.
박준기 (2011). 전문성 발달 단계를 반영한 교사자격기준 개발 및 타당성 분석. 박사학위 논문, 단국대학교 대학원.
Jaworski, B., & Gellert, U. (2003). Educating new mathematics teachers: Integrating theory and practice, and the roles of practising teachers. In Second international handbook of mathematics education, 829-875, Springer Netherlands.
안상진, 이영준 (2014). 앱 인벤터를 활용한 초,중등 프로그래밍 교육 방안. 컴퓨터교육학회 논문지, 17(5), 79-88.
Gao, M., Johnson, J., Reed, D., Sheller, C., & Turbak, F. (2015). Using App Inventor in Introductory CS Courses. In Proceedings of the 46th ACM Technical Symposium on Computer Science Education, 346-347.
Soares, A., & Martin, N. L. (2015). Teaching Non-Beginner Programmers with App Inventor: Survey Results and Implications. Information Systems Education Journal, 13(5), 24.
박성혜 (2003). 교사들의 과학 교과교육학 지식 측정도구 개발. 한국교원교육연구, 20(1), 105-134.
김자미, 윤일규, 이원규 (2010). 정보교과 교수내용지식(PCK) 수준 측정 문항 개발 및 타당화. 컴퓨터교육학회 논문지, 13(6), 23-34.
O'Grady, M. J. (2012). Practical problem-based learning in computing education. ACM Transactions on Computing Education (TOCE), 12(3), 10.
Blikstein, P. (2011). Using learning analytics to assess students' behavior in open-ended programming tasks. In Proceedings of the 1st international conference on learning analytics and knowledge, 110-116.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.