학습자가 주어진 문제를 해결하는 알고리즘을 작성한 후 그것이 정확한지, 그리고 시간 효율적인지를 확인할 수 있는 알고리즘 자동평가 시스템에 대한 연구가 최근 들어 활발히 진행 중이다. 그러나 기존에 연구되었던 시스템은 대부분 프로그래밍 콘테스트를 위한 Online Judge 방식으로 본 연구에서는 교수 학습 기능을 강화한 클라이언트-서버 기반의 시스템을 개발하였다. 특히, 문제해결력 증진을 위한 교수 학습 설계 모델 CRESST을 토대로 학습자의 메타인지와 동기가 활성화되도록 설계하였으며, 알고리즘 자동평가 시스템의 구성요소인 문제, 채점데이터 세트, 자동평가 프로그램, 사용자서비스 환경 등의 전체 시스템을 구현하였다. 본 시스템의 프로그래밍 학습 효과를 분석하기 위해 초 중 고 학생 39명에 대해서 비동질 통제집단 사전사후측정 실험을 실시하였고, 사후검사에 대한 독립표본 T-검정 결과, 실험집단(18명)의 평균점수가 통제집단(21명)보다 유의미하게 높은 것으로 확인되었다. 이것은 본 시스템을 사용한 교수 학습 방법이 전통적인 교수 학습 방법에 비해 프로그래밍 학습에 더 효과적임을 의미한다.
학습자가 주어진 문제를 해결하는 알고리즘을 작성한 후 그것이 정확한지, 그리고 시간 효율적인지를 확인할 수 있는 알고리즘 자동평가 시스템에 대한 연구가 최근 들어 활발히 진행 중이다. 그러나 기존에 연구되었던 시스템은 대부분 프로그래밍 콘테스트를 위한 Online Judge 방식으로 본 연구에서는 교수 학습 기능을 강화한 클라이언트-서버 기반의 시스템을 개발하였다. 특히, 문제해결력 증진을 위한 교수 학습 설계 모델 CRESST을 토대로 학습자의 메타인지와 동기가 활성화되도록 설계하였으며, 알고리즘 자동평가 시스템의 구성요소인 문제, 채점데이터 세트, 자동평가 프로그램, 사용자서비스 환경 등의 전체 시스템을 구현하였다. 본 시스템의 프로그래밍 학습 효과를 분석하기 위해 초 중 고 학생 39명에 대해서 비동질 통제집단 사전사후측정 실험을 실시하였고, 사후검사에 대한 독립표본 T-검정 결과, 실험집단(18명)의 평균점수가 통제집단(21명)보다 유의미하게 높은 것으로 확인되었다. 이것은 본 시스템을 사용한 교수 학습 방법이 전통적인 교수 학습 방법에 비해 프로그래밍 학습에 더 효과적임을 의미한다.
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 sy...
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.
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.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
C언어를 학습한 후 쉽게 해결할 수 있는 기초 문제 48개, 자료구조와 알고리즘에 관한 문제 17개, 그리고 각 문제에 대한 채점데이터 세트를 개발하였다. 또한 한국정보올림피아드의 지역본선 문제와 전국본선 문제도 함께 탑재하여 정보올림피아드 대회에 대비한 학습도 가능하도록 하였다. 다음은 기초문제의 예시다.
본 연구에서는 CRESST 모델의 메타인지와 동기를 촉진하도록 설계한 클라이언트-서버 방식의 알고리즘 자동평가 시스템을 개발하였으며, 초 · 중 · 고 학생 39명을 대상으로 프로그래밍 학습 효과를 검정하기 위해 비동질 통제집단 사전사후 측정 실험을 수행하였다. 검정 결과, 사후 검사에서 실험 집단의 평균점수가 통제집단에 비해 유의미하게 높은 것으로 나타났으며, 이를 통해 알고리즘 자동평가 시스템을 적용한 교수 · 학습방법이 전통적인 교수 · 학습방법에 비해 프로그래밍 학습에 더 효과적임을 확인할 수 있었다.
본 연구에서는 이러한 문제점을 인식하고 클라이언트-서버 기반의 자동평가 시스템을 개발하였다. 이 방식의 특징은 <그림 5>와 같이 자동평가 프로그램이 클라이언트에서 실행되기 때문에 사용자의 통합개발환경과 연동되어 코딩과 함께 곧바로 자동평가를 수행할 수 있다는 점이다.
가설 설정
3) 문제코드를 입력하면 채점데이터가 자동으로 사용자 컴퓨터에 다운로드된다. 이 과정에서 문제 정보파일이 생성되는데 이것은 동일한 문제를 다시 채점할 때 이미 다운로드받은 데이터를 재사용하기 위한 것이다.
H1 : 프로그래밍 학습에서 자동평가 시스템을 적용한 교수 · 학습방법이 전통적인 교수 · 학습방법에 비해 더 높은 성취도를 가져올 것이다.
71)보다 높다. 즉, 연구가설(H1)은 채택되며, 전통적인 교수 · 학습 방법에 비해 알고리즘 자동평가 시스템을 적용한 교수 · 학습 방법이 프로그래밍 학습에 더 효과적이라고 해석할 수 있다. 다만, 사후검사에서 두 집단의 평균이 10점 이상 차이가 나는 이유는 알고리즘 자동평가 시스템의 효과와 더불어 통제집단의 전통적인 교수 · 학습 방법이 ‘컴퓨터를 이용한 문제해결의 자동화’라는 정보과학 (Informatics)의 주요 내용을 학습자에게 각인시키지 못하는 문제에서 그 원인을 찾을 수 있을 것이다.
제안 방법
C언어를 학습한 후 쉽게 해결할 수 있는 기초 문제 48개, 자료구조와 알고리즘에 관한 문제 17개, 그리고 각 문제에 대한 채점데이터 세트를 개발하였다. 또한 한국정보올림피아드의 지역본선 문제와 전국본선 문제도 함께 탑재하여 정보올림피아드 대회에 대비한 학습도 가능하도록 하였다.
즉, 특정 범위 내의 입력값에 대해서 주어진 문제를 해결하는 컴퓨터 프로그램의 코드 일부를 작성하는 문항으로 제작되었다. 또한, C언어의 문법을 학습했다면 해결할 수 있는 기본 문항 8개와 문자열 처리 등에 관한 응용 문항 2개로 구성하였다. <표 5>는 기본 문항의 예시다.
본 연구에서 개발한 자동평가 시스템을 충북의 초등학생, 중학생, 고등학생들에게 적용하였다. 시스템의 보급을 위해서 교사 대상의 프로그래밍 연수에서 시스템을 적극 활용하도록 권고하였고, 컴퓨터 영재교실의 강사들에게 시스템 사용법을 안내하였다.
본 연구에서는 학습자의 메타인지와 동기를 촉진하도록 설계된 클라이언트-서버 방식의 알고리즘 자동평가 시스템을 개발하고 이를 적용한 후 프로그래밍 학습 효과를 분석하였다.
위의 가설을 검정하기 위해 참가학생 39명(초등학생 16명, 중학생 19명, 고등학생 4명)에 대해서<그림 15>의 ‘비동질 통제집단 사전사후측정설계 (nonequivalent control group design with pretest-posttest)’ 실험을 실시하였다[15]. 실험집단은 C언어의 문법에 대한 설명과 함께 알고리즘 자동평가 시스템을 통해 실습하는 교수 · 학습 방법을 적용하였으며(X1), 통제집단은 동일한 내용을 지도하면서 교재의 소스코드를 그대로 입력해 보는 방식의 전통적인 교수 · 학습 방법(X2)을 적용하였다. 실험집단은 18명(초등학생 7명, 중학생 9명, 고등학생 2명), 통제집단은 21명(초등학생 9명, 중학생 10명, 고등학생 2명)으로 구성하였다.
위의 가설을 검정하기 위해 참가학생 39명(초등 학생 16명, 중학생 19명, 고등학생 4명)에 대해서의 ‘비동질 통제집단 사전사후측정설계 (nonequivalent control group design with pretest-posttest)’ 실험을 실시하였다[15].
웹 서비스로 문제가 제시되면, 사용자는 이 문제를 정확하고 효율적으로 해결할 수 있는 프로그램을 작성한다. 이 프로그램의 소스를 복사한 후 웹 서비스 상에 제출하면 서버는 이 소스를 컴파일한 후 미리 만들어 놓은 채점 데이터와 비교하여 알고리즘의 정확성과 시간효율성을 평가한다. 이러한 방식의 알고리즘 자동평가 시스템을 일반적으로 ‘Online Judge 시스템’이라고 부른다[4][5].
채점데이터 세트는 입력데이터와 정답데이터의 쌍으로 구성된 10개에서 20개 정도의 데이터 세트로서 입력데이터와 정답데이터 사이의 종적인 구성을 통해 알고리즘의 정확성을 평가하며, 입력 데이터의 범위가 점점 증가하는 횡적인 구성으로 알고리즘의 시간효율성을 평가한다. 그리고 이러한 평가요소는 <표 2>의 문제 구성요소에서 ②핵심요구사항, ③제한시간, ④입력데이터의 범위와 밀접하게 관련되어 있다.
프로그래밍 소스의 일부가 가려져 있고 이 부분에 적절한 코드를 채워넣는 방식의 문항 10개로 구성된 ‘프로그래밍 문제해결력 검사지’를 개발하였다.
대상 데이터
실험집단은 C언어의 문법에 대한 설명과 함께 알고리즘 자동평가 시스템을 통해 실습하는 교수 · 학습 방법을 적용하였으며(X1), 통제집단은 동일한 내용을 지도하면서 교재의 소스코드를 그대로 입력해 보는 방식의 전통적인 교수 · 학습 방법(X2)을 적용하였다. 실험집단은 18명(초등학생 7명, 중학생 9명, 고등학생 2명), 통제집단은 21명(초등학생 9명, 중학생 10명, 고등학생 2명)으로 구성하였다.
데이터처리
실험집단과 통제집단의 동질성을 확인하기 위해 O0과 O2에 대한 독립표본 T-검정을 실시하였으며, 독립변수의 효과를 확인하기 위해 O1과 O3에 대한 독립표본 T-검정을 실시하였다. 이때, 신뢰구간은 95%이며, 사전검사와 사후검사는 동일한 문항을 사용하였다.
성능/효과
1) 아이디와 비밀번호를 이용하여 로그인을 시도하면 프로그램은 서버의 데이터베이스에서 로그인 정보를 확인한다.
본 연구에서는 CRESST 모델의 메타인지와 동기를 촉진하도록 설계한 클라이언트-서버 방식의 알고리즘 자동평가 시스템을 개발하였으며, 초 · 중 · 고 학생 39명을 대상으로 프로그래밍 학습 효과를 검정하기 위해 비동질 통제집단 사전사후 측정 실험을 수행하였다. 검정 결과, 사후 검사에서 실험 집단의 평균점수가 통제집단에 비해 유의미하게 높은 것으로 나타났으며, 이를 통해 알고리즘 자동평가 시스템을 적용한 교수 · 학습방법이 전통적인 교수 · 학습방법에 비해 프로그래밍 학습에 더 효과적임을 확인할 수 있었다.
<표 8>과 <표 9>는 각 집단별 사전, 사후 검사의 평균에 대한 대응표본 t-검정을 실시한 결과다. 이 결과를 토대로 전통적인 교수 · 방법과 자동평가 시스템을 적용한 교수 · 방법이 모두 프로 그래밍 학습에 효과가 있음을 확인할 수 있다.
후속연구
알고리즘 자동평가 시스템은 초 · 중 · 고 단위 학교에서 정보과학적 문제해결력 함양을 위한 교수 · 학습 도구로 활용할 수 있으며, 문제의 난이도를 다소 상향 조정함으로써 정보영재 교육에서 자료구조와 알고리즘에 대한 심화학습용으로 활용할 수 있을 것이다. 특히, 기초 프로그래밍 과정에서 본 시스템을 적용함으로써 문법에 대한 무미건조한 학습보다는 ‘문제’를 중심에 두고 그 문제를 해결하는 프로그래밍 학습으로 교육내용의 방향과 순서를 전환한다면, 학습자에게 프로그래밍 학습에 대한 강한 동기와 더불어 흥미를 부여할 수 있을 것이라고 강조하고 싶다.
질의응답
핵심어
질문
논문에서 추출한 답변
Online Judge 방식의 장단점은 무엇인가?
그러나 지금까지 연구되었던 자동평가 시스템[6][7]은 Online Judge 방식이다. 이 방식은 대부분 프로그래밍 콘테스트 대비용으로 활용되며, 소스의 컴파일, 실행, 자동채점 등이 모두 Online 상에서 진행 되기 때문에 사용자 편이성 등이 우수하지만, 채 점데이터 세트가 공개되지 않아 사용자가 입력값의 특성과 정답 데이터를 확인하기 어렵다는 단점이 있다.
정보과학적 문제해결력이란?
주어진 문제를 컴퓨터 프로그래밍을 통해 창의적이고 효율적으로 해결하는 능력은 지식 정보화 사회를 살아가는 구성원들이 갖추어야 할 필수능력 중 하나다[1]. 이러한 ‘정보과학적 문제해결력’은 제시된 문제를 해결하기 위한 자료구조의 선정과 알고리즘의 구현이 선행되어야 한다.
채점데이터 세트는 무엇을 평가하는가?
채점데이터 세트는 입력데이터와 정답데이터의 쌍으로 구성된 10개에서 20개 정도의 데이터 세트로서 입력데이터와 정답데이터 사이의 종적인 구성을 통해 알고리즘의 정확성을 평가하며, 입력 데이터의 범위가 점점 증가하는 횡적인 구성으로 알고리즘의 시간효율성을 평가한다. 그리고 이러한 평가요소는 <표 2>의 문제 구성요소에서 ②핵심요구사항, ③제한시간, ④입력데이터의 범위와 밀접하게 관련되어 있다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.