원문정보
초록
영어
Currently, programming education is delivered through various methods including programming to enhance problem- solving skills. Among these methods, a debugging based approach in which errors in faulty programs are detected and corrected, is also an useful and important means of improving logical reasoning and problem-solving abilities. Generating programs that contain errors is crucial for effective debugging-based instruction, existing studies has mainly focused on analyzing errors which occur during programming, and there is relatively little research on generating errors in educational block programming languages. In this paper, we propose mutation operators for educational block programming language to effectively support debugging by generating programs with errors. We analyzed mutation operators used in conventional programming languages and identified occurring error types, subsequently defining a set of mutation operators applicable to block-based programming languages. The proposed mutation operators are organized into two groups which consist of 12 and 16 operators respectively. We also performed a case study to demonstrate that the proposed mutation operators can systematically generate programs containing errors.
한국어
현재 프로그래밍 교육은 문제해결력을 향상하기 위한 교육으로 프로그래밍과 같은 다양한 방법을 통해 진행되 며 오류가 포함된 프로그램으로부터 오류를 탐지하고 수정하는 디버깅 기반의 교육 방법 또한 논리적 사고력과 문제해결력을 향상하는 중요한 방법이다. 디버깅을 활용한 교육을 위해서는 오류가 포함된 프로그램을 생성하는 것이 중요하지만, 기존 연구들에서는 학생들의 프로그래밍 단계에서 발생할 수 있는 오류 분석에 치중하는 등 교 육용 블록 프로그래밍의 오류 생성에 관련된 연구는 부족한 상황이다. 본 논문에서는 디버깅 기반 프로그래밍 교 육을 위해 블록 기반의 교육용 프로그래밍 언어에서 오류가 포함된 프로그램을 생성해 디버깅 교육을 효과적으로 지원하기 위한 뮤테이션 연산자를 제안한다. 제안하는 뮤테이션 연산자는 문헌 연구 등을 통해 기존 프로그래밍 언어에서 사용된 뮤테이션 연산자와 자주 발생하는 오류 유형을 분석하여 블록 프로그래밍 언어에 적용할 수 있 도록 오브젝트/스프라이트 수준과 블록 수준에서 각각 12개와 16개로 제안한다. 또한 본 논문에서는 사례 연구를 통해 제안된 뮤테이션 연산자가 오류가 포함된 프로그램을 체계적으로 생성할 수 있음을 확인하였다.
목차
Abstract
1. 서론
2. 배경지식
2.1 뮤테이션 테스팅
2.2 관련 연구
3. 블록 프로그래밍 언어의 뮤테이션 연산자 개발
3.1 뮤테이션 연산자를 위한 고려사항
3.2 블록 프로그래밍 언어를 위한 뮤테이션 연산자 개발
4. 사례 연구
5. 결론 및 향후 연구
참고문헌
