순서도를 활용한 프로그래밍 제어 구조 학습에 나타난 오류 유형 분석

Analysis on Types of Errors in Learning about Control Structures of Programming using Flowchart

  • 투고 : 2016.01.19
  • 심사 : 2016.01.26
  • 발행 : 2016.01.30

초록

컴퓨팅 사고 교육에서 알고리즘의 설계는 학습자의 논리적 사고력과 절차적 사고력이 요구되는 중요한 학습 과정이다. 하지만 알고리즘 학습에 관한 연구와 학습자가 실제 학습에서 겪는 오류에 관한 연구가 부족한 실정이다. 이에 본 연구는 알고리즘 설계 학습에서 순서도를 활용한 프로그래밍 제어 구조 설계에서 발견된 학습자의 오류를 분석하여, 오류 유형을 제시하였다. 대학생을 대상으로 한 강의에서 세 가지 제어 구조에 관한 평가 문항을 제시한 결과, 순차 구조에서는 오류 유형이 발견되지 않았다. 하지만 조건 구조에서는 2개의 조건문이 중첩된 경우 조건 설정에서 오류가 발생하였다. 반복 구조에서는 반복의 횟수를 조절하는 조건, 반복되는 명령문의 위치, 중첩된 반복문에서 조건과 명령문의 위치 오류가 발견되었다. 본 연구에서 나타난 오류 유형은 초 중등학교와 대학에서 실시하고 있는 컴퓨팅 사고 교육의 알고리즘 설계 학습에 참고할 수 있는 사례가 될 것이다.

Designing algorithms is a very important learning process in computational thinking education because it requires learner's logical and procedural thinking. But the case studies that have topics of algorithms learning and students' types of errors in learning algorithms are not enough. So the purpose of this study is to analyze students' errors that discovered in the process of learning three control structures of programming using flowchart and provide types of errors in designing algorithms. Results about tests of three types of control structures in university student's algorithms learning class showed different cases of types of errors; types of sequential control error are not presented in the class, types of conditional control error are presented in the case of setting the conditions of nested conditional control, and types of iterative control are showed in the many cases of iterative conditions, statements of single and nested iterative control structure. The results of study will be a good case study about teaching designing algorithms of computational thinking education in elementary, secondary school and university.

키워드

참고문헌

  1. 교육부 (2015). 초등학교에서 대학까지, 소프트웨어(SW) 교육 청사진 나왔다!-교육부. 미래부, SW중심사회를 위한 인재양성 추진계획 발표. 교육부.미래창조과학부 보도자료.
  2. 교육부 (2015). 소프트웨어(SW) 교육 운영지침. 교육부
  3. 교육부 (2015). 2015 개정 교육과정 총론 및 각론 확정 발표. 교육부 보도자료.
  4. 미래창조과학부 (2015). 소프트웨어 중심 대학 추진 계획. 미래창조과학부 주요정책정보.
  5. 이태욱. 최현종 (2015). 정보교과교육론. 한빛아카데미.
  6. 문외식 (2006). 초등학생들이 프로그래밍 학습시 발생하는 오류유형 분석. 한국컴퓨터정보학회 논문지, 11(2), 319-327.
  7. 장혜선 (2007). 초보자의 프로그래밍 학습을 위한 에러 피드백 시스템 설계. 박사학위 논문, 고려대학교.
  8. 남재원. 유인환 (2011). 오류분석에 기반한 NXC 로봇프로그래밍 지원시스템의 개발. 정보교육학회 논문지, 15(3), 375-385.
  9. 김지선. 김영식 (2014). 온라인 프로그래밍 개념학습 성취수준과 오류유형과의 관계 분석. 한국컴퓨터교육학회 논문지, 17(5), 43-51.
  10. 최정원. 이영준 (2014). 프로그래밍 학습에서 학습자의 어려움 분석. 한국컴퓨터교육학회논문지, 17(5), 89-98.
  11. 김수환 (2015). Computational Thinking 교육에서 나타난 컴퓨터 비전공 학습자들의 어려움 분석. 한국컴퓨터교육학회 논문지, 18(3), 49-57.
  12. Murray, W. R.(1987). Automatic program debugging for intelligent tutoring systems. Computational Intelligence, 3, 1-16. https://doi.org/10.1111/j.1467-8640.1987.tb00169.x
  13. Milne, I., & Rowe, G. (2002). Difficulties in learning and teaching programming-views of students and tutors. Educationa and Information Technologies, 7(1), 55-66. https://doi.org/10.1023/A:1015362608943
  14. Jenkins, T. (2002). On The Difficulty of Learning to Program. 3rd Annual LTSN-ICS Conference, Loughborough University. 53-58.X
  15. Piteira, M., & Costa, C. (2013). Learning computer programming: study of difficulties in learning programming. In Proceedings of the 2013 International Conference on Information Systems and Design of Communication, Lisboa. ACM.
  16. yEd Graphic Editor. http://www.yworks.com/en/products/yfiles/yed/
  17. Joyce Farrell (2012). An Object-Oriented Approach to Programming Logic and Design, 4th edition. Course Technology.