Skip to main content
QUICK REVIEW

[논문 리뷰] Computing with CodeRunner at Coventry University: Automated summative assessment of Python and C++ code

David Croft, Matthew England|arXiv (Cornell University)|2019. 11. 25.
Teaching and Learning Programming참고 문헌 5인용 수 4
한 줄 요약

이 논문은 코vent리 대학교의 1학년 컴퓨터 교육 과정에서 파이썬과 C++ 코드에 대한 자동 요약 평가를 위한 오픈소스 모듈러스 플러그인인 CodeRunner을 평가한다. 다중선택형 시험을 실행 가능한 코드 테스트로 대체함으로써, 평가의 진정성 향상, 피드백에 대한 학생 만족도 7% 상승, 프로그래밍 능력에 대한 보다 정확한 반영이 이루어졌음을 보여주지만, 문법적으로는 올바르지만 논리적으로 잘못된 코드에 대해 부분 점수를 부여하기 위해 C++ 평가에서는 SFINAE 기반 인식 기술이 필요했다.

ABSTRACT

CodeRunner is a free open-source Moodle plugin for automatically marking student code. We describe our experience using CodeRunner for summative assessment in our first year undergraduate programming curriculum at Coventry University. We use it to assess both Python3 and C++14 code (CodeRunner supports other languages also). We give examples of our questions and report on how key metrics have changed following its use at Coventry.

연구 동기 및 목표

  • 1학년 컴퓨터 수강생들의 진정한 프로그래밍 능력을 측정하는 데에 다중선택형 평가의 한계를 해결하기 위해.
  • 요약 평가 맥락에서 파이썬과 C++ 코드에 대한 자동 실행 평가를 구현하고 평가하기 위해.
  • 실제 코드 실행을 통해 저품질 평가를 대체함으로써 피드백 품질 향상과 학생 만족도 향상을 위해.
  • 컴파일 실패로 테스트 실행이 불가능한 상황에서 C++ 평가에서 부분 점수를 부여하는 문제를 해결하기 위해.
  • 소수의 문법 오류가 있는 경우에도 올바른 코드 구조를 식별할 수 있도록 SFINAE 기반 인식 라이브러리를 개발하고 구현하기 위해.

제안 방법

  • 단위 테스트를 사용하여 학생이 제출한 파이썬과 C++ 코드를 자동으로 평가하기 위해 CodeRunner을 모듈러스 플러그인으로 도입하였다.
  • 정확성과 견고성을 평가하기 위해 숨겨진 테스트 케이스를 포함한 여러 테스트 케이스를 갖춘 평가 문제를 설계하였다.
  • 함수 서명과 클래스 구조를 식별하기 위해 SFINAE와 프리프로세서 매크로를 사용한 커스터마이징된 C++ 인식 라이브러리를 구현하였다.
  • 컴파일 실패가 발생하더라도 소수의 오류로 인해 발생하는 경우에도 올바른 코드 구조를 식별함으로써 부분 점수를 부여하기 위해 인식 라이브러리를 활용하였다.
  • 두 개의 1학년 모듈에서 기존의 다중선택형 중간 시험을 실행 가능한 코드 평가로 대체하였다.
  • 두 학년도에 걸쳐 학생 성과 데이터, 피드백 만족도 점수, 평가 결과를 수집하고 분석하였다.

실험 결과

연구 질문

  • RQ1CodeRunner을 통해 다중선택형 평가를 실행 가능한 코드 테스트로 대체함으로써 학생의 프로그래밍 능력을 측정하는 데에 정확도가 향상되는가?
  • RQ2CodeRunner을 사용한 자동 평가가 피드백과 평가 과정에 대한 학생 만족도에 어떤 영향을 미치는가?
  • RQ3컴파일 실패로 인해 테스트 실행이 불가능한 상황에서 CodeRunner을 C++ 평가에 사용할 경우 발생하는 문제는 무엇인가?
  • RQ4SFINAE 기반 인식 기법이 컴파일 오류가 존재함에도 불구하고 C++에서 올바른 코드 구조를 효과적으로 식별하고 부분 점수를 부여하는 데에 유용한가?
  • RQ5기존 평가 방법과 비교했을 때 자동 평가의 영향은 합격률과 평균 점수에 어떤 영향을 미치는가?

주요 결과

  • CodeRunner 평가에서의 평균 점수는 이전의 다중선택형 시험보다 낮았으며, 이는 CodeRunner가 실제 프로그래밍 능력을 더 정확하게 반영하고 있음을 시사한다.
  • CodeRunner 도입 후 학생의 평가 및 피드백에 대한 만족도가 7% 상승하여 90%에 도달하였다.
  • 4000CEM의 최종 기말 시험에서 CodeRunner 평가를 경험한 학생들은 평균 점수가 7% 높고 합격률이 10% 높게 나타나 학습 성과 향상이 이루어졌음을 시사한다.
  • 4003CEM에서는 초기에 점수와 만족도가 하락함에 따라, C++ 컴파일 오류를 더 잘 처리하고 부분 점수를 부여하기 위해 SFINAE 기반 인식 라이브러리를 개발하게 되었다.
  • SFINAE 기반 인식 라이브러리는 정확한 코드 구조 식별과 의미 있는 오류 메시지 제공에 성공하여 소수의 문법 오류로 인한 0점 위험을 줄였다.
  • CodeRunner의 사용은 실제 프로그래밍과 유사한 진정성 있는 평가 환경을 조성하였으며, 문법 검사와 반복적 테스트를 통해 평가의 현실성과 정교함을 높였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.