초중등 프로그래밍 교육에서 Scratch로 대변되는 블록 프로그래밍 환경은 학습자의 특성과 인지수준에 적합하여 활용이 권장되고 있을 뿐 아니라 프로그래밍 초보자도 쉽게 사용할 수 있어 전세계적으로 활용되고 있다. 블록 프로그래밍 환경 이후 데이터 처리과정에 대한 이해, 알고리즘의 정교성과 효율성 측면에 대한 이해, 간단한 SW를 제작하는 활동을 위해 텍스트 프로그래밍 환경으로의 전이는 필수적일뿐 아니라 교육과정에서도 단계적으로 제시하고 있다. 본 연구에서는 블록 프로그래밍 환경에서 텍스트 프로그래밍 환경으로 전이하기 위한 목적으로 온라인 평가 시스템인 WithBlock를 개발하였다. 개발한 시스템은 동일한 알고리즘 문제를 블록과 텍스트 프로그래밍 환경 모두에서 풀이가 가능할 뿐 아니라 작성한 코드를 자동으로 채점하여 즉시적인 피드백을 제공할 수 있어 초중등 프로그래밍 교육에 활용할 수 있다. 개발한 시스템의 프로그래밍 교육에 적용 가능성을 분석하기 위한 목적으로 사용성, 학습 가능성, 흥미와 만족을 설문하였고, 설문결과 프로그래밍 교육에 활용 가능함을 보여주었다.
초중등 프로그래밍 교육에서 Scratch로 대변되는 블록 프로그래밍 환경은 학습자의 특성과 인지수준에 적합하여 활용이 권장되고 있을 뿐 아니라 프로그래밍 초보자도 쉽게 사용할 수 있어 전세계적으로 활용되고 있다. 블록 프로그래밍 환경 이후 데이터 처리과정에 대한 이해, 알고리즘의 정교성과 효율성 측면에 대한 이해, 간단한 SW를 제작하는 활동을 위해 텍스트 프로그래밍 환경으로의 전이는 필수적일뿐 아니라 교육과정에서도 단계적으로 제시하고 있다. 본 연구에서는 블록 프로그래밍 환경에서 텍스트 프로그래밍 환경으로 전이하기 위한 목적으로 온라인 평가 시스템인 WithBlock를 개발하였다. 개발한 시스템은 동일한 알고리즘 문제를 블록과 텍스트 프로그래밍 환경 모두에서 풀이가 가능할 뿐 아니라 작성한 코드를 자동으로 채점하여 즉시적인 피드백을 제공할 수 있어 초중등 프로그래밍 교육에 활용할 수 있다. 개발한 시스템의 프로그래밍 교육에 적용 가능성을 분석하기 위한 목적으로 사용성, 학습 가능성, 흥미와 만족을 설문하였고, 설문결과 프로그래밍 교육에 활용 가능함을 보여주었다.
Block programming environment, which is represented by Scratch in elementary and middle school programming education, is suitable for learner's characteristics and cognitive level, and is recommended not only for beginners. Transference to the text programming environment after the block programming...
Block programming environment, which is represented by Scratch in elementary and middle school programming education, is suitable for learner's characteristics and cognitive level, and is recommended not only for beginners. Transference to the text programming environment after the block programming is essential for understanding the data processing process, understanding the accuracy and efficiency aspects of algorithms, and creating SW activity. In addition, it is presented step by step in the programming curriculum. In this study, developed WithBlock the online evaluation system for the purpose of transference from a block programming to a text programming environment. The developed system can solve the same algorithm problem in both block and text programming environment, and it can be used for elementary and secondary programming education by automatically scoring the written code and providing immediate feedback. In order to applicable to programming education in elementary and secondary surveyed the usability, learning possibility, interest and satisfaction of WithBlock. The results of the survey showed that it can be used for programming education.
Block programming environment, which is represented by Scratch in elementary and middle school programming education, is suitable for learner's characteristics and cognitive level, and is recommended not only for beginners. Transference to the text programming environment after the block programming is essential for understanding the data processing process, understanding the accuracy and efficiency aspects of algorithms, and creating SW activity. In addition, it is presented step by step in the programming curriculum. In this study, developed WithBlock the online evaluation system for the purpose of transference from a block programming to a text programming environment. The developed system can solve the same algorithm problem in both block and text programming environment, and it can be used for elementary and secondary programming education by automatically scoring the written code and providing immediate feedback. In order to applicable to programming education in elementary and secondary surveyed the usability, learning possibility, interest and satisfaction of WithBlock. The results of the survey showed that it can be used for programming education.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구는 블록 프로그래밍 환경에서 텍스트 프로그래밍 환경으로 전이하는 과정에서 학습자들에게 도움을 주기 위해 개발된 온라인 평가 시스템인 WithBlock의 프로그래밍 교육에 적용 가능성을 평가하기 위한 목적으로 연구되었다. 연구 결과, 기존의 블록 프로그래밍 환경에 익숙한 학생일수록 WithBlock을 선호하는 것으로 나타났을 뿐 아니라 처음 접하는 학생들에게도 프로그래밍 학습시 도움이 줄 수 있는 것으로 분석되었다.
본 연구에서는 블록 프로그래밍 환경에서 온라인 평가 시스템의 장점을 활용하고, 블록에서 텍스트 프로그래밍 환경으로 전이를 지원하고자 하는 목적으로 블록 프로그래밍 환경 기반 온라인 평가 시스템인 WithBlock를 개발하였다[16]. 제안하는 시스템은 하나의 알고리즘 문제를 블록과 텍스트 프로그래밍 환경에서 동시에 풀이하고 결과를 확인할 수 있다.
본 연구에서는 블록형 프로그래밍 환경에서 텍스트형 프로그래밍 환경으로 전이하는 과정을 지원하기 위한 목적으로 블록형 프로그래밍 환경인 WithBlock를 개발하였다[16]. WithBlock은 Scratch와 엔트리와 같이 블록 프로그래밍 활동을 통해 알고리즘의 정확성과 효율성을 자동으로 평가하여 피드백하는 온라인 알고리즘 평가 시스템이다.
제안 방법
실험은 개발한 WithBlock의 사용성을 측정한 목적으로 초중등 학생에게 다음과 같은 순서로 적용하였다. WithBlock의 사용법을 20분 동안 따라하기 형태로 학습한 이후, 40분 동안 등록된 3개의 알고리즘 문제를 학생 스스로 해결하도록 하였다. 문제풀이 활동 이후 사용성, 학습 가능성, 흥미와 만족을 설문하였다.
WithBlock의 사용성, 학습 가능성, 흥미와 만족도를 측정하기 위한 설문을 제작하였다. 제작한 설문은 사용성 3문항, 학습 가능성 3문항, 흥미와 만족도 2문항이었다.
도형을 그리는 콘텐츠를 반복, 함수, 패턴의 프로그래밍 개념에 따라 학습의 단계를 설정하여 반복적으로 Unplugged > Scratch > Python의 순으로 학습하는 구체적인 단계를 제시하였다.
둘째, Scratch로 프로그래밍하여 결과를 확인하고, 이후 Python turtle을 사용하여 동일한 그림을 그리는 프로그래밍 활동을 <그림 2]와 같이 수행하도록 하였다.
WithBlock의 사용법을 20분 동안 따라하기 형태로 학습한 이후, 40분 동안 등록된 3개의 알고리즘 문제를 학생 스스로 해결하도록 하였다. 문제풀이 활동 이후 사용성, 학습 가능성, 흥미와 만족을 설문하였다. 학생이 풀이한 알고리즘 문제는 “분을 초로 바꾸기”, “두 수를 나눈 나머지 값”, “입력 받은 값에서 카운트 다운하기”이었다.
셋째, Scratch 코드와 Python 코드를 비교하는 활동을 통해 블록에서 텍스트로 전이할 수 있도록 비계(scaffolding) 역할을 수행하는 활동을 제시하였다. 도형을 그리는 콘텐츠를 반복, 함수, 패턴의 프로그래밍 개념에 따라 학습의 단계를 설정하여 반복적으로 Unplugged > Scratch > Python의 순으로 학습하는 구체적인 단계를 제시하였다.
WithBlock의 사용성, 학습 가능성, 흥미와 만족도를 측정하기 위한 설문을 제작하였다. 제작한 설문은 사용성 3문항, 학습 가능성 3문항, 흥미와 만족도 2문항이었다. 연구도구의 신뢰도는 <표 3>과 같이, 사용성이 .
초등학생을 대상으로 블록 프로그래밍 환경을 통한 선행학습이 후행하는 텍스트 프로그래밍 학습에 도움이 되는지 확인하고자 하는 목적으로 진행된 소미현과 김자미(2016)의 연구는 다음과 같다[11]. 초등학생을 대상으로 Scratch를 사용하여 [그림 3]과 같은 문제인 1부터 10까지 합을 계산, 키에 따라 놀이기구의 탑승여부를 출력하는 프로그램, 나이를 계산하는 프로그램, 자판기 프로그램 등의 알고리즘 문제를 프로그래밍하는 활동을 수행하고, 동일한 문제를 Python으로 프로그래밍하는 활동을 수행한 결과를 분석하였다. 분석 결과, 선행하는 블록 프로그래밍 환경인 Scratch에서 학습한 결과와 후행하는 텍스트 프로그래밍 환경인 Python에서 학습한 결과가 통계적으로 유의한 상관이 있는 것으로 분석되어 블록에서 텍스트로 전이가 이루어진 것으로 확인하였다.
초중등 학생이 시각적으로 쉽게 이해할 수 있는 도형을 그리는 콘텐츠를 바탕으로 첫째, 각도, 선, 원, 사각형, 오각형 등을 그리는 Unplugged 활동을 <그림 1]과 같이 수행하도록 하였다.
대상 데이터
블록 프로그래밍 환경에서 텍스트 프로그래밍 환경을 연계하기 위해 개발된 프로그래밍 도구인 WithBlock의 사용성과 학습 가능성을 분석하기 위한 목적으로 초등학교 6학년에서 고등학생까지의 학생들을 연구대상으로 선정하였다. 연구에 참여한 학생은 51명으로 성별과 블록 프로그래밍 환경의 경험 여부에 따른 세부적인 내용은 <표 2>와 같다.
연구에 참여한 학생은 51명으로 성별과 블록 프로그래밍 환경의 경험 여부에 따른 세부적인 내용은 와 같다.
성능/효과
즉, 알고리즘의 난이도는 동일하지만 블록에서 텍스트로 프로그래밍 방식을 자연스럽게 변경할 수 있어 블록에서 텍스트로 전이를 가능케 하는 환경을 제공할 수 있다. WithBlock의 사용성을 평가하기 위한 목적으로 초중등 학습자를 대상으로 프로그래밍 활동을 수행한 이후, 사용성, 학습 가능성, 흥미와 만족에 대해 설문하였고, 그 결과 개발한 WithBlock이 프로그래밍 교육에서 충분히 활용할 수 있음을 보여주었다.
초등학생을 대상으로 Scratch를 사용하여 [그림 3]과 같은 문제인 1부터 10까지 합을 계산, 키에 따라 놀이기구의 탑승여부를 출력하는 프로그램, 나이를 계산하는 프로그램, 자판기 프로그램 등의 알고리즘 문제를 프로그래밍하는 활동을 수행하고, 동일한 문제를 Python으로 프로그래밍하는 활동을 수행한 결과를 분석하였다. 분석 결과, 선행하는 블록 프로그래밍 환경인 Scratch에서 학습한 결과와 후행하는 텍스트 프로그래밍 환경인 Python에서 학습한 결과가 통계적으로 유의한 상관이 있는 것으로 분석되어 블록에서 텍스트로 전이가 이루어진 것으로 확인하였다.
성별에 따른 분석결과 사용성과 학습 가능성에서는 통계적으로 유의미한 차이가 있는 것으로 나타났고, 흥미와 만족에서는 남학생과 여학생 간에 차이가 나타나지 않았다.
여학생이 남학생에 비해 사용성, 학습 가능성, 흥미와 만족에서 모두 낮은 것으로 분석되었다. 프로그래밍에 대한 인식과 태도를 성별에 따라 분석한 기존의 연구들과 유사한 결과로, 여학생이 남학생에 비해 인식과 태도가 낮게 응답하는 경향이 나타난 것으로 해석할 수 있다[24][25][26].
본 연구는 블록 프로그래밍 환경에서 텍스트 프로그래밍 환경으로 전이하는 과정에서 학습자들에게 도움을 주기 위해 개발된 온라인 평가 시스템인 WithBlock의 프로그래밍 교육에 적용 가능성을 평가하기 위한 목적으로 연구되었다. 연구 결과, 기존의 블록 프로그래밍 환경에 익숙한 학생일수록 WithBlock을 선호하는 것으로 나타났을 뿐 아니라 처음 접하는 학생들에게도 프로그래밍 학습시 도움이 줄 수 있는 것으로 분석되었다. 이러한 결과는 WithBlock에서 제공하는 블록 프로그래밍 환경, 즉시적이고 시각적인 피드백, 평가결과에 대한 경쟁적인 요소 등이 종합적으로 나타난 결과라고 해석할 수 있다.
본 연구에서는 블록 프로그래밍 환경에서 온라인 평가 시스템의 장점을 활용하고, 블록에서 텍스트 프로그래밍 환경으로 전이를 지원하고자 하는 목적으로 블록 프로그래밍 환경 기반 온라인 평가 시스템인 WithBlock를 개발하였다[16]. 제안하는 시스템은 하나의 알고리즘 문제를 블록과 텍스트 프로그래밍 환경에서 동시에 풀이하고 결과를 확인할 수 있다. 즉, 알고리즘의 난이도는 동일하지만 블록에서 텍스트로 프로그래밍 방식을 자연스럽게 변경할 수 있어 블록에서 텍스트로 전이를 가능케 하는 환경을 제공할 수 있다.
학교급에 따른 분석결과 학교급 간에 사용성, 학습 가능성, 흥미와 만족 모두 통계적으로 차이가 있는 것으로 나타났고, 사후분석에서 모든 변인이 초등학교와 고등학교 간에 차이가 있는 것으로 분석되었다. 초등학교가 모든 변인에서 가장 높은 것으로 나타났고, 중학교, 고등학교로 갈수록 낮아지는 것으로 분석되었다. 프로그래밍과 관련된 활동에서 중고등학생 보다는 초등학생의 인식과 태도, 흥미와 만족 등이 높게 나타난다는 기존연구와 유사한 결과로, 학령이 낮을수록 블록 프로그래밍 활동을 선호하는 것으로 해석할 수 있다[23].
전통적인 프로그래밍 교육에 비해 온라인 평가 시스템을 활용하는 교육에서 프로그래밍 능력의 향상이 더 높은 것으로 나타났다[15]. 특히, 온라인 평가 시스템에서 제공하는 피드백과 문제풀이 순위 공개를 통한 경쟁적인 요소를 통해 학습자는 보다 적극적으로 프로그래밍 학습에 몰입하는 것으로 나타났다. 또한 2015 개정 교육과정의 고등학교 과학 계열 전문 교과인 ‘정보 과학’ 과목에서 자동평가 시스템의 활용을 제시하고 있어 텍스트 프로그래밍 언어의 문법에서부터 알고리즘 설계까지 폭넓게 활용할 수 있다[13][20].
학교급에 따른 분석결과 학교급 간에 사용성, 학습 가능성, 흥미와 만족 모두 통계적으로 차이가 있는 것으로 나타났고, 사후분석에서 모든 변인이 초등학교와 고등학교 간에 차이가 있는 것으로 분석되었다. 초등학교가 모든 변인에서 가장 높은 것으로 나타났고, 중학교, 고등학교로 갈수록 낮아지는 것으로 분석되었다.
후속연구
첫째, 학습자의 인지구조를 고려하여 블록 프로그래밍과 관련된 선행지식과 텍스트 프로그래밍과 관련된 새로운 개념들의 자연스러운 연결이 될 수 있도록 선행조직자를 제시할 필요가 있다. 둘째, 블록 프로그래밍 도구와 텍스트 프로그래밍 도구에서 동시에 풀이 할 수 있는 문제해결에 초점을 둔 학습 콘텐츠를 제공할 필요가 있다. 셋째, 학습자의 수준과 특성을 고려하여 시각적이며 직관적인 화면을 구성할 필요가 있다.
이상의 연구들을 토대로 도출한 블록에서 텍스트 프로그래밍 환경으로의 전이를 위한 환경의 요구사항은 다음과 같다. 첫째, 블록 프로그래밍 환경에서 학습자가 습득한 도구적 사용성이 텍스트 프로그래밍 환경으로 전이되기 위한 프로그래밍 도구가 제공될 필요가 있다. 텍스트 프로그래밍 문법과 체계를 고려한 블록 프로그래밍 도구의 개발은 학생이 텍스트 프로그래밍 방식의 문법과 체계로 전이할 수 있도록 도움을 줄 수 있다[18].
블록 기반 프로그래밍 언어에서 텍스트 기반 프로그래밍 언어로 긍정적인 학습 전이를 위한 전략을 제시한 이소율과 이영준(2018)의 연구를 정리하면 다음과 같다[17]. 첫째, 학습자의 인지구조를 고려하여 블록 프로그래밍과 관련된 선행지식과 텍스트 프로그래밍과 관련된 새로운 개념들의 자연스러운 연결이 될 수 있도록 선행조직자를 제시할 필요가 있다. 둘째, 블록 프로그래밍 도구와 텍스트 프로그래밍 도구에서 동시에 풀이 할 수 있는 문제해결에 초점을 둔 학습 콘텐츠를 제공할 필요가 있다.
향후 연구로는 블록에서 텍스트로의 전이를 학습자의 성취도 수준에서 확인할 수 있는 연구가 진행될 필요가 있고, 초중등 학습자들의 수준을 고려한 온라인 자동평가 문항들의 추가적인 개발이 필요할 것으로 보인다.
질의응답
핵심어
질문
논문에서 추출한 답변
블록 프로그래밍 환경의 장점은?
Scratch로 대표되는 블록 프로그래밍 환경은 추상적인 개념을 구체화된 블록들의 조합된 모습으로 시각화하여 제공할 수 있을 뿐 아니라 프로그래밍한 결과를 즉시 확인할 수 있는 장점이 있다[7]. 프로그래밍 교육에서 블록 프로그래밍 환경은 초중등 학습자의 인지수준에 적합할 뿐 아니라 흥미와 관심을 끌 수 있는 시청각적인 요소를 충분히 제공하고 있어 초중등학생을 대상으로 하는 프로그래밍 교육에서 활용되고 있다[8].
온라인 평가 시스템의 장점은 무엇인가?
온라인 평가 시스템의 장점은 학습자가 설계한 알고리즘에 대해 자동으로 채점하여 교정적 피드백을 즉시적으로 제공할 수 있어, 학습자가 자기주도적으로 알고리즘 설계와 프로그래밍 학습을 할 수 있다는 점이다[14][15]. 또한 시스템에서 학습자가 풀이한 결과를 종합하여 문제풀이 순위, 알고리즘 효율성, 문제 정답률 등과 같은 경쟁요소를 통해 학습동기와 흥미를 제공할 수 있다[13].
온라인 알고리즘 평가 시스템은 무엇인가?
온라인 알고리즘 평가 시스템은 문제에서 제한하는 프로그램의 실행 시간과 공간복잡도 내에서 사용자가 제출한 코드로 입력 데이터에 따라 출력이 올바른지 확인하여 정답의 유무를 제공하는 시스템이다. 시스템을 통해 사용자가 정답의 유무를 즉각적으로 확인할 수 있어 자기주도적으로 학습할 수 있을 뿐 아니라 제출한 코드에서 발생한 오류에 대해 즉시적으로 교정적인 피드백을 제공받을 수 있어 알고리즘적 사고와 프로그래밍 능력의 향상을 이끌 수 있다는 장점이 있다[13].
참고문헌 (27)
교육부(2016). 소프트웨어교육 활성화 기본계획
Department for Education(2013). National Curriculum in England : frame work for key stage 1 to 4.
Iirs Z. B., Bazil P. Dvir L.(2013). A Nationwide Exam as a Tool for Improving a New Curriculum, Proceedings of the 18th ACM conference on Innovation and technology in computer science education. 267-272.
장원영, 김성식(2014). 알고리즘 자동평가 시스템의 개발 및 적용 : 프로그래밍 학습 효과 분석. 컴퓨터교육학회논문지. 17(4). 26-34.
http://withblock.com
이소율, 이영준(2018). 블록 기반 프로그래밍 언어에서 텍스트 기반 프로그래밍 언어로의 학습 전이를 위한 프로그램 설계 방안. 한국컴퓨터교육학회 학술대회발표대회논문지. 22(1). 29-31.
C.C. Brown, M. Jens, B. Anthony, W. David(2016). Future Directions of Block-based Programming, Proceedings of the 47th ACM Technical Symposium on Computing Science Education. 315-316.
Gui P. W., Shu Y. C., X. Y. and Rui F.(2016). OJPOT: online judge & practice oriented teaching idea in programming courses. European Journal of Engineering Education. 41(3). 304-319.
Maloney, J., Peppler, K., Kafar, Y., Resnick, M., & Rusk, N. (2008). Programming by choice: Urban youth learning programming with scratch. Proceedings of the 39th ACM Technical Symposium on Computer Science Education. 367-37.
Kalelioglu, F. (2015). A new way of teaching programming skills to K-12 Code.org, Computer in Human Behavior. 52. 200-210.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.