• 검색 결과가 없습니다.

Programming-Based Physics Learning with a Focus on the Evaluation of Teaching Materials Developed by Pre-service Teachers and by using

N/A
N/A
Protected

Academic year: 2021

Share "Programming-Based Physics Learning with a Focus on the Evaluation of Teaching Materials Developed by Pre-service Teachers and by using"

Copied!
15
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Vol. 69, No. 5, May 2019, pp. 532∼546 http://dx.doi.org/10.3938/NPSM.69.532

Case Study on the Development of Teaching Materials for

Programming-Based Physics Learning with a Focus on the Evaluation of Teaching Materials Developed by Pre-service Teachers and by using

Perception Analysis of Development Experience

Jun Haeng Lee · Youngrae Ji · Seung Chul Chae

Department of Physics Education, Seoul National University, Seoul 08826, Korea (Received 20 February 2019 : revised 19 April 2019 : accepted 19 April 2019)

We investigated the educational effects of physics teaching materials development based on the Python programming in pre-service teachers education. We collected 19 programming-based physics teaching materials from 26 pre-service teachers who learned about the development of physics teaching materials by using Python and Jupyter notebook, and we interviewed 6 pre-service teachers individually. The collected teaching materials were quantitatively evaluated, and the interview results were analyzed qualitatively after the transcription. Teaching materials development based on Python programming is expected to improve the teaching expertise of pre-service teachers and to reduce difficulties in physics learning.

PACS numbers: 01.40.J-, 01.50.H-

Keywords: Physics education, Programming, Pre-service teacher, Teaching materials, Python

프로그래밍 기반 물리 학습을 위한 교수자료 개발의 사례연구 예비교사가 개발한 교수자료의 평가 및 개발 경험에 대한 인식 분석을 중심으로

이준행 · 지영래

· 채승철

서울대학교 물리교육과, 서울 08826, 대한민국

(2019년 2월 20일 받음, 2019년 4월 19일 수정본 받음, 2019년 4월 19일 게재 확정)

이 연구의 목적은 예비교사 교육에서 프로그래밍 기반 물리 교수자료 개발의 교육적인 효과를 알아보는 것이다. 이를 위해 Python과 Jupyter notebook을 이용한 물리 교수자료 개발에 대해 학습한 26명의 예비교사로부터 19개의 프로그래밍 기반 물리 교수자료를 수집하였으며, 6명의 예비교사를 대상으로 개별 면담을 진행하였다. 수집된 교수자료는 평가를 통해 양적으로 분석하였으며, 면담 결과는 전사 후 질적으로 분석하였다. Python 프로그래밍 기반의 교수자료 개발 과정은 예비교사의 수업전문성을 향상시킬 수 있을뿐만 아니라 물리 학습에서의 어려움을 감소시켜 줄 것으로 기대된다.

PACS numbers: 01.40.J-, 01.50.H-

Keywords: 물리교육, 프로그래밍, 예비교사, 교수자료, 파이썬

E-mail: [email protected]

This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

(2)

I. 서론

컴퓨터 프로그래밍 언어를 활용한 학습은 시뮬레이션을 통해 실행이 불가능한 아이디어를 물리적인 제약없이 탐 구할 수 있게 해주고 [1], 시각화를 통해 눈에 보이지 않는 추상적인 자연 현상을 이해할 수 있게 해주며 [2], 기호연 산을 통해 수학적인 제약 없이 해석적으로 문제를 다룰 수 있게 해준다 [3]. 물리교육에서는 전통적으로 두 가지 방 식의 프로그래밍 기반 학습이 시도되어 왔는데, 한 가지는 학습자가 프로그래밍 언어를 이용하여 직접 모델링을 하며 학습하는 방식이며, 다른 한 가지는 이미 개발된 시뮬레이 션의 조작을 통해 학습하는 방식이다 [4]. 전자의 방법은 대학의 전산물리학 등 전공 수업에서 주로 사용되어 왔으 며, 후자의 방법은 중학교 또는 고등학교 수준의 수업에서 주로 사용되어 왔다. 그러나 최근 코딩교육의 중요성이 강 조되며 여러 교육용 프로그래밍 언어들이 개발됨에 따라, 초등부터 대학에 이르기까지 다양한 수준에서 프로그래밍 기반의 학습이 이루어지고 있다.

프로그래밍 기반의 학습은 학습자가 능동적으로 프로그 래밍 언어를 활용할 수 있을 때 효과적이다. 교육용 프로 그래밍 언어인 Logo의 개발자 Papert(1980)는 구성주의에 입각하여 학습 과정에서 컴퓨터가 아이를 프로그래밍 하 는 것이 아니라 아이가 컴퓨터를 프로그래밍 해야 한다고 얘기한 바 있다 [5]. 학습자가 능동적으로 프로그래밍 언 어를 활용하여 모델링하는 활동은 중학생을 대상으로 한 연구에서 문제해결능력을 향상시키고 과학적인 추론을 유 도하는데 기여하였다 [6,7]. 또한, Pierson과 Clark(2018) 은 프로그래밍 언어를 활용하여 능동적으로 모델링하는 구 성주의적 프로그래밍 환경 (Constructionist programming environments)이 학습자로 하여금 탐구하고, 표현하며, 법 칙을 적용하도록 촉진하여 개념의 성장을 돕는다고 하였다 [8].

시뮬레이션 조작을 통한 학습은 공변량을 확인하는데 도움을 줄 수 있지만, 개념을 응용하고 인과 관계를 확인하 는데는 도움이 되지 못하기 때문에, 학습자가 능동적으로 프로그래밍 언어를 활용하여 모델링하는 활동과 병행되어 야 한다 [9]. 그러나 능동적인 모델링 활동은 학습자가 프로 그래밍 언어를 충분히 학습해야 한다는 부담을 수반한다.

이러한 학습 부담을 줄일 수 있는 방안으로는 Desmos [13], Labview [15], Scratch [16], 그리고 StarLogo Nova [8] 등 의 그래픽 기반 프로그래밍 언어를 사용하는 방법, 그리고 텍스트 기반 프로그래밍 언어를 사용하면서 교수자가 미리

코드를 제공하고 학습자로 하여금 필요한 부분만을 수정하 도록 하는 하이브리드 방법 (Hybrid approach) [4]이 있다.

프로그래밍 기반의 물리 학습이 효과적으로 진행되려면 능동적인 학습 환경과 함께 교수자의 역량도 뒷받침되어야 한다. Wilensky와 Reisman(2006) 은 프로그래밍 기반의 모델링 학습에서 비판적 사고가 쉽게 획득되지는 않으며, 학습자가 좋은 모델을 구축하는 것을 넘어 비판적 사고를 할 수 있게 하려면 교수자의 적절한 안내 (Guidance) 가 필 요하다고 주장하였다 [17]. Lorch 등 (2010) 은 특히 학업 성취도가 낮은 학습자의 경우에 교사의 지도와 모델링을 통한 조작이 함께 수행될 때 가장 학습 효과가 높다는 것을 확인하였다 [18]. 또한, Wu(2013) 등의 연구에서도 교수 자의 직접적인 지도는 학습자가 변수 사이의 인과 관계를 이해하는 것을 촉진하는 것으로 나타났다 [9].

그러나 프로그래밍 기반의 학습을 위한 교사의 수업전 문성은 아직까지 부족한 실정이다 [10,11]. Choi 등 (2017) 은 특히 교사들이 스스로 교수자료를 제작하는 능력이 부 족함을 지적한 바 있는데, 기존에 개발된 자료를 활용할 수만 있는 교사는 원하는 그림을 구현하는데 제약이 있 고 시뮬레이션에 변화를 주기 어렵다 [10]. 프로그래밍 을 통한 교수자료 개발 경험은 교사가 스스로 교수자료 를 제작할 수 있는 자신감을 향상시키고 기술 활용 전반 에 대한 수업전문성인 TPACK(Technological Pedagogical and Content Knowledge) 을 향상시키는 것으로 보고되었 다 [10,11]. TPACK은 Misha와 Koehler(2006) 가 제안한 미래 교사가 지녀야할 수업전문성으로 [12], Shulman(1986) 이 제안한 PCK(Pedagogical Content Knowledge) [13]에 TK(Technological Knowledge)를 추가한 것이다.

이러한 수업전문성의 개발은 예비교사 교육 단계에서부 터 이루어질 필요가 있다 [14]. 그러나 예비교사 교육에서 프로그래밍 기반의 교수자료 개발 과정을 도입하여 산출물 을 평가하거나 구체적으로 사례를 분석한 연구는 많이 진 행되지 않았다 [10,11]. 또한, 수업전문성 향상의 효과에만 초점이 맞춰져 있어 개발 과정에서 발생하는 어려움 등 예 비교사 교육에 도입했을 때 발생할 수 있는 문제에 대해서는 많은 연구가 이루어지지 않았다. 프로그래밍 기반의 물리 학습에 대한 기존의 많은 연구들은 연구자가 시뮬레이션을 개발하는데 초점이 맞춰져 있거나 [15,16,19–24], 개발된 시 뮬레이션을 수업에 적용했을 때 학습 효과를 연구한 경우가 많았다 [4,6–9,25]. 하지만 예비교사 교육에서 프로그래밍 기반의 교수자료 개발 과정을 도입하기 위해서는 예비교사 스스로가 프로그래밍을 통해 교수자료를 개발하는 과정을 살펴보고, 그 결과물을 분석할 필요가 있다.

이 연구는 중등 물리 예비교사들을 대상으로 프로그래밍 기반 물리 교수자료 개발을 위한 워크숍을 진행하고, 예비

(3)

교사들이 개발한 프로그래밍 기반 물리 교수자료를 평가 하였으며, 개발 과정 및 경험에 대한 인식을 분석하였다.

이를 통해 프로그래밍 기반 교수자료 개발과정이 예비교사 교육에 도입되었을 때 교육적인 효과를 확인하고 시사점을 도출하고자 하였다. 예비교사들은 텍스트 기반의 객체지향 프로그래밍 언어인 Python [26]을 활용하여 시뮬레이션, 시 각화, 그리고 기호연산의 세 가지 학습 요소를 구현하였으 며, Jupyter notebook을 이용하여 교수자료를 편집하였다.

Jupyter notebook은 웹 브라우저 상에서 코딩과 문서 를 한 화면에 표현하며 편리한 대화형 작업환경을 제공하 는 Python 라이브러리이다 [27,28]. Jupyter notebook을 통해 교수자는 텍스트와 코드를 하나의 자료로 제공할 수 있으며, 학습자는 별도로 계산기를 준비하거나 손으로 그 래프를 그릴 필요 없이 계산과 시각화를 손쉽게 수행할 수 있다. 또한, 파일의 형태로 저장할 수 있어 배포와 수정이 용이하고, Python과 Jupyter notebook이 설치된 태블릿 PC와 스마트폰에서도 구동이 가능하다.

연구 질문은 다음과 같다.

1) 중등 물리 예비교사들이 개발한 프로그래밍 기반 물리 교수자료의 내용과 수준은 어떠한가?

2) 교수자료 개발 과정에서 중등 물리 예비교사들의 고 민과 어려움은 무엇인가?

3) 프로그래밍 기반 교수자료 개발에서 Python 과 Jupyter notebook 활용의 장점, 프로그래밍 기반 모델링 의 물리 교수학습 효과, 그리고 예비교사가 갖춰야 할 프로 그래밍 역량은 무엇인가?

II. 연구방법

1. 연구설계

이 연구는 서울소재 사범대학 물리교육과에 재학 중인 예비교사 26명을 대상으로 진행되었다. 이들은 전산물리 및 교육 수업을 수강하는 학부 2-4학년 학생들로, 2학년 80.8%, 3학년 11.5%, 그리고 4학년 8.7%로 구성되었으며, 남학생 76.9%, 여학생 23.1%이다. 전산물리 및 교육은 2학 년 전공필수 과목으로 컴퓨터 시뮬레이션을 할 수 있는 프로 그램 및 언어 (Excel Visual Basic for Application(VBA), Python)를 학습하고, 중고등학교 수업에 제시되는 물리적 상황을 컴퓨터 프로그래밍을 통해 시뮬레이션 하는 것을 목표로 한다.

수업은 총 15차시로 구성되었으며 이중 1차시 수업에 해 당하는 4시간 동안 프로그래밍 기반 물리 교수자료 개발을 위한 워크숍을 진행하였다. 워크숍을 통해 예비교사들은

Table 1. Overview of computational physics and educa- tion class.

Weeks Contents

1-6 Develop simulation by using Excel VBA

7 Midterm exam

8 Workshop for developing programming based teaching materials

(a) tutorial for Python and Jupyter notebook (b) symbolic calculation and visualization by

using SymPy and Matplotlib

(c) develop numerical and stochastic simula- tion by using SciPy and NumPy

(d) practice for developing programming based teaching materials

9-13 Perform numerical calculation by using Python 14 Final exam

15 Presentation for students developed program- ming based teaching materials

Python 기초문법과 Jupyter notebook 사용법, SymPy를 이용한 기호연산, SciPy와 NumPy를 이용한 시뮬레이션, 그리고 Matplotlib을 이용한 시각화 방법에 대해 학습하였 다. SymPy는 미적분 계산과 방정식 풀이 등의 기호연산을 수행할 수 있는 컴퓨터 대수 (Computer Algebra) 프로그 램이며 [29], SciPy는 미분방정식의 수치계산, NumPy는 선형대수, 그리고 Matplotlib은 그래프와 애니메이션 등의 시각화를 위한 Python 라이브러리이다 [28].

워크숍 이후 예비교사들은 각자 물리 교과서에서 임의의 단원을 선정하여 프로그래밍 기반 교수자료를 개발하고 마 지막 차시에 결과물에 대해 발표하였다. Fig.1은 워크숍에 서 사용된 프로그래밍 기반 물리 교수자료의 예로 수치계 산을 바탕으로 포물선 운동을 시뮬레이션하여 시각화하였 으며, 기호연산을 통해 방정식을 유도하였다. 전산물리 및 교육 수업과 프로그래밍 기반 물리 교수자료 개발을 위한 워크숍의 개요는 Table 1과 같다.

2. 자료수집

이 연구에서는 분석을 위해 학생 산출물과 음성 녹음 자 료를 수집하였다. 학생 산출물은 예비교사들이 직접 개발 하고 발표한 프로그래밍 기반 물리 교수자료이다. Fig.2는 예비교사들이 개발한 교수자료를 Jupyter notebook에서 구동한 예이다. 교수자료는 파일의 형태 (*.ipynb) 로 제출 되었으며, 총 19개의 교수자료를 수집하였다. 이러한 자료 를 통해 워크숍을 경험한 예비교사들이 교수자료 개발에 Python과 Jupyter notebook을 어떻게 활용하였는지 확인 할 수 있다. 전체 학생 산출물의 수준, 주제, 그리고 사용된 프로그래밍 요소는 Table2에 제시하였다.

(4)

Fig. 1. (Color online) Programming based physics teaching material for projectile motion used in workshop. It was developed in Python and Markdown languages, and run on Jupyter notebook. All three programming elements:

simulation, visualization, and symbolic computation were used.

Table 2. Overview of programming based physics teaching materials developed by pre-service teachers.

Student No. Level Topic Programming elements

Simulation Visualization Symbolic computation

1 Secondary Electric field

2 College Simple harmonic, damped oscillation

3 Secondary Photoelectric effect

4 College Simple harmonic motion

5 College Wave equation

6 Secondary Collision

7 Secondary Kepler’s law

8 College Simple harmonic oscillation in 2D

9 College Torque, gyroscope

10 Secondary Standing wave

11 College Sinusoidal driving force

12 College Magnetic field, biot-savart law

13 College Lorentz force, cycloid motion

14 Secondary Linear motion

15 Secondary Ideal gas law, maxwell distribution

16 Secondary Kepler’s law

17 Secondary Gravitational acceleration

18 Secondary Converging lens

19 Secondary Mechanical energe

음성 녹음 자료는 면담 요청에 응한 6명의 예비교사를 대상으로 수집하였다. 면담은 연구자와 면담자 사이에 1 대1로 진행되었으며, 교수자료의 개발의도, 개발과정에서 의 어려움, 프로그래밍 기반 교수자료 개발의 장점, 그리고 프로그래밍을 통한 모델링의 학습 효과에 대해 질문하였 다. 개별 면담시 소요된 시간은 1시간 정도이며. 사전에 음성 녹음에 대한 동의를 받은 후 녹음을 진행하였다. 녹음 된 자료는 Python에서 Google Cloud Speech-to-Text Api

[30]를 사용하여 텍스트로 변환한 후, 음성 원본과 비교하여 잘못 번역된 문장과 비문을 수정하여 전사하였다.

3. 자료분석

이 연구는 혼합연구방법 [31] 을 사용하여 수집된 자료를 양적, 그리고 질적으로 분석하였다. 예비교사들이 개발한

(5)

Fig. 2. (Color online) Programming based physics teaching material developed by pre-service teachers. Each of the teaching materials from the top left clockwise corresponds to student number 7, 6, 9 and 13 in Table 2. All of the teaching materials were developed in Python and Markdown languages and run on the Jupyter notebook.

프로그래밍 기반 물리 교수자료는 수치화하여 양적으로 분 석하였으며, 전사된 녹음 자료는 근거이론 [32]을 적용하여 내용을 범주화하고 귀납적으로 분석하였다.

교수자료의 수치화를 위한 평가 도구 개발에는 과학교육 전문가 2인과 SW교육 연구학교에 재직 중인 현직교사 1인 이 참여하였으며, 지속적 비교 방법 [33]으로 내용 타당도를 검토하고 이를 수정·보완하였다. 평가범주는 검·인정 교과 용 도서 선정 매뉴얼 [34]의 교과용 도서 평가 기준 항목을 바탕으로 내용선정, 내용구성, 교수학습 및 평가, 그리고 표현 및 외형의 네 개 영역에 프로그래밍 영역을 추가하여 구성하였다.

내용선정 영역에서는 학습자의 수준을 고려한 적절한 개 념과 이론을 정확한 자료에 근거하여 도입하였는지, 그리고 학습자의 흥미를 유발한 수 있는 내용을 선정하였는지를 평가하였다. 내용구성 영역에서는 학습 요소가 유용하고 내용과 유기적으로 연결되었는지, 그리고 학습자 스스로 수준별 학습이 가능한 자료를 제시하고 있는지 평가하였다.

교수학습 및 평가 영역에서는 학습자의 참여를 증진시키고 시뮬레이션 등의 학습요소 활용이 편리한지, 그리고 학습자 스스로 점검할 수 있는 방법을 안내하고 있는지 평가하였다.

표현 및 외형 영역에서는 문장과 용어가 적절하며 올바른

(6)

표기법을 사용하고 지면 구성이 안정적인지 평가하였다.

마지막으로 프로그래밍 영역에서는 물리 현상을 적절하게 모델링하고 시각화하였는지, 그리고 변수 조작과 코드 수 정이 용이하며 오류없이 잘 실행되는지 평가하였다.

예를 들어 Fig.2에 제시된 케플러 법칙에 대한 교수자료 의 경우, 교수학습 및 평가 영역에서 학생이 시뮬레이션에 값을 입력하여 변수를 조작하도록 안내하고 있고 입력해야 하는 변수에 대해서도 안내하고 있지만, 코드의 진행과정에 대한 설명이 부족하고 변수 조작과 확인 이외에 학습자가 참여할 수 있는 다양한 활동이 부족하여 활동성과 편리성에 서 각각 3.4점과 3.6점의 점수를 부여받았다. 또한, 학생이 시뮬레이션을 조작할 수는 있지만 결과의 해석 등에 대한 질문이 부재하고, 스스로 평가할 수 있는 내용요소가 없어 자기 진단 평가에서 2.0점을 부여받았다. 프로그래밍 영역 에서는 케플러의 세 법칙을 모두 모델링 하였으며 단순히 시각화만 한 것이 아니라 만유인력의 법칙을 통해 계산된 결과를 제시하였으므로 4.6점의 모델링 점수가 부여되었 다. 그리고 모델링 결과를 그래프와 애니메이션 등 다양한 형태로 제공하고 직관적인 이해를 도울 수 있도록 행성의 움직임과 법칙을 표현하는 그래프를 함께 제공하여 4.8점의 표현 점수를 부여받았다. 구체적인 평가영역별 평가기준과 평가항목은 Table3에 제시하였다.

교수자료의 평가는 과학교육 전문가 3인과 현직교사 2 인으로 구성된 평가단을 통해 진행하였으며, 평가점수는 항목별로 5점 리커트 척도 (5점 : 매우 그렇다, 4점 : 그렇 다, 3점 : 보통이다, 2점 : 그렇지 않다, 1점 : 매우 그렇지 않다) 로 채점하였다. 각 평가자는 개별적으로 교수자료를 평가하였으며, 5인의 평균 점수를 토대로 교수자료를 수치 화하여 분석하였다. 평가자 간 신뢰도는 SPSS25에서 급 내상관계수(Intra Correlation Coefficient, ICC)를 구하여 확인하였으며, 항목점수 .855, 평균점수 .755로 평가자 간 신뢰도를 연구한 Cicchetti(1994) 그리고 Koo와 Li(2016) 의 선행연구 [35,36]에 근거하여 우수한 수준이었다.

III. 연구결과

1. 예비교사들이 개발한 프로그래밍 기반 물리 교수 자료의 내용 및 평가

예비교사들이 개발한 프로그래밍 기반 물리 교수자료는 역학 영역이 63.1%로 가장 많았으며, 역학을 제외한 나머지 영역은 전자기 15.8%, 파동/광학 15.8%, 그리고 현대물리 5.3%였다. 각 프로그래밍 요소별로 살펴보면 시뮬레이션을 제공하는 경우는 전체의 78.9%, 시각화를 제공하는 경우는

Fig. 3. (Color online) Classification of programming based physics teaching materials developed by pre- service teachers in level and area.

89.5%였으며, 기호연산을 구현한 경우는 10.5%였다. 또 한, 복합적으로 시뮬레이션과 시각화를 함께 사용한 경우 가 57.9%로 가장 많았으며, 시뮬레이션만 사용한 경우는 21.1%, 시각화만 사용한 경우는 10.5%, 시뮬레이션과 시 각화 그리고 기호연산을 모두 함께 사용한 경우는 10.5%

였다. Fig.3은 예비교사들이 개발한 물리 교수자료를 수준· 영역별로 분류한 결과이며, Fig.4는 프로그래밍 요소별로 분류한 결과이다.

예비교사들이 개발한 프로그래밍 기반 물리 교수자료의 평가 결과는 5점 만점에 3.44점이었으며, 표현 및 외형 3.87 점, 프로그래밍 3.86점, 내용선정 3.72점, 내용구성 3.18점, 그리고 교수학습 2.55점 순으로 높았다. Table 4는 19명의 예비교사들이 개발한 프로그래밍 기반 물리 교수자료의 평 균 점수이다. 내용선정 영역은 적정성이 3.65점, 정확성이 4.57점, 그리고 학습동기가 2.95점이었다. 예비교사들은 대 상에 따라 고등학교 물리 교과서 또는 대학교 전공 교과서에 근거하여 내용을 작성하여 적정성과 정확성에서 높은 점수 를 받았다. 그러나 도입부에서 동기부여를 위한 목적으로 프로그래밍 요소를 사용한 경우는 거의 없었으며, 대부분 교과서의 내용을 그대로 차용하는 수준에 머물렀다.

내용구성 영역은 효과성이 3.47점, 연계성이 3.42점, 그 리고 자기 주도적 학습이 2.65점이었다. 예비교사들은 교 과서의 개념 또는 현상을 설명하기 위해 시뮬레이션과 시 각화를 효과적으로 사용하였다. Fig.2에 제시된 교수자료 의 예시에서 케플러 법칙, 운동량 보존, 로렌츠 힘, 그리고 자이로스코프의 원리를 설명하기 위해 시뮬레이션과 2차원 및 3차원 시각화가 사용된 것을 확인할 수 있다. 그러나 하나 이상의 시뮬레이션을 사용하여 학생의 수준에 따라 단계적으로 학습할 수 있도록 안내된 경우는 드물었으며,

(7)

Table 3. Evaluation framework for programming based physics teaching materials.

Area Standards Items

Content selection 1. adequacy 2. accuracy 3. motivation

• Has the selection of the learning content and concepts considering the level of learners?

• Are the concepts and theories based on accurate and verified data?

• Has the selection of the content that would cause the learner’s interest and curiosity?

Content composition

4. effectiveness 5. connectedness 6. self-directed

learning

• Are the learning elements(text, simulation, graph, etc.) useful?

• Are the the contents of the learning(text, simulation, graph, etc.) or- ganically connected?

• Has the materials that can help the learner’s understanding and learn at the level?

Teaching, learning, and assesssment

7. activity 8. convenience 9. self-assessment

• Does it offer the learning activities that promote learner participation?

• Is it convenient to implement and use learning contents like simulation?

• Does it provide a guidance on student’s self-assessment?

Design 10. accuracy and

readability 11. layout

• Are the sentences clear, and the terminology, metric notation, etc.

consistent with regulations?

• Is the data layout, line spacing, margins, and hue stable?

Programming 12. modeling 13. representation 14. manipulation

and modification 15. debugging

• Has physics laws or phenomena appropriately modeled?

• Has modeling result visualized(graphs, animations, etc.) in an appro- priate way?

• Is it easy to manipulate variables and modify code?

• Does the code run well without error?

학생이 스스로 코드를 수정해보거나 만들 수 있도록 심화 과정을 제공하는 경우도 많지 않았다.

교수학습 및 평가 영역은 활동성이 2.76점, 편리성이 3.26 점, 자기 진단 평가가 1.62점이었다. 예비교사들은 시뮬레이 션을 조작할 때 위젯을 사용하여 변수를 슬라이더 방식으로 편리하게 변경할 수 있게 하였다. 또한, 키보드를 이용하여 숫자를 직접 입력해야 하는 경우에는 예시를 함께 제공하여 입력 오류를 줄일 수 있도록 하였다. 다만 시뮬레이션과 시각화를 활용한 학생 활동이 구체적으로 안내된 경우는 드물었다. 또한, 학생 스스로 학습의 정도를 점검할 수 있는 진단 평가 역시 거의 제시되지 않았다.

표현 및 외형 영역은 정확성 및 가독성이 4.24점, 그리 고 지면 구성이 3.51점으로 모든 영역 중 평균 점수가 가 장 높았다. 예비교사들은 Jupyter notebook에서 지원하는 Markdown 문법을 이용하여 수식과 단위를 정확하게 표현 하였으며, 글머리표를 활용하여 내용의 가독성을 높였다.

또한, 블럭 형식으로 코드가 실행되는 Jupyter notebook의 특성을 살려 내용과 내용 사이에 관련 코드를 배치하거나, 확장 기능인 Hide input을 사용하여 불필요한 코드는 보이 지 않도록 교수자료를 레이아웃하였다.

프로그래밍 영역은 모델링이 3.92점, 표현이 3.81점, 조 작 및 수정이 3.35점, 그리고 디버깅이 4.35점이었다. 물리 현상의 모델링에는 미분방정식의 수치해를 구하는 SciPy 패키지의 odeint 함수가 주로 사용되었다. 나아가 예비교 사들은 Excel VBA 시간에 배운 다양한 내용을 Python에 응용하여 시뮬레이션을 개발하였다. 계산 결과 또는 시뮬 레이션의 시각화는 Matplotlib 패키지의 2D 및 3D 그래 프 그리기 기능이 주로 사용되었으며, 일부 예비교사들은 VPython 또는 Pygame 등의 기타 패키지를 사용하여 보다 수준 높은 3D 시각화를 구현하였다. 다만, 코드가 순서에 맞게 배치되지 않아 실행이 불편한 경우가 있었으며, 학습자

(8)

Fig. 4. (Color online) Classification of programming based physics teaching materials developed by pre-service teachers in programming elements.

또는 다른 교사의 수정이 용이하도록 코드에 참조를 덧붙인 경우는 많지 않았다.

2. 프로그래밍 기반 물리 교수자료 개발과정에서 예 비교사들의 고민과 어려움

예비교사들의 프로그래밍 기반 물리 교수자료 개발과정 은 면담 결과를 토대로 내용선정 및 계획, 자료수집, 코드 작성 및 수정의 세 단계로 분류됨을 알 수 있었다. 면담에 참여한 6명의 예비교사는 각각 광전효과, 충돌, 케플러 법 칙, 조화 진동, 로렌츠 힘, 그리고 이상기체 법칙을 주제로 교수자료를 개발하였으며, 평가결과의 평균은 3.72점으로 전체집단 보다 높았다. 면담 참여자에 대한 구체적인 정보 는 Table 5에 제시하였다. Table 6은 프로그래밍 기반 물 리 교수자료 개발과정에서 예비교사들의 고민과 어려움을 정리한 것이다.

1) 내용선정 및 계획

예비교사들은 공통적으로 실제로 해보기 어려운 내용 또 는 수식보다 컴퓨터로 보여주기 좋은 내용을 선정하였다.

나아가 자신의 경험을 토대로 ’ 가르치기 어려운 내용’, 또 는 ’ 배우기 어려운 내용’ 을 선정하였다. 과외나 학원 등을 통해 학생을 가르쳐 본 경험이 있는 예비교사의 경우 기존

교과서나 참고서를 통해 말로만 설명했을 때 학생이 잘 받 아들이지 못했던 내용을 선정하였으며, 그렇지 않은 경우 에는 자신이 공부한 내용 중 수식 전개만 가지고 이해할 수 없었던 내용을 선정하였다.

“(학생이) 약간 좀 받아들이지를 못하더라고 요. 왜 타원형태로 나오게 됐는지? 왜 면적과 속도가 일정한 비율로 증가하는지? 그런 부 분을 말로만 했을 때 쉽게 못 받아들이는 것 같아서· · · (중략) 수식으로도 보여줄 수 있겠 지만 컴퓨터로 더 간단하게 보여줄 수 있겠다 고 생각했거든요.” (예비교사 7)

“일단은 제가 잘 아는 것 보다는 잘 모르는, 알긴 아는데 잘 모르는 것 위주로 주제를 생각 해가지고· · · (중략) 그렇게 된다는 것은 식을 통해서 아는데 정확한 양상 같은 것은 볼 수 없잖아요.” (예비교사 8)

계획 단계에서 예비교사들은 다음과 같은 3가지 교수학 습 전략을 고려하여 교수자료를 설계하였다. 첫번째는 ’ 학습자가 변수를 직접 조정해 보면서 변화를 확인해보기’

이고, 두번째는 ’시각화를 통해 직관적으로 이해하기’이며, 세번째는 ’코드 수정을 통한 심화학습하기’이다. 예비교사 들은 이러한 3가지 전략을 통해 기존 교과서에서 부족한 부 분을 보완하고자 하였다. 이중에서 가장 많이 언급된 것은 첫번째 전략인 변수 조작을 통한 확인으로, 면담에 참여한

(9)

Table 4. Evaluation results of programming based physics teaching materials developed by pre-services teachers.

Area Standards Average score

Content selection

1. adequacy 3.65

3.72

2. accuracy 4.57

3. motivation 2.95

Content composition

4. effectiveness 3.47

3.18

5. connectedness 3.42

6. self-directed learning 2.65

Teaching, Learning and assessment

7. activity 2.76

2.55

8. convenience 3.26

9. self-assessment 1.62

Design 10. accuracy and readability 4.24 3.87

11. layout 3.51

Programming

12. modeling 3.92

13. representation 3.81 3.86

14. manipulation and modification 3.35

15. debugging 4.35

Average 3.44

Table 5. Overview of six pre-service teachers participated in the interviews.

s3 s6 s7 s8 s13 s15

Average Level secondary secondary secondary college college secondary

Area Modern

physics Mechanics Mechanics Mechanics Electro

magnetism Mechanics Programming

elements

Simulation

Visualization

Symbolic computation

score

Content

selection 3.73 4.07 4.13 3.87 3.87 3.80 3.91

Content

composition 2.40 4.07 4.13 4.07 3.47 3.27 3.57

Teaching, Learning

and assessment 2.53 3.13 3.00 3.20 2.93 2.87 2.94

Design 3.80 4.50 4.30 4.10 4.00 4.20 4.15

Programming 3.00 4.15 4.50 4.40 4.15 4.15 4.06

Average 3.04 3.96 4.03 3.95 3.69 3.65 3.72

모든 예비교사들은 이를 토대로 조작 가능한 시뮬레이션을 개발하였다. 또한, 많은 예비교사들이 계획단계에서 시뮬 레이션을 시각화하고자 하였으며, 2차원 보다는 3차원 시 각화를 선호하였다. 다만, 세번째 전략인 코드 수정 학습은 다른 두 전략에 비해 언급된 빈도가 적었다.

“자기가 변수 값을 조절해서 입력을 시킬 수 있게 만들어 놓으면 학생들이 그것을 계속 시 도해 보면서, 아 이렇게 하면 이렇게 변하고, 이렇게 하면 이렇게 변하는 구나 이런걸· · · (중략) 파일형태로 배포하면 받은 사람이 수

정하기도 쉽고, 그래서 선생님이 기본적인 설 명을 써놓으면 학생이 더 설명을 첨가해서 자 기만의 노트를 만들 수도 있을 것 같고.” (예 비교사 15)

2) 자료수집 및 코드 작성

자료수집 단계에서 예비교사들은 시뮬레이션과 시각화 를 위한 예제 코드를 찾기 위해 인터넷 검색을 많이 활용 하였다. 또한, 시뮬레이션 개발에 필요한 수식이 교과서의

(10)

수준을 넘어가는 경우에는 직접 유도하거나 계산을 시도해 보고, 스스로 해결이 어려운 경우 인터넷에서 관련 수식을 찾아 활용하였다. NumPy, Matplotlib 등 여러 Python 외 부 패키지들의 공식 홈페이지에서 제공하는 예제 코드들과, GitHub 등의 인터넷 커뮤니티에 올라오는 Python 코드 관련 질문에 대한 답변들이 참고자료로 많이 활용되었다.

다만, 아직까지는 프로그래밍 기반 물리 교수자료의 개발과 관련된 직접적인 예제 코드가 거의 존재하지 않아, 교육의 목적이 아닌 연구 등 다른 목적으로 개발된 코드를 참고하여 자료를 수집하는 과정에서 많은 어려움이 발생하였다.

“제가 아는 운동량 보존 식 자체가 운동량이 보존된다는 것 밖에 모르고, 그 탄성 충돌이 라고 가정을 했을 때 운동에너지까지 보존된 다는 것 밖에 식이 없는데데, 이 식으로 세타 (각도)를 결정을 해서 나가게 하는게 너무 어 려운 거 같은 거에요. 저는 모르겠더라구요.

그래서 세타를 못 결정해서 아무것도 진도가 안나가서 인터넷에서 찾았어요.” (예비교사 6)

“Python 어떻게 하는지 찾아보면 지식인처럼 답변 해놓은 것만 있고 설명해 놓은 것은 없었 던 것 같아요. (중략) 지식인처럼 ’ 이렇게 하 면 됩니다’라는 것은 나오는데, 설명을 해놓은 데를 찾기가 어려웠던 것 같고, 설명을 해놓은 데라고 해도 저희랑 애초에 처음 시작이 다른 것들이 많았던 것 같아요.” (예비교사 6)

코드작성 과정에서 예비교사들은 워크숍에서 배웠던 코 드를 토대로 자료수집을 통해 찾은 수식을 적용하였다. 그 러나 자료수집에서 어려움이 있었던 시각화 또는 시뮬레 이션의 경우 기능을 축소하여 코드를 작성하였다. 이 과 정에서 가장 많이 축소된 것은 3차원 애니메이션을 이용 한 시각화였으며, 2차원 애니메이션을 사용한 시각화 또는 시각화 요소를 아예 제외하는 방향으로 축소되었다. 또한, 여러 개의 벡터를 시각화 하거나, 시뮬레이션의 초기 조건 을 수정하는 과정에서 어려움을 느끼고 기능을 축소하기도 하였다.

그거를 자료수집을 해서, 그 식을 포물선 움 직이는 그 공 하나에 넣고, 새로운 공 하나를 만들어서 얘가 가까운 거리에 도달하면 그때 부터는 구했던 그 식에 맞게 움직이는 걸로 그렇게 식 (코드) 을 만들었어요.” (예비교사 6)

Table 6. Concerns and difficulties in developing process of programming based physics teaching materials.

Process Concerns and difficulties

Content selection

& planning

• What is difficult to teach in text- books?

• What is difficult to learn in text- books?

• How should textbooks be supple- mented?

Data collection

• Finding example codes on the in- ternet

• Different purpose between teach- ing materials and sample codes

• No explanation in the sample code

Code writing &

editing

• Visualizing 3D animation

• Visualizing many vectors

• Adding another initial statement to simulations

“공이 부딪혔다가 이렇게 튀어오르는 코드를 찾았어요. 그런데 그걸 이제 속도벡터 설정 해서 이렇게 이렇게 바꾸는 과정을 해서 코드 를 짰는데 아예 공 조차 나타나지 않더라구요.

(중략) 그래서 수정한게 이번에는 수업시간에 했던 걸 약간 응용을 해서 공을 2차원에 나타 나게 한 다음에 그 중심에 속도벡터를 설정해 서 이렇게 부딪히게 하자 했는데 그것도· · · ” (예비교사 3)

3. 프로그래밍 기반 물리 교수자료 개발을 경험한 예 비교사들의 인식

1) Python과 Jupyter notebook을 사용한 프로그래 밍 기반 물리 교수자료 개발의 장점

예비교사들은 Python과 Jupyter notebook을 이용하여 개발한 프로그래밍 기반 물리 교수자료가 교수학습에 도 움이 되고 외형적으로도 우수하며 교수자료 개발에 소요 되는 시간을 단축시켜준다고 인식하였다. 교수학습적인 측면에서 프로그래밍 기반 물리 교수자료는 시뮬레이션을

(11)

통해 물리적인 제약없이 실험을 해 볼 수 있고, 수업 시간에 학생들의 요구에 즉각적으로 반응할 수 있으며, 교과서의 내용과 프로그래밍 요소를 한 화면에서 동시에 구동할 수 있어 직관적인 물리 학습에 도움이 된다고 응답하였다. 표 현 및 외형의 측면에서는 Jupyter notebook을 사용함으로 써 가독성 높은 글자와 레이아웃, 그리고 쉬운 수식 입력의 장점이 있으며, 장기적인 측면에서 교재 개발에 소요되는 시간을 줄여줄 수 있다고 응답하였다. 또한, 프로그래밍 측면에서도 Python을 사용함으로써 다른 언어를 사용하는 것 보다 코딩이 용이하고, 여러 함수를 이용하여 다양하게 응용이 가능하며, 별도의 변환과정 없이 대화형으로 작업할 수 있어 오류를 발견하고 수정하기 쉬운 장점을 가진다고 응답하였다. Table7은 예비교사들이 생각하는 Python과 Jupyter notebook을 사용한 프로그래밍 기반 물리 교수자 료 개발의 장점을 영역별로 정리한 것이다.

“간단하니까 시간적 여유가 있고 이것저것 많 이 해볼 수 있다는게 장점인 것 같은데, 기능 도 많으니깐 하고 싶은 것을 다 할 수 있을 것 같아요. (중략) 사실 시간도 엄청 중요한 요 소라고 생각을 해서, 교재를 만드는데 있어서.

또 학생들의 요구를 즉각 즉각 들어서 수정하 기에 더 편한 것 같아요.” (예비교사 13)

“Jupyter notebook은 되게 예쁜 것 같아요.

그러니깐 Markdown cell에 나오는 것들이 글 자나 가독성이라고 해야하나? 그런 것도 예 쁘고 대단원 소단원 내려가는 그런 것도 예쁜 것 같고.” (예비교사 6)

한편, 코딩을 전혀 모르는 교사가 프로그래밍 기반 물리 교수자료를 개발하는 경우 처음에 진입장벽을 겪을 수 있다 는 의견과, 다양한 응용을 가능하게 하는 Python의 수많은 패키지와 기능들이 오히려 부담이 될 수 있다는 의견도 존 재했다. 또한, 기존의 그래픽 기반의 문서작업에만 익숙한 경우, Markdown의 코드 기반 문서작업에 익숙해지기까지 시간이 걸릴 수 있다는 점도 언급되었다. 다만, 개발된 교수 자료를 활용하는 측면에서는 프로그래밍에 익숙하지 않은 교사도 충분히 사용이 가능하다는 의견이 많았다.

2) 프로그래밍 기반 모델링을 통한 물리 교수학습 효 과

연구에 참여한 예비교사들은 프로그래밍 기반 물리 교수 자료를 개발하는 과정이 물리 법칙 또는 현상을 이해하는데

Table 7. Advantages of developing programming based physics teaching materials using Python and Jupyter notebook.

Area Advantages

Teaching and learning

• To experiment without physical con- straints

• Immediate feedback to students’ in- quiries

• Simultaneous descrption of textbook context and programming elements such as simulation, visualization and symbolic computation

Design

• Neat and readable layout

• Easy to input formulas

• Shorten the time for making textbooks

Programming

• Easy to code compared to other pro- gramming languages

• Various applications via many functions

• Interactivity makes easy to debug

도움을 주었다고 인식하였다. 프로그래밍 기반 물리 교수자 료를 개발하며 시뮬레이션 혹은 시각화를 구현하는 과정은 법칙 또는 현상을 프로그래밍 언어로 적절하게 모델링하는 것에 해당한다. 이 과정에서 예비교사들은 구체적으로 다 음과 같은 학습 효과를 경험하였다.

첫째, 수식만으로 이해하지 못한 것을 시각화할 수 있어 물리에 대한 어려움이 감소하였다. 둘째, 코딩을 통해 수 치적으로 접근함으로써 수식 위주로 된 교과서의 해석적 접근에 비해 쉽게 이해할 수 있었다. 셋째, 모델링을 통해 법칙을 직접 확인해보면서 더 잘 받아들일 수 있었다. 넷째, 문제 상황 또는 현상 자체를 이해하는 측면에서 도움이 되 었다. 다섯째, 개념 또는 계산이 복잡한 부분을 이해하는데 도움이 되었다.

“1학년 때 문제를 풀면서 벡터 분석을 왜 해야 하는지 잘 몰랐거든요. 물리 1만 배워서. 대 학교 와서 갑자기 2차원, 3차원 운동을 다루면 서 왜 해야 하는지 계속 잘 모르고 있었는데, 그 과정에 대해서 왜 해야 하는구나 정도를 깨달을 수 있었어요.” (예비교사 3)

다만, 프로그래밍 기반 모델링을 통해 학습 효과를 보려면 코딩에 대한 부담이 먼저 해소되어야 하는 것으로 나타났다.

프로그래밍 언어와 문법에 익숙하지 않은 예비교사의 경우

(12)

에는 물리 학습 보다 코딩 연습의 효과를 더 크게 인식하는 경우도 있었다. 특히, 고등학생을 대상으로 하는 경우에는 코딩 뿐만 아니라 미분방정식에 대한 설명이 동반되어야 한다는 의견이 존재했다. 한편, 시뮬레이션과 시각화와 달 리 교과서의 해석적인 접근을 대신하는 기호연산은 대학교 이상의 수준에서 복잡한 수식 전개를 해석적으로 모델링하 는데 제한적으로만 사용되어 학습 효과를 확인할 수 있는 사례가 부족했다.

“애들이 코딩을 모르면 별 흥미를 가지지 않 아요. 그냥 재미있어하고 신기해하고 그치는 거 같거든요. (중략) 이게 어떻게 돌아가고 있 는지를 알려 주는게 필요할 것 같긴 한데 대체 로 미분방정식을 제일 많이 쓰고 하기 때문에 고등학생들은 이해하는게 힘들 것 같고, 대신 이런식으로 된 식을 사용했다.” (예비교사 6)

3) 예비교사가 갖춰야 할 프로그래밍 기반 물리 교수 자료 개발 역량에 대한 인식

예비교사 스스로가 필요하다고 인식하는 프로그래밍 기 반 물리 교수자료 개발 역량은 다음과 같이 2가지 의견으로 나뉘었다. 첫번째는 교사가 직접 프로그래밍 기반 물리 교 수자료를 개발할 수 있고, 수업 중에 학생들의 요구에 따라 즉각적으로 수정할 수 있는 수준을 갖춰야 한다는 의견이 다. 이러한 의견을 가진 예비교사들은 교사가 직접적으로 개발할 수 있는 능력을 갖춤으로써 자기만의 수업을 구성할 수 있는 자유도가 높아질 수 있을 것으로 기대하였다. 그러 므로 이러한 역량 개발을 위해 1차시 수업이 아닌 한 학기 이상의 충분한 연습 시간이 주어질 필요가 있다고 응답하 였다.

“본인이 직접 만드는 게 제일 좋은 것 같고, 이런 것을 만든 다음에 보여주면 흥미를 느끼 는 학생들이 더 많아지지 않을까요? 물리는 겁 먹고 안 하려는 학생들이 많으니깐 아무래 도. 의무는 아니지만 권장사항 정도· · · (중략) 고등학교 물리 선생님이 실험 같은 것을 많이 보여주고 싶어 하셨는데 적절한 영상을 찾지 못해 많이 아쉬워 하신 적이 많았거든요. 그 런 것을 이런 걸로 대체할 수 있지 않을까요?”

(예비교사 8)

두번째는 교사가 직접 프로그래밍 기반 물리 교수자료 를 개발할 필요는 없지만, 최소한 개발된 자료를 수정할 수 있는 역량을 갖춰야 한다는 의견이다. 이러한 의견을 가진 예비교사들은 모든 교사가 직접 교수자료를 개발할 필요없으며, 일부 교사들에 의해 데이터베이스가 구축될 수 있다고 생각하였다. 그러므로 나머지 교사들은 개발된 자료를 수정할 수 있는 역량만 갖추더라도 충분히 수업에서 활용할 수 있을 것으로 기대하였다. 이 경우에는 기존의 1 차시 4시간 정도의 수업으로도 역량을 개발하기에 충분하 다는 의견이 많았다.

IV. 결론

2015 개정 교육과정에서는 과학 교과의 기능 요소로 수 학적 사고와 컴퓨터의 활용, 그리고 모형의 개발과 사용을 제시하고 있다. 그러나 아직까지 서책형 교과서의 활동에 서는 스프레드시트를 이용한 그래프 그리기 등 간단한 활용 에 그치고 있으며, 디지털 교과서에 수록된 시뮬레이션은 수정이 불가능하여 상황에 따라 유연하게 활용하기 어렵다.

따라서 현재의 교육과정에서 요구되고 있는 컴퓨터 활용과 모형 개발을 통한 수업이 잘 이루어지기 위해서는 교사의 프 로그래밍 역량이 강화되어야 할 것이다. 이 연구의 목적은 중등 물리 예비교사 교육에서 Python 기반 프로그래밍을 통한 물리 교수자료 개발 과정이 도입되었을 때의 교육적인 효과와 물리 교육과정에서의 의의를 확인하는 것이다. 이를 위해 예비교사들이 개발한 프로그래밍 기반 물리 교수자료 를 평가하고, 개발 과정 및 경험에 대한 인식을 분석하였다.

연구결과 다음과 같은 결론을 도출하였다.

첫째, 예비교사들이 개발한 프로그래밍 기반 물리 교수 자료는 내용의 정확성 (4.57), 디버깅 (4.35), 가독성 (4.24), 모델링(3.92), 그리고 표현(3.81)의 순으로 높은 평가를 받 았으며, 자기 진단 평가 (1.62), 자기주도적 학습 (2.65), 활 동성 (2.76), 그리고 동기부여 (2.95) 의 순으로 낮은 평가를 받았다. 예비교사들은 Python을 이용하여 물리 법칙 또는 현상을 적절하게 시뮬레이션하고 시각화하였으며, Jupyter notebook을 활용하여 안정적으로 디자인하였다. 그러나 변수조작 외에 학생이 능동적으로 학습할 수 있는 요소가 적었으며, 도입과 평가 단계에서는 프로그래밍 언어가 거의 활용되지 못하였다. 그러므로 예비교사들이 교수학습의 다양한 측면에서 프로그래밍 언어를 활용하고, 시뮬레이션 조작 뿐만 아니라 능동적인 프로그래밍 기반 학습 환경을 구성할 수 있도록 교수자의 주의와 지도가 필요하다.

둘째, 예비교사들은 프로그래밍 기반 물리 교수자료 개발 에서 시뮬레이션과 시각화를 함께 사용한 경우 (57.9%) 가

(13)

가장 많았으며, 수업시간에 배우지 않은 코드를 사용하고 이를 위해 자료수집를 수집하는 과정에서 많은 어려움을 겪었다. 자료수집이 어려운 가장 큰 이유는 교수자료 제작 과 관련한 예제 코드가 절대적으로 부족하기 때문이다. 따 라서 앞으로 장기적인 관점에서 데이터베이스 구축을 위한 연구자들의 노력과 지원이 필요하다. 웹에서 필요한 정보 와 자료를 찾는 것은 교사가 갖춰야 할 TK의 하나로 [37], 데이터베이스 구축을 통해 개발 과정의 어려움을 해소할 수 있을뿐만 아니라 TK 영역의 향상도 기대할 수 있다.

셋째, Python과 Jupyter notebook은 프로그래밍 기반 물리 교수자료 개발에 대한 예비교사들의 인식에 긍정적인 영향을 미쳤다. Python의 쉬운 문법과 대화형 작업 환경 은 예비교사들이 인식하는 프로그래밍에 대한 장벽을 낮춰 주었으며, 코드와 문서를 동시에 작업할 수 있는 Jupyter notebook은 교수자료의 교수학습적 요소와 표현 및 외형 요소를 긍정적으로 인식하도록 하였다. 다만, 다양한 패 키지와 함수들은 Python이 가진 장점이자 단점으로 인식 되었는데, 일부 예비교사들은 가능성으로 인식한 반면, 일 부는 학습 부담으로 인식하였다. 그러므로 다양한 예제를 제공하고 충분한 연습 시간을 제공하여 학습 부담은 최소화 하면서 Python의 다양한 패키지가 가진 장점을 교수자료 개발에 활용할 수 있도록 해야할 것이다.

넷째, 프로그래밍 기반의 물리 교수자료 개발 과정은 예 비교사들이 기존에 물리를 학습하며 가지고 있던 어려움을 해소할 수 있는 교수학습적인 효과가 있었다. 시뮬레이션을 통한 수치적 접근과 시각화를 통한 모델링의 과정은 예비교 사들이 단편적으로만 알고 있던 지식과 개념을 더 깊이있게 이해하는데 도움을 주었다. Duschl(2007) 은 교사가 잘 가 르치기 위해 학생이 어떻게 배우는지 알아야 한다고 이야 기한 바 있는데 [14], 교수자료의 개발을 통해 예비교사들은 프로그래밍 기반 물리 학습에서 어떻게 배움이 일어나는지 확인하고 교수방법에 대한 아이디어를 획득할 수 있었다.

이는 선행연구 [10,11]에서 보고된 것처럼 프로그래밍 기반 의 교수자료 개발을 통해 예비교사의 TPCK 능력이 향상될 수 있음을 의미한다.

다섯째, 교사에게 요구되는 프로그래밍 기반 물리 교수 자료 개발 역량에 대해 예비교사들은 서로 다른 인식을 가 지고 있었다. 일부 예비교사는 교사가 스스로 프로그래밍 기반 물리 교수자료를 개발할 수 있는 역량을 갖춰야 한다고 인식하였지만, 일부는 개발된 교수자료를 수정하여 사용할 수 있는 역량만으로도 충분하다고 인식하였다. 이에 따라 해당 역량을 획득하기까지 필요한 시간에 대한 인식도 4 시간에서부터 1년까지 많은 차이를 보였다. 이 연구에서 는 워크숍을 통해 실질적으로 교수자료 개발과 관련하여 4시간의 교육만을 제공하였기 때문에 많은 예비교사들이

워크숍에서 제공한 포물선 운동 예제의 코드를 수정하여 교수자료를 제작하였다. 면담에서 드러나지는 않았지만 이는 60% 이상의 예비교사가 역학 관련 내용을 선정한 것 에 영향을 미쳤을 것이다. 그러므로 향후 연구에서는 교육 시간뿐만 아니라 내용의 수준, 시각화의 형태, 그리고 코딩 의 난이도 등에 따라 예비교사들의 교수자료 개발 결과가 어떻게 달라지는지 보다 면밀하게 살펴볼 필요가 있으며, 이를 통해 적절한 교육목표를 마련해야 할 것이다.

이러한 연구 결과에 따라 우리는 예비교사 교육에서 Python을 이용한 프로그래밍 기반의 물리 교수자료 개발 과정이 도입되었을 때 다음과 같은 장점이 있을 것으로 기 대한다. 첫째, 교육 현장에서 교사가 보다 복잡하고 다양한 형태로 컴퓨터를 활용할 수 있고, 디지털 교수자료를 직접 개발하거나 이미 개발된 교수자료를 수정하여 사용하는 등 수업설계를 유연하게 할 수 있을 것이다. 둘째, 학습 과정 에서 학생들은 컴퓨터를 활용하여 모델링의 결과를 확인하 고 시각화를 통해 직관적으로 이해함으로써 물리를 좀 더 쉽게 배울 수 있을 것이다. 그 과정에서 Python과 Jupyter notebook은 프로그래밍을 통한 모델링과 교수자료 제작에 대한 진입장벽을 낮춰줄 수 있을 것이다.

한편, 연구에 참여한 26명의 중등 물리 예비교사는 서로 다른 프로그래밍 배경을 가지고 있기 때문에 보다 일반적 인 결과를 얻기 위해서는 연구 대상의 프로그래밍 배경을 제한하거나 이를 비교 분석할 필요가 있다. 이와 함께 연 구가 이루어진 서울소재 사범대학의 경우 일반적으로 물리 교수법과 교재연구 및 지도법의 두 수업을 통해 교수자료 개발 교육이 이루어지고 있으며, 전산물리 및 교육 수업은 교육과정 상 두 수업에 앞서 진행되는 점을 감안할 필요가 있다. 또한, 이 연구에서는 예비교사들이 개발된 교수자료 를 어떻게 활용하는지, 실제 수업 상황에서의 적용까지는 확인하지 못하였다. 하나의 수업에서 모든 교육이 이루어 지기는 어려운 만큼, 교과간의 연계를 통해 예비교사들이 스스로 개발한 교수자료를 실제 수업에서 활용해 볼 수 있는 기회가 제공될 필요가 있으며, 이를 위해서는 교육과정 개 발 연구가 함께 이루어질 필요가 있다. 나아가 프로그래밍 기반의 교수자료를 활용한 교수학습활동 과정에서 예비교 사들의 고민과 어려움은 무엇인지, 그리고 어떠한 교수학습 효과가 있는지에 대한 후속 연구를 제안한다.

감사의 글

본 논문은 이준행의 2019년도 석사 학위 논문의 데이터를 활용하여 재구성하였습니다.

(14)

REFERENCES

[1] S. I. Ahamed, D. Brylow, R. Ge, P. Madiraju and S. J. Merrill, et al., in Proceedings of the 41st ACM technical symposium on Computer science education (2010), p. 42.

[2] A. A. Read, IEEE Transactions on Education 33, 95 (1990).

[3] P. Abichandani, R. Primerano and M. Kam, in 2010 IEEE Trnasforming Engineering Education: Creat- ing Interdisciplinary Skills for Complex Global En- vironments (2010), p.1.

[4] C. Orban, R. M. Teeling-Smith, J. R. H. Smith and C. D. Porter, American Journal of Physics, 86, 831 (2018).

[5] G. S. Papert, Mindstorms: children, computers, and powerful ideas (Basic Books, New York, 1980), Chap. 1.

[6] P. Sengupta, J. S. Kinnebrew, S. Basu, G. Biswas and D. Clark, Education and Information Technolo- gies 18, 351 (2013).

[7] M. H. Wilkerson-Jerde, B. E. Gravel and C. A.

Macrander, Journal of Science Education and Tech- nology 24, 396 (2015).

[8] A. E. Pierson and D. B. Clark, Science Education 102, 1336 (2018).

[9] H. K. Wu, P. H. Wu, W. X. Zhang and Y. S. Hsu, Science Education 97, 337 (2013).

[10] E. S. Choi, Y. J. Lee and S. H. Paik, Journal of the Korean Association for Science Education 37, 693 (2017).

[11] J. W. Lee, J. B. Kim and J. B. Kim, New Phys.:

Sae Mulli 68, 202 (2018).

[12] P. Misha and M. J. Koehler, Teachers College Record 108, 1017 (2006).

[13] L. S. Shulman, Educational Researcher 15, 4 (1986).

[14] R. A. Duschl, C. W. Anderson, T. B. Corcoran, K.

J. Crowley and F. C. Keil et al., Taking Science to School: Learning and Teaching Science in Grades K- 8 (The National Academies Press, Washington DC, 2007), Chap. 1.

[15] H. J. Cheong and J. J. Kim, Sae Mulli 40, 413 (2000).

[16] V. lopez and M. I. Hernandez, Physics Education 50, 310 (2015).

[17] U. Wilensky and K. Reisman, Cognition and In- struction 24, 171 (2006).

[18] R. F. Lorch, E. P. Lorch, W. J. Calderhead, E. E.

Dunlap and E. C. Hodell et al., Journal of Educa- tional Psychology 102, 90 (2010).

[19] W. K. Oh, New Phys.: Sae Mulli 66, 1426 (2016).

[20] W. K. Oh, J. S. Jeong and K. H. Ryu, New Phys.:

Sae Mulli 65, 479 (2015).

[21] W. K. Oh, J. S. Jeong and K. H. Yoo, New Phys.:

Sae Mulli 65, 322 (2015).

[22] S. T. Park, H. B. Lee and K. C. Yuk, Sae Mulli 46, 179 (2003).

[23] B. G. Kim, Y. Yi and H. J. Yun, New Phys.: Sae Mulli 64, 610 (2014).

[24] J. W. Lee and C. G. Song, New Phys.: Sae Mulli 63, 1112 (2013).

[25] Y. M. Park and D. S. Kim, New Phys.: Sae Mulli 62, 115 (2012).

[26] Python hompage, https://www.python.org (ac- cessed Feb., 12, 2019).

[27] F. Perez and B. E. Granger, Computing in Science

& Engineering 9, 21 (2007).

[28] M. K. Jesse and N. Philip, A Student’s Guide to Python for Physical Modeling (Princeton University press, Princeton, 2015), Chap. 1.

[29] D. Joyner, O. Čertík, A. Meurer and B. E. Granger, ACM Commun. Comput. Algebra 45, 225 (2012).

[30] Google Cloud Speech-to-Text hompage, https://cloud.google.com/speech-to-text (accessed Feb., 12. 2019).

[31] M. T. H. Chi, Journal of the Learning Sciences 6, 271 (1997).

[32] K. Charmaz, Constructing Grounded Theory: A Practical Guide through Qualitative Analysis (SAGE Publishing, London, 2014), Chap. 1.

[33] J. Corbin and A. Strauss, Basics of Qualitative Re- search: Techniques and Procedures for Developing Grounded Theory (SAGE Publishing, Los Angeles, 2015), Chap. 1.

[34] Ministry of Education, Manual for Selection of Government-Authorized and -Aproved Textbook, 2015.

(15)

[35] D. V. Cicchetti, Psychological Assessment 6, 284 (1994).

[36] T. K. Koo and M. Y. Li, Journal of Chiropractic Medicine 15, 155 (2016).

[37] C. R. Graham, N. Burgoyne, P. Cantrell, L.

Smith and L. S. clair et al., TechTrends 53, 70 (2009).

참조

관련 문서