DOI QR코드

DOI QR Code

A Method for Measuring and Evaluating for Block-based Programming Code

블록기반 프로그래밍 코드의 수준 및 취약수준 측정방안

  • Sohn, Wonsung (Dept. of Computer Education, Gyeongin National University of Education)
  • 손원성 (경인교육대학교 컴퓨터교육과)
  • Received : 2016.06.13
  • Accepted : 2016.06.22
  • Published : 2016.06.30

Abstract

It is the latest fashion of interesting with software education in public school environment and also consider as high priority issue of curriculum for college freshman with programming 101 courses. The block-based programming tool is used widely for the beginner and provides several positive features compare than text-based programming language tools. To measure quality of programming code elaborately which is based script language, it is need to very tough manual process. As a result the previously research related with evaluation of block-based script code has been focused very simple methods in which normalize the number of blocks used which is related with programming concept. In such cases in this, it is difficult to measure structural vulnerability of script code and implicit programming concept which does not expose. In this research, the framework is proposed which enable to measure and evaluate quality of code script of block-based programming tools and also provides method to find of vulnerability of script code. In this framework, the quality metrics is constructed to structuralize implicit programming concept and then developed the quality measure and vulnerability model of script to improve level of programming. Consequently, the proposed methods enable to check of level of programming and predict the heuristic target level.

최근 SW 교육의 관심이 증대되고 프로그래밍 교육이 대학 학부교육의 주요한 부분으로 인식되고 있다. 특히 프로그래밍 입문 도구로서 블록 기반 프로그래밍 도구가 널리 사용되고 있으며 프로그래밍 입문자에게 기존 프로그래밍 언어와 비교하여 매우 다양한 장점들을 제공하고 있다. 한편 블록기반 프로그래밍 도구로 작성된 코드가 스크립트 언어일 경우 스크립트의 품질과 수준을 정교하게 측정하기 위해서는 상당한 노력을 기울어야 한다. 따라서 블록기반 프로그래밍 코드의 품질측정과 관련된 대부분의 연구는 단순히 프로그래밍 개념과 연관된 블록의 사용개수를 정량화하여 스크립트의 수준을 평가하고 있다. 그 결과 기존연구의 기법으로는 취약수준을 측정하거나 스크립트에 명시되지 않는 프로그래밍 개념에 대한 평가가 어렵다. 본 연구는 블록기반 프로그래밍 스크립트의 품질측정 및 취약수준 분석이 가능한 프레임워크를 제안한다. 프레임워크에서는 블록기반 프로그래밍 언어들이 내포한 다양한 프로그래밍 개념을 구조화한 평가 매트릭스를 구축하고 동 지표를 기반으로 스크립트의 품질 측정과 항목별 취약점 개선에 따른 수준향상 모델을 제안함으로써 개인별 수준진단 및 향후 개선 가능한 목표수준을 예측할 수 있도록 하였다.

Keywords

References

  1. An Educator's Guide to Scratch Programming (2016). http://www.scratch-programming.org.
  2. Bryce Boe, Charlotte Hill, Michelle Len, Greg Dreschler, Phillip Conrad, and Diana Franklin (2013). "Hairball: lint-inspired static analysis of scratch projects." In Proceeding of the 44th ACM technical symposium on Computer science education (SIGCSE '13). ACM, New York, NY, USA, 215-220.
  3. David J. Malan and Henry H. Leitner (2007). "Scratch for budding computer scientists." SIGCSE Bull., 39(1), 223-227. https://doi.org/10.1145/1227504.1227388
  4. Demuth, Birgit, Sebastian Gotz, Harry M. Sneed, and Uwe Schmidt (2013). Evaluation of Students' Modeling and Programming Skills. In EduSymp@ MoDELS.
  5. Fields, Deborah A., et al. (2014). Interactive storytelling for promoting creative expression in media and coding in youth online collaboratives in Scratch. Proceedings of constructionism. 19-23.
  6. For all Software (2016). http://sw4all.kookmi-n.ac.kr/notice/1.
  7. Fraser, N. (2013). Blockly. Google.
  8. Harvey, B. and Monig, J. (2010). Bringing "no ceiling" to Scratch. Proc. of Constructionism 2010 (Paris, Fr.), 1-10.
  9. Hundhausen, C., Farley, S., and Brown, J. (2009). Can direct manipulation lower the barriers to computer programming and promote transfer of training?: An experimental study. ACM Trans. Comput.-Hum. Interact., 16(3).
  10. Ian Utting, Stephen Cooper, Michael Kolling, John Maloney, and Mitchel Resnick (2010). Alice, Greenfoot, and Scratch - A Discussion. Trans. Comput. Educ., 10(4), Article 17.
  11. ISO/IEC 9126-1 (2001). Information technology - Software product evaluation: Quality Characteristics and Guidelines for their use.
  12. Jesus Moreno-Leon and Gregorio Robles (2015). Dr. Scratch: a Web Tool to Automatically Evaluate Scratch Projects. In Proceedings of the Workshop in Primary and Secondary Computing Education (WiPSCE '15). ACM, New York, NY, USA, 132-133.
  13. John H. Maloney, Kylie Peppler, Yasmin Kafai, Mitchel Resnick, and Natalie Rusk (2008). Programming by choice: urban youth learning programming with scratch. In Proceedings of the 39th SIGCSE technical symposium on Computer science education (SIGCSE '08). ACM, New York, NY, USA, 367-371.
  14. JOHN MALONEY, MITCHEL RESNICK, NATALIE RUSK, BRIAN SILVERMAN, and EVELYN EASTMOND (2010). The Scratch Programming Language and Environment. ACM Transactions on Computing Education, 10(4), Article 16.
  15. Lee, Y. J. (2011). Scratch: Multimedia Programming Environment for Young Gifted Learners. Gifted Child Today Magazine, 34(2), 26-31.
  16. O. Meerbaum-Salant, M. Armoni, M. Ben-Ari. (2013). Learning computer science concepts with Scratch. Computer Science Education, 23(3), 2013, 239-264.
  17. Orni Meerbaum-Salant, Michal Armoni, and Mordechai (Moti) Ben-Ari. (2010). Learning computer science concepts with scratch. In Proceedings of the Sixth international workshop on Computing education research (ICER '10). ACM, New York, NY, USA, 69-76.
  18. Raymond Lister (2011). COMPUTING EDUCATION RESEARCH: Programming, syntax and cognitive load. ACM Inroads, 2(2) (June 2011), 21-22. https://doi.org/10.1145/1963533.1963539
  19. Shitanshu Mishra, Sudeesh Balan, Sridhar Iyer, and Sahana Murthy (2014). Effect of a 2-week scratch intervention in CS1 on learners with varying prior knowledge. ITiCSE '14. ACM, NY, USA, 45-50.
  20. Slany, W. (2014). Tinkering with Pocket Code, a Scratch-like programming app for your smartphone. Proc. of Constructionism 2014 (Vienna, Aus).
  21. Washizaki, H., et al. (2003). A Metrics Suite for Measuring Reusability of Software Components. In: Proc. 9th IEEE International Software Metrics Symposium.
  22. Washizaki, Hironori, et al. (2007). A framework for measuring and evaluating program source code quality. Product-Focused Software Process Improvement. Springer Berlin Heidelberg, 284-299.
  23. Weintrop, David (2015). Minding the Gap Between Blocks-Based and Text-Based Programming. Proceedings of the 46th ACM Technical Symposium on Computer Science Education. ACM.
  24. Young-Rai Park, Yoon-Chul Choy, Won-Sung Sohn (2014). International Journal of Security and Its Applications. Vol.8 No.6. 147-160. https://doi.org/10.14257/ijsia.2014.8.6.14