• 검색 결과가 없습니다.

Analysis of evaluation results according to programming stages for high school students

N/A
N/A
Protected

Academic year: 2021

Share "Analysis of evaluation results according to programming stages for high school students"

Copied!
4
0
0

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

전체 글

(1)

107

-고등학생 대상 프로그래밍 교육에서

프로그래밍 단계에 따른 평가 결과 분석

최희정†․ 김자미†

†고려대학교 교육대학원

Analysis of evaluation results

according to programming stages for high school students

요 약

지능정보사회에서 정보교육은 패러다임의 변화를 겪고 있다. 본 연구는 교수자가 학교교육에서 효과적인 프로그래밍 교육을 실시하기 위한 방향을 모색하고, 프로그래밍 교육을 진행할 때 학습자의 관점에서 고려 해야할 점을 알아보기 위해 진행되었다. 목적달성을 위해 다면평가를 실시하였으며, 연구를 통해 프로그래밍 학습을 학생관점에서 이해하고, 프로그래밍 교육을 어떻게 하면 효율적으로 실시할 수 있을 지에 시사점을 제공할 수 있을 것으로 기대된다.

1. 서 론

지능정보사회에서 정보교육은 패러다임의 변화를 겪 고 있다. 한국은 2015 교육과정 개정을 통해 초·중등 교육에서 새로운 사회를 살아가는데 필요한 핵심역량 에 집중하였다[1]. 기술ㆍ산업 중심의 정보화를 넘어 교육을 포함한 사회정책에 대해서 국가적 대비책이 마 련될 필요가 있다. 이에 전 세계가 4차 산업혁명사회 에 맞는 핵심역량을 길러주는 교육의 역할을 다 하기 위해 변화를 겪고 있다. 한국도 2015 개정교육과정을 통해 중학교에서는 34 시간 이상 정보를 필수 이수할 것을 지정하였다. 하지 만 고등학교에서는 진로 선택과목을 일반 선택과목으 로 변경하는 것에 그치며, 여전히 정보가 선택과목에 서 벗어나지 못하고 있다. 각 국에서 교육에 대한 강 조를 통해 정책을 실행하는 움직임을 보이고 있는 것 에 비하면, 국내에서는 변화에 목소리에 비해 정보 교 육의 실상은 아직 미흡한 실정이다. 미국은 CSTA(미국 컴퓨터 과학 교사협회)와 ACM 이 공동 연구를 진행하여 2016년 10월, K–12 Computer Science Framework를 발표하였다. CS Framewokr에서는 컴퓨터 과학의 핵심 개념(Concepts) 와 활동(Practices)을 나누어 제시하였다[2][3][4]. CSTA의 활동 영역을 통해, 정보교육에서 프로그래밍 교육의 차지하는 중요성을 알 수 있다. 활동(Practices) 이란 컴퓨터 과학의 개념을 어떻게 실습할 것인 가에 대한 세부적인 지침을 말한다. 즉, 개념을 학습하는 것 에 그치지 않고, 실제로 적용해보는 활동(Practice)을 통해 문제를 정의하고 발견하며, 프로그래밍을 경험하 는 것을 교육 전반에 포함한다. 정의한 문제를 해결하 기 위하여 컴퓨팅 파워를 이용하는 프로그래밍 과정은 컴퓨팅 사고력을 기반으로 한 문제해결력의 핵심적인 부분이라고 할 수 있다[5]. 이처럼 프로그래밍 교육에 대한 관심이 높아짐에 따라, 평가 방법에 대한 연구도 이루어지고 있다. 평가는 학습에 대한 목표 달성도를 확인하기 위한 기능과, 학습자가 학습목표에 도달할 수 있도록 조력 하는 기능을 동시에 갖고 있어야 한다. 이에 본 연구 는 교수자가 학교교육에서 효과적인 프로그래밍 교육 을 실시하기 위한 평가 방향을 모색하고, 프로그래밍 교육을 진행할 때 학습자의 관점에서 고려해야할 점을 알아보기 위해 진행되었다. 목적달성을 위해 다면평가 를 실시하였으며, 연구를 통해 프로그래밍 학습을 학 생 관점에서 이해하고, 프로그래밍 교육을 어떻게 하 면 효율적으로 실시할 수 있을 지에 대한 시사점을 제 공할 수 있을 것으로 기대된다.

2. 이론적 배경

2.1 국내 프로그래밍 평가 사례

한국의 교육과정에서 프로그래밍 교육은 중, 고등 학교 ‘정보’에서 이루어진다. 총 4가지 영역 중 ‘문제 해결과 프로그래밍’ 영역 내에서 프로그래밍 교육이 실시되며, 교육과정에 따르면 ‘프로그래밍은 문제의 해 결책을 프로그래밍 언어로 구현하여 자동화 하는 과 정’이라고 정의된다[6]. 프로그래밍 평가로 주로 사용되는 방법은 시스템을

(2)

2018년 한국컴퓨터교육학회 하계 학술발표논문지 제22권 제2호

108

-통해 프로그램 코드를 분석하는 것, 미리 구성된 평가 지표를 통해 전문가가 직접 평가하는 것으로 나눌 수 있다[11]. 본 연구에서는 평가지표를 통한 전문가의 평 가를 사용하였다. 아래 <표 1>은 기존에 평가지표를 통해 프로그래밍 평가지표를 구성하여 적용한 연구와 그 내용이다[7][8][9][10]. 연구제목 평가 적용 연구내용 Alice 프로그래밍 을 통한 객체 지향 시각 프로그래밍 교육의 평가 지표 개발 및 유용성 분석 (2014) 대학 강좌 수강생 객체지향 프로그래밍 평가를 위한 지표로 유 지보수성, 확장성, 재사 용성을 포함하여 세부 내용에 자료수집 평가, 학습 전후 성적 향상 정도, 언어 수준, 학습 의욕 고취도, SW분석/ 설계 방법 향상도를 평 가 지표로 함. Computation al Thinking 역량 계발을 위한 수업 설계 및 평가 루브릭 개발 (2014) 대학생 초등교원 양성기관에서 예비교사들을 위한 프 로그래밍 수업 설계와 스크래치 프로그래밍 수업을 통해 계발할 수 있는 컴퓨팅 사고력의 6가지 세부역량에 따른 평가 루브릭을 제시함. 초,중학교 SW교육을 위한 프로 그래밍 평가 지표 개발(2016) 초·중학생 SW 프로그램 평가기준 을 교육적 가치와 SW 품질적 측면으로 나누 어 문제 인식 및 정의, 문제 해결 방법 탐색, 프로그램 설계, 프로그 램 구현 단계에 따라 15가지 평가요소와 36 개의 기준을 제시함 컴퓨팅 사고 개념 학습과 프로그래밍 역량평가를 위한 루브릭 개발 (2017) 대학생 컴퓨팅 사고의 기본 개 념의 숙지가 프로그래 밍을 통하여 표현되었 는지 측정하기 위하여, 미국의 AP Computer Science Principles의 구 성요소를 기반으로 2 가지 단계와 각각 4가 지 범주로 이루어진 평 가 루브릭을 구성함 <표 1> 프로그래밍 평가지표 적용 연구 평가지표를 구성하는 목적은 평가 대상에 따라 달라 진다. 대학생이나 전문가를 대상으로 하는 평가로서 프로그램 효율성 중심의 코드 평가가 주축을 이루고 있는 것에 반해, K-12학습자를 위한 프로그래밍 교육 은 컴퓨팅 사고력을 기반으로 한 사고력 향상 교육에 목표를 두고 있는 것을 알 수 있다.

3. 연구내용

3.1 연구절차

첫째, 고등학생 연령에 맞는 학습 프로그래밍 언어 를 Python으로 선정하였다. 교육과정에 따르면 고등학 생 학령에는 텍스트형 언어를 학습하도록 권장하고 있 으며, 선행연구에 따라 텍스트형 프로그래밍 언어가 익숙하지 않은 학생들이 쉽게 사용할 수 있는 Python 프로그래밍 언어를 선정하였다. Python은 인터프리터 언어로서 컴파일러 언어에 비해 사용법이 간단하고, C 언어에 비해 문법이 간단하여 인지 부하를 감소 시킬 수 있다[11]. 둘째, 학습내용을 설계하였다. 텍스트 기반 프로그래 밍 언어의 개발 환경 및 특성을 이해하고 변수와 연 산, 입력과 출력, 실행 흐름 제어를 위한 제어 구조, 배 열과 함수 등 프로그래밍의 기본 개념과 원리를 적용 하도록 하는 학습 목표를 달성하기 위해 9차시에 걸쳐 수업내용을 설계하였다. 셋째, 선행연구를 바탕으로 평가도구를 마련하였다. 넷째, 수업과정에서 형성평가를 매 주 실시하였으며, 평가도구에 따라 프로젝트 결과를 자기, 동료, 교사가 평가하였다.

3.2 평가도구 및 평가방법

평가기준은 McCracken, M.et al(2001)이 Degree of Closeness를 기반하여 개발하고, 장윤재(2012)가 2단계 에 걸쳐 완성한 기준을 수정하여 프로그래밍 과정을 계획, 구현, 결과물의 3단계로 바꾸어 사용하였다. 본 연구에서 계획, 구현, 결과물에 대한 정의는 다음과 같 다. 평가 기준은 세부 항목인 프로그램 계획, 구현, 결 과물의 단계 맞게 평가 요소를 정의하였다. <표 2>는 자기평가, 동료평가, 교사평가를 위해 사 용된 단계에 따른 평가요소이다. 단계 평가요소 계획 기획 단계에서 작품을 완성하기 위한 계획 이 적절하였는가? 작품이 계획과 동일하게 구현 되었는가? 구현 작품을 구현하기 위한 프로그래밍 언어에 대한 지식은 충분하였는가? 프로그램이 오류 없이 잘 완성되었는가? 결과물 개발된 프로그램은 다른 사용자가 사용하기 에 불편함이 없는가? 개발된 프로그램은 다른 사람에게도 유용한 가? 개발된 프로그램의 완성도는 어떠한가? 개발된 프로그램은 기존의 프로그램들과 다 른 차별성이 있는가? <표 2> 프로그래밍의 3단계에 따른 평가요소 이러한 평가 기준은 프로그래밍을 배우고 학습하는 과정이 단순히 코더를 양성하기 위한 코딩 과정이 아

(3)

2018년 한국컴퓨터교육학회 하계 학술발표논문지 제22권 제2호

109

-니라 학생들이 만들고자 하는 작품을 스스로 계획하고 만들어가는 과정을 충분히 평가 할 수 있도록 고려한 것이다. 계획 단계에서는 작품을 구상하고 자신이 원 하는 것을 생각하도록 하고, 완성된 결과에 대해서는 더 나은 프로그램으로 향상될 수 있도록, 스스로 피드 백 하는 것을 학생들에게 요구하기 위하여 평가요소를 제작하였다.

4. 연구결과

평가요소 별 교사평가 동료평가 점수의 차이를 분석 한 것은 <표 3>과 같다. 프로 그래 밍 단계 평가 요소 구분 평균 동료-교사 점수 t 유의확 률 (양측) 계획 계획의 적절성 동료 8.63 0.20 1.148 .272 교사 8.43 계획과 구현의 일치성 동료 8.58 0.37 1.334 .205 교사 8.21 구현 프로그 래밍 언어 지식 동료 8.65 1.01 3.126 .008** 교사 7.64 무결성 동료 8.52 0.31 1.356 .198 교사 8.21 결과 물 사용성 동료 8.29 0.00 -0.003 .997 교사 8.29 유용성 동료 7.99 -0.37 -1.500 .157 교사 8.36 완성도 동료 8.48 0.20 0.776 .452 교사 8.29 독창성 동료 8.36 1.07 2.803 .015* 교사 7.29 **p < .01, *p < .05 <표 3> 평가요소별 동료평가와 교사평가 점수의 차이 분석 결과 프로그래밍 언어 지식수준과 관련된 평가 요소가 동료평가와 교사평가 결과가 유의수준 .05에서 통계적으로 유의미한 차이가 있는 것으로 나타났다. 프로그래밍 언어 지식은 언어의 문법적 개념과 논리 적인 코드 구조를 얼마나 잘 구성할 수 있는 가와 직 접적으로 연관이 있다. 해당 평가요소는 평가자가 가 진 언어에 관한 지식 정도에 따라 평가에 차이를 보일 수 있기 때문에 학습자와 교수자 평가가 차이를 보인 것으로 해석된다. 또한 학생들은 완성된 프로그램을 시연하는 형태의 발표를 통해 평가를 진행하였기 때문 에 제한된 시간 내에 평가를 진행할 수 밖에 없었다. 독창성은 기존의 다른 유사한 프로그램과 비교했을 때, 학생이 만든 프로그램만이 가진 특징으로, 독창성 에 대한 평가 또한 유의수준 .05에서 통계적으로 유의 미한 차이가 나타났다. 프로그램의 독창성은 경험 지 식의 정도에 따라 학생들과 교사가 다른 시각으로 해 석할 수 있기 때문에 평가 점수의 차이가 나타난 것으 로 해석된다.

5. 결론 및 논의

평가는 교육내용의 달성 정도를 알아보고, 성취 수 준 파악을 통해 학습내용을 재설정하는 데에 중요한 역할을 한다. 때문에 학교 현장에서의 프로그래밍 평 가 또한 교수자가 일방적으로 행해지는 평가에 그쳐서 는 안 된다. 프로그래밍 언어 지식에 대한 평가는 언어에 관한 지식 정도에 따라 평가에 차이를 보일 수 있다. 따라 서 학습자가 언어 지식에 관한 요소를 정확하게 평가 하기 위해서는 평가를 위한 내용지식에 대한 가이드 라인을 제시해 줄 필요가 있다. 프로그램의 독창성은 경험 지식의 정도에 따라 학생 들과 교사가 다른 시각으로 해석할 수 있기 때문에 평 가 점수의 차이가 나타난 것으로 해석된다. 학생들이 생각했을 때 새로운 개념이라 할지라도, 교수자의 경 우 익숙한 개념이거나 혹은 학생들에게는 익숙한 주제 가 교수자에게 낯선 경우가 발생할 수 있다. 따라서 평가의 신뢰도를 유지하기 위해서는 학생이 구현한 프 로그램이 기존의 프로그램과 어떤 점이 다른지에 대한 차이점을 비교하여 명확히 명시하도록 해야 한다. 학교현장에서 제대로 된 프로그래밍 교육을 실시하 고자 하는 경우, 대부분 실습 위주로 진행되기 때문에 교사 1인이 한 학급의 모든 학생 프로젝트를 동시에 관찰하기 쉽지 않은 실정이다. 이를 보완하기 위해 동 료평가를 실시함으로서 양적인 평가뿐만 아니라 질적 인 평가를 포함한 평가를 기대할 수 있을 것이다. 또 한 프로그래밍 단계를 다각도로 평가함으로서 단순히 코드를 작성하는 법을 배우게 하는 것이 아니라, 작품 을 구상하고 결과물에 대한 피드백을 생각하는 힘을 기를 수 있도록 지도할 수 있을 것이다.

감사의 글

본 연구는 과학기술정보통신부 및 정보통신기술진흥 센터의 SW중심대학사업의 연구결과로 수행되었음 (2015-0-00936)

참 고 문 헌

[ 1 ] 교육부(2015). 초·중등학교 교육과정 총론,

교육부 고시 제 2015-80호 별책 1(교육부

고시 제 2015-74호의 부칙개정).

[ 2 ] The ACM K-12 Task force Curriculum

Committee.(2003). A Model Curriculum for

K-12 Computer Science. CSTA

(4)

2018년 한국컴퓨터교육학회 하계 학술발표논문지 제22권 제2호

110

-[ 3 ]

The CSTA Standard Task force.(2011).

CSTA K-12 Computer science standards.

CSTA.

[ 4 ]

K–12

Computer

Science

Framework

Steering Committee(2016). K-12 Computer

Science Framework. CSTA

[ 5 ] 한국교육학술정보원 소프트웨어교육부(2017),

초·중등 소프트웨어(SW)교육 역량 진단도구

개발 연구, 한국교육개발원(KERIS)

[ 6 ] 교육부(2015). 실과(기술·가정)/정보과 교육과

정. 교육부 고시 제 2015-74호 별책 10. 교육부.

[ 7 ] 안성훈 (2016), 초,중학교 SW교육을 위한 프로

그래밍 평가지표 개발, 컴퓨터교육학회논문

지, 19(4). 11-20

[ 8 ] 정덕길, 정민포, 조혁규, 노영욱(2014), Alice

프로그래밍을 통한 객체 지향 시각 프로그래

밍 교육의 평가 지표 개발 및 유용성 분석, 한

국정보통신학회논문지, 18(3), 742-748

[ 9 ] 최형신(2014), Computational Thinking 역량

계발을 위한 수업 설계 및 평가 루브릭 개발,

한국정보교육학회논문지, 18(1), 57-64

[ 10 ] 김재경(2017), 컴퓨팅 사고 개념 학습과 프로

그래밍 역량평가를 위한 루브릭 개발, 컴퓨터

교육학회논문지, 20(6). 27-36

[ 11 ] 현태익(2012), 일반계 고등학교 정보교육과

정의 문제 해결 방법과 절차 수업 모형. 신

라대학교 대학원 박사학위 논문.

참조

관련 문서

Situated learning in science education: socio‐scientific issues as contexts for practice?. What Major “Socio-Scientific Topics” Should the Science Curriculum

Keyword: HRD, the science policy, the educational policy, the Humanities, The Professional Graduate School for Education, the Presidential Committee for the

The results of analysis on the difference of psychological happiness according to frequency of participation of external physical activity of female middle school

School of Computer Science &amp; Engineering Seoul

A Friendly Introduction for Electrical and Computer Engineers SECOND

A Friendly Introduction for Electrical and Computer Engineers SECOND

A Friendly Introduction for Electrical and Computer Engineers SECOND

A Friendly Introduction for Electrical and Computer Engineers SECOND