Development of On-line Judge System based on Block Programming Environment

블록 프로그래밍 환경 기반 온라인 평가 시스템 개발

  • 심재권 (고려대학교 영재교육원) ;
  • 채정민 (고려대학교 정보창의교육연구소)
  • Received : 2018.03.29
  • Accepted : 2018.07.04
  • Published : 2018.07.31

Abstract

Block programming environment, which is represented by Scratch in elementary and middle school programming education, is suitable for learner's characteristics and cognitive level, and is recommended not only for beginners. Transference to the text programming environment after the block programming is essential for understanding the data processing process, understanding the accuracy and efficiency aspects of algorithms, and creating SW activity. In addition, it is presented step by step in the programming curriculum. In this study, developed WithBlock the online evaluation system for the purpose of transference from a block programming to a text programming environment. The developed system can solve the same algorithm problem in both block and text programming environment, and it can be used for elementary and secondary programming education by automatically scoring the written code and providing immediate feedback. In order to applicable to programming education in elementary and secondary surveyed the usability, learning possibility, interest and satisfaction of WithBlock. The results of the survey showed that it can be used for programming education.

초중등 프로그래밍 교육에서 Scratch로 대변되는 블록 프로그래밍 환경은 학습자의 특성과 인지수준에 적합하여 활용이 권장되고 있을 뿐 아니라 프로그래밍 초보자도 쉽게 사용할 수 있어 전세계적으로 활용되고 있다. 블록 프로그래밍 환경 이후 데이터 처리과정에 대한 이해, 알고리즘의 정교성과 효율성 측면에 대한 이해, 간단한 SW를 제작하는 활동을 위해 텍스트 프로그래밍 환경으로의 전이는 필수적일뿐 아니라 교육과정에서도 단계적으로 제시하고 있다. 본 연구에서는 블록 프로그래밍 환경에서 텍스트 프로그래밍 환경으로 전이하기 위한 목적으로 온라인 평가 시스템인 WithBlock를 개발하였다. 개발한 시스템은 동일한 알고리즘 문제를 블록과 텍스트 프로그래밍 환경 모두에서 풀이가 가능할 뿐 아니라 작성한 코드를 자동으로 채점하여 즉시적인 피드백을 제공할 수 있어 초중등 프로그래밍 교육에 활용할 수 있다. 개발한 시스템의 프로그래밍 교육에 적용 가능성을 분석하기 위한 목적으로 사용성, 학습 가능성, 흥미와 만족을 설문하였고, 설문결과 프로그래밍 교육에 활용 가능함을 보여주었다.

Keywords

References

  1. 교육부(2016). 소프트웨어교육 활성화 기본계획
  2. Department for Education(2013). National Curriculum in England : frame work for key stage 1 to 4.
  3. K-12 Computer Science Framework Steering Committee(2016). K-12 Computer Science Framework.
  4. Iirs Z. B., Bazil P. Dvir L.(2013). A Nationwide Exam as a Tool for Improving a New Curriculum, Proceedings of the 18th ACM conference on Innovation and technology in computer science education. 267-272.
  5. 교육부(2015). 교육부 고시 제2015-74호 [별책10]. 실과(기술.가정)/정보과 교육과정.
  6. 신승기, 배영권(2015). 학교 급별 연계성 있는 소프트웨어 교육 체제 설계를 위한 연구. 정보교육학회논문지. 19(4). 533-544. https://doi.org/10.14352/jkaie.2015.19.4.533
  7. Mitchel Resnick et al.(2009). Scratch: Programming for All. Communications of the ACM, 52(11). 60-67. https://doi.org/10.1145/1592761.1592779
  8. Computer Science For All(2016). https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all
  9. 손원성(2016). 블록기반 프로그래밍 코드의 수준 및 취약수준 측정방안. 정보교육학회논문지. 20(3). 293-302. https://doi.org/10.14352/jkaie.2016.20.3.293
  10. Mark, D., Dave, W.(2015). Scratch : A Way to Logo and Python, Proceedings of the 46th ACM Technical Symposium on Computer Science Education. 191-196.
  11. 소미현, 김자미(2016). 블록형 프로그래밍 학습에서 텍스트형 프로그래밍 학습으로의 전이. 컴퓨터교육학회논문지. 19(6). 55-68.
  12. 나성현(2013). SW 인력양성을 위한 정책제언. 정보통신정책연구원. Premium Report 13-11.
  13. 장원영, 김성식(2017). 정보 교육에서 프로그래밍(알고리즘) 자동평가 시스템의 활용 가능성에 대한 고찰. 컴퓨터교육학회논문지. 20(1), 13-26.
  14. Andy K., Andrew L., Brenda C.(2001). Online Judge. Computer & Education. 36. 299-315. https://doi.org/10.1016/S0360-1315(01)00018-5
  15. 장원영, 김성식(2014). 알고리즘 자동평가 시스템의 개발 및 적용 : 프로그래밍 학습 효과 분석. 컴퓨터교육학회논문지. 17(4). 26-34.
  16. http://withblock.com
  17. 이소율, 이영준(2018). 블록 기반 프로그래밍 언어에서 텍스트 기반 프로그래밍 언어로의 학습 전이를 위한 프로그램 설계 방안. 한국컴퓨터교육학회 학술대회발표대회논문지. 22(1). 29-31.
  18. C.C. Brown, M. Jens, B. Anthony, W. David(2016). Future Directions of Block-based Programming, Proceedings of the 47th ACM Technical Symposium on Computing Science Education. 315-316.
  19. Gui P. W., Shu Y. C., X. Y. and Rui F.(2016). OJPOT: online judge & practice oriented teaching idea in programming courses. European Journal of Engineering Education. 41(3). 304-319. https://doi.org/10.1080/03043797.2015.1056105
  20. 교육부(2015). 교육부 고시 제2015-74호 [별책 20]. 과학계열 전문교과 교육과정.
  21. Maloney, J., Peppler, K., Kafar, Y., Resnick, M., & Rusk, N. (2008). Programming by choice: Urban youth learning programming with scratch. Proceedings of the 39th ACM Technical Symposium on Computer Science Education. 367-37.
  22. Kalelioglu, F. (2015). A new way of teaching programming skills to K-12 Code.org, Computer in Human Behavior. 52. 200-210. https://doi.org/10.1016/j.chb.2015.05.047
  23. 심재권, 권대용, 이원규(2014). 초중등 프로그래밍 교육을 위한 방과후 교육과정안 설계. 한국컴퓨터교육학회 학술발표대회논문집. 18(2). 13-16.
  24. 심재권, 김현철, 이원규(2016). 2015 개정 정보 교육과정에 따른 피지컬 컴퓨팅을 활용한 정보교육에서 성별에 따른 태도와 성취도 차이분석. 컴퓨터교육학회논문지. 19(4). 1-9.
  25. 유병건, 김자미, 이원규(2012). 성별에 따른 프로그래밍 성취도와 문제해결과정의 관계분석. 컴퓨터교육학회논문지. 15(6). 1-10.
  26. 배영권(2007). 성별의 차이를 고려한 로봇프로그래밍 교수전략에 관한 연구. 컴퓨터교육학회논문지. 10(4). 27-38.
  27. 신수범(2017). 블룸 분류 기반 초중등 프로그래밍교육의 평가 기준 탐색. 정보교육학회논문지. 21(5). 547-555. https://doi.org/10.14352/jkaie.2017.21.5.547