국내 외 정보(컴퓨터 과학) 교육과정에서 프로그래밍 교육이 강조되고 있으며, 초보자가 프로그래밍을 경험할 기회가 많아졌다. 초보자의 프로그래밍 학습에서 프로그래밍 에러는 학습을 어렵게 하는 중요한 원인이지만, 적절한 피드백을 제공한다면 학습에 긍정적인 영향을 줄 수 있다. 본 논문에서는 프로그래밍 에러에 따른 피드백을 통해 초보자의 프로그래밍 학습을 지원하는 시스템을 설계하였다. 교육용프로그래밍언어 두리틀을 대상으로 구현한 본 시스템은 하이라이트, 안내메시지, 객체트리, 단계실행 기능을 제공한다.
국내 외 정보(컴퓨터 과학) 교육과정에서 프로그래밍 교육이 강조되고 있으며, 초보자가 프로그래밍을 경험할 기회가 많아졌다. 초보자의 프로그래밍 학습에서 프로그래밍 에러는 학습을 어렵게 하는 중요한 원인이지만, 적절한 피드백을 제공한다면 학습에 긍정적인 영향을 줄 수 있다. 본 논문에서는 프로그래밍 에러에 따른 피드백을 통해 초보자의 프로그래밍 학습을 지원하는 시스템을 설계하였다. 교육용프로그래밍언어 두리틀을 대상으로 구현한 본 시스템은 하이라이트, 안내메시지, 객체트리, 단계실행 기능을 제공한다.
Programming is emphasized in information(computer science) education course domestically and in foreign countries, and novices are given ample opportunities to experience programming. Programming error is a critical factor which makes it difficult to learn programming for novices. However, if they a...
Programming is emphasized in information(computer science) education course domestically and in foreign countries, and novices are given ample opportunities to experience programming. Programming error is a critical factor which makes it difficult to learn programming for novices. However, if they are given appropriate feedback, it can have positive influence on programming learning. In this paper, we design programming learning supporting system for novice through error feedback and provide some implementations for EPL 'Dolittle'. This system has four features as highlighting, guiding messages, object tree, and step-execution.
Programming is emphasized in information(computer science) education course domestically and in foreign countries, and novices are given ample opportunities to experience programming. Programming error is a critical factor which makes it difficult to learn programming for novices. However, if they are given appropriate feedback, it can have positive influence on programming learning. In this paper, we design programming learning supporting system for novice through error feedback and provide some implementations for EPL 'Dolittle'. This system has four features as highlighting, guiding messages, object tree, and step-execution.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
구문에러와 의미 에러에 대한 직접적인 에러 피드백, 논리 에러 수정을 지원할 수 있는 기능을 제시하였다.
본 연구에서는 교육용 프로그래밍언어 두리 틀에서 발생하는 에러를 조사하고 각 에러에 대한 피드백을 바탕으로 프로그래밍 학습 지원 시스템을실계하였다. 구문에러와 의미 에러에 대한 직접적인 에러 피드백, 논리 에러 수정을 지원할 수 있는 기능을 제시하였다.
중등교육에서의 프로그래밍 교육은 프로그리밍 작성 자체가 아닌 프로그래밍을 통한 문제해결력 증진에 목표를 두고 있다. 본 연구에서는 학습자가 문제를 해결하는 과정에 집중할 수 있기 하고 쉽게 디버깅할 수 있는 기능을 제공하는디 초점을 두고 있다. 프로그래밍 교육을 통해 문제해결력을 높이기 위해서는 어]러를 발생시키고 수정하는 과정에서의 더 발전된 형태의 피드백을 지원하는 시스템과 효과적인 교수학습 방법이 대한연구가 함께 이루어져야 할 것이다.
긍정적인 영향을 줄 수 있다. 본- 논문에서는 효과적인 에러 피드백을 제공하기 위한 설계 방향을 제시하고, 이를 바탕으로 프로그래밍 학습 지원 시스템을 설계 및 구현하고자 한다.
앞서 언급한 한계들을 극복하기 위해 본 논문에서는 초보자의 프로그래밍 학습에 적합한 교육용 프로그래밍 언어를 대상으로 한 에러 피드백을 제시하고자 한다.
제안 방법
각기 능과 관련된 창별로 구분하였다. 편집 창에는 하이라이트 표시 기능, 실행 창에는 단계실행 기능, , 안내창에는 안내메시지 제공 기능, 객체 트리 창에는 객체트리 생성 기능이 있다.
, 라는 제안을 포함한다. 메소드 이름을 잘못 입력한 경우에는 유사한 이름의 메소드가 있으면 유사한 메소드까지 제안해준다. 그리고 구문 사용 예시를 함께 제공하여 수정을 돕는다、
본 논문에서는 프로그래밍 에러를 어휘(Lexical), 구문(Syntax), 의미(Semantic), 논리(Logic) 에러로 분류한다.
본 연구에서는 Microsoft Windows 플랫폼을 기반으로 Java를 이용하여 두리 틀을 위한 에러피드백 시스템을 구현하였다. 파서 생성기로는 SableCC를 사용하였다.
선행연구에서 설계한 두리 틀을 위한 객체트리 ⑹를 바탕으로 에러 피드백 시스템을 위한 객체 트리 생성 모듈을 설계하였다. 객체 트리 생성 모듈의 구성도는<그림 6>과 같다.
선행연구에서 설계한 두리틀 부분실행 기능⑸ 을 바탕으로 단계실행 모듈을 설계하였다. 부분실행 기능은 프로그램의 일부분을 선택해서 실행할 수 있게 설계하였지만, 기능이 복잡해져서 사용하기 어려울 수 있다는 단점이 있어 한 문장씩 실행하는 기능만 지원하게 설계하였다.
에러 피드백을 기반으로 한 프로그래밍 학습지원 시스템을 설계하기 위한 언어로 두리 틀을 선택하였다. 두리틀은 2001년 일본 츠쿠바 대학의 가네무네가 개발한 교육용 프로그래밍 언어이다[11].
안내메시지의 기본 형식은<그림 5>와 같다. 에러가 발생한 위치, 수정해야 할 구문, 에러가 발생한 원인, 에러를 수정하기 위한 행동, 관련된 예제를 제공한다. 구문에러가 발생한 경우에는 에러가 발생한 행과 열, 수정히야 할 구문에 수정해야 할 위치가 표시된다.
이러한 문제를 해결하기 위해 두리틀 인터페이스를 변경하였다. 편집 창과 실행 창을 한 화면에 위치하게 하고, 안내창과 객체트리창을 추가하였다.
편집 창, 실행 창으로 이루어진 기존 두리틀 인터페이스에 객체트리 창, 안내창을 추가하여 에 러교드백 기능을과 같이 구성하였다.
변경하였다. 편집 창과 실행 창을 한 화면에 위치하게 하고, 안내창과 객체트리창을 추가하였다. 학습자가 작성한 프로그램과 실행 결과, 에러가 발생했을 때 제공되는 안내 메시지를 한 화면 내에서 확인할 수 있다.
이 과정에서 두리틀의 표준객체를 호출한다. 표준객체와 표준객체의 상위 클래스인 OxObject클래스에 의미에러를 검출하는 메소드를 포함시켰다.
하루에 1시간씩 5일간 수업을 진행하면서 프로그램을 실행할 때마다 로그 파일을 남겨 에러를 분석하였다. 분석한 결과, 에러는 구두점 63%, 철자 18%, 매개변수 9%, 띄어쓰기 6%, 기타 4%로 발생했다.
프로그램을 구문분석시에 넘겨 전체 프로그램에 대한 구문트리를 생성하고 탐색하는 과정에서 하나의 구문에 대한 탐색이 끝날 때마다 탐색을 일시 중지하게 하였다. 한 구문의 실행 결과를 확인하고 별도의 입력이 있을 때 다음 구문을 실행하도록 설계 하였다.
대상 데이터
두리틀 프로그래밍 에러를 분석하기 위해 초등학교 5학년 10명을 대상으로 프로그래밍 수업을 진행하였다. 하루에 1시간씩 5일간 수업을 진행하면서 프로그램을 실행할 때마다 로그 파일을 남겨 에러를 분석하였다.
시스템을 구현하였다. 파서 생성기로는 SableCC를 사용하였다.
성능/효과
첫째, 작성한 코드와 실행 결과를 동시에 볼 수 없기 때문에 프로그램의 진행과정을 이해하는데 어려움이 있다. 둘째, 에러 메시지가 팝업창 형태로 제시되므로 팝업창을 닫아야만 편집 창에서 코드를 확인할 수 있다. 편집 창에서 에러 메시지를 확인할 수 있다면 에러 수정이 더 용이할 것이다.
하루에 1시간씩 5일간 수업을 진행하면서 프로그램을 실행할 때마다 로그 파일을 남겨 에러를 분석하였다. 분석한 결과, 에러는 구두점 63%, 철자 18%, 매개변수 9%, 띄어쓰기 6%, 기타 4%로 발생했다. 이 결과를 볼 때, 두리 틀에서도 사소한 구문 에러가 대부분을 차지하는 것을 알 수 있다.
둘째, 사용자가 다음에 해야 할 행동에 대한 의미 있는 제안을 포함해야 한다. 셋째, 사용자에게 간결하면서도 정확한 정보를 주어야 한 匸넷째, 사용자를 비판하거나 오만한 언어, 우스운 언어를 사용하지 말아야 한다.
분석한 결과, 에러는 구두점 63%, 철자 18%, 매개변수 9%, 띄어쓰기 6%, 기타 4%로 발생했다. 이 결과를 볼 때, 두리 틀에서도 사소한 구문 에러가 대부분을 차지하는 것을 알 수 있다.
후속연구
본 연구에서는 학습자가 문제를 해결하는 과정에 집중할 수 있기 하고 쉽게 디버깅할 수 있는 기능을 제공하는디 초점을 두고 있다. 프로그래밍 교육을 통해 문제해결력을 높이기 위해서는 어]러를 발생시키고 수정하는 과정에서의 더 발전된 형태의 피드백을 지원하는 시스템과 효과적인 교수학습 방법이 대한연구가 함께 이루어져야 할 것이다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.