Development and application of algorithm judging system : analysis of effects on programming learning

알고리즘 자동평가 시스템의 개발 및 적용 : 프로그래밍 학습 효과 분석

  • 장원영 (한국교원대학교 대학원 컴퓨터교육과) ;
  • 김성식 (한국교원대학교 컴퓨터교육과)
  • Received : 2014.06.23
  • Accepted : 2014.07.25
  • Published : 2014.07.29

Abstract

Many studies on algorithm judging system which verifies the correctness and the time efficiency of your program have been underway recently, most of which are on an online judging system focused on programming contests. However this study is mainly about development and application of the judging system based on client-server. Especially, we designed to promote metacognition and motivation which are emphasized in CRESST model, and implemented the total system that consists of the problem, data set, validation program, and user service environments. We applied our system to elementary, middle, and high school students, and We noticed a significant difference of average score between the experimental and control group in posttest and concluded that the teaching method using our system gave the bigger positive effects on programming learning.

학습자가 주어진 문제를 해결하는 알고리즘을 작성한 후 그것이 정확한지, 그리고 시간 효율적인지를 확인할 수 있는 알고리즘 자동평가 시스템에 대한 연구가 최근 들어 활발히 진행 중이다. 그러나 기존에 연구되었던 시스템은 대부분 프로그래밍 콘테스트를 위한 Online Judge 방식으로 본 연구에서는 교수 학습 기능을 강화한 클라이언트-서버 기반의 시스템을 개발하였다. 특히, 문제해결력 증진을 위한 교수 학습 설계 모델 CRESST을 토대로 학습자의 메타인지와 동기가 활성화되도록 설계하였으며, 알고리즘 자동평가 시스템의 구성요소인 문제, 채점데이터 세트, 자동평가 프로그램, 사용자서비스 환경 등의 전체 시스템을 구현하였다. 본 시스템의 프로그래밍 학습 효과를 분석하기 위해 초 중 고 학생 39명에 대해서 비동질 통제집단 사전사후측정 실험을 실시하였고, 사후검사에 대한 독립표본 T-검정 결과, 실험집단(18명)의 평균점수가 통제집단(21명)보다 유의미하게 높은 것으로 확인되었다. 이것은 본 시스템을 사용한 교수 학습 방법이 전통적인 교수 학습 방법에 비해 프로그래밍 학습에 더 효과적임을 의미한다.

Keywords