Visual simulator for supporting to learn efficiently on dynamic programming

동적 프로그래밍에 대한 효율적인 학습을 지원하는 시각화 시뮬레이터

  • 정순영 (고려대학교 컴퓨터교육과) ;
  • 권한숙 (고려대학교 컴퓨터교육과)
  • Received : 2008.05.13
  • Accepted : 2008.06.17
  • Published : 2008.07.31

Abstract

It's known by recent surveys that many students have difficulty in understanding the concepts of programming algorithms, and don't feel interested in learning them. Dynamic programming, one of the most important and widely-used algorithms in computer science, is especially feared by students and unlike other algorithms, it also requires understanding of the process of problem solving and storage space design as well as basic principles of the algorithm. And so it has not been properly covered in classes. In this paper, we developed a visual simulator to solve the above problems in learning dynamic programming. This learning simulator is designed for students to run the algorithms themselves and learn how it works by visualizing each step of dynamic programming and corresponding states of storage space.

알고리즘은 효과적인 프로그래밍 기법을 익히는데 가장 핵심이 되는 과목이나 학생들이 개념 이해에 어려움을 느끼며 흥미도 낮은 것으로 나타났다. 특히, 알고리즘 관련 주제들 중 동적 프로그래밍 방법은 컴퓨터과학을 전공하는 학생들이 반드시 학습해야 하는 중요한 프로그래밍 기법임에도 불구하고 학부 과정에 있는 학생들이 어려워하는 부분으로 수업에서도 잘 다루어지지 않고 있다. 동적 프로그래밍은 추상적인 알고리즘 지식과 더불어 문제 해결 절차와 저장 공간에 대한 이해가 필요한 방법으로, 다른 개념 보다 이해하기 어려운 주제이다. 이에 본 논문에서는 동적 프로그래밍 기법에 대해 학습자가 이해하기 쉽고 흥미를 가지고 학습할 수 있도록 지원하는 시각화 시뮬레이터를 개발하였다. 본 학습 시뮬레이터는 학습자가 직접 동적 프로그래밍의 수행 단계를 진행하며 문제 해결 절차를 학습하고 저장 공간 및 프로그램의 진행 과정을 시각적으로 확인할 수 있도록 설계 및 구현되었다.

Keywords