블록기반 프로그래밍 코드의 수준 및 취약수준 측정방안
A Method for Measuring and Evaluating for Block-based Programming Code
0
조회
0
다운로드
6
인용
0
참고문헌
키워드
초록
최근 SW 교육의 관심이 증대되고 프로그래밍 교육이 대학 학부교육의 주요한 부분으로 인식되고 있다. 특히 프로그래밍 입문 도구로서 블록 기반 프로그래밍 도구가 널리 사용되고 있으며 프로그래밍 입문자에게 기존 프로그래밍 언어와 비교하여 매우 다양한 장점들을 제공하고 있다. 한편 블록기반 프로그래밍 도구로 작성된 코드가 스크립트 언어일 경우 스크립트의 품질과 수준을 정교하게 측정하기 위해서는 상당한 노력을 기울어야 한다. 따라서 블록기반 프로그래밍 코드의 품질측정과 관련된 대부분의 연구는 단순히 프로그래밍 개념과 연관된 블록의 사용개수를 정량화하여 스크립트의 수준을 평가하고 있다. 그 결과 기존연구의 기법으로는 취약수준을 측정하거나 스크립트에 명시되지 않는 프로그래밍 개념에 대한 평가가 어렵다. 본 연구는 블록기반 프로그래밍 스크립트의 품질측정 및 취약수준 분석이 가능한 프레임워크를 제안한다. 프레임워크에서는 블록기반 프로그래밍 언어들이 내포한 다양한 프로그래밍 개념을 구조화한 평가 매트릭스를 구축하고 동 지표를 기반으로 스크립트의 품질 측정과 항목별 취약점 개선에 따른 수준향상 모델을 제안함으로써 개인별 수준진단 및 향후 개선 가능한 목표수준을 예측할 수 있도록 하였다.
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 course. 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 doesn’t expose. In this research, the frameworks 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 method enable to check of level of programming and predict the heuristic target level
참고문헌 (24)
- "For all Software" (2016)[URL]
- "An Educator's Guide to Scratch Programming" (2016)[URL]
- Bryce Boe, "Hairball: lint-inspired static analysis of scratch projects", Proceeding of the 44th ACM technical symposium on Computer science education, pp.215~220 (2013), ACM
- David J. Malan, "Scratch for budding computer scientists", SIGCSE Bull, 39(1), pp.223~227 (2007)
- Demuth, Birgit, "Evaluation of Students' Modeling and Programming Skills", EduSymp@ MoDELS (2013)
- Fields, Deborah A., "Interactive storytelling for promoting creative expression in media and coding in youth online collaboratives in Scratch", Proceedings of constructionism, pp.19~23 (2014)
- Fraser, N., "Blockly", Google, ~ (2013)
- Harvey, B., "Bringing “no ceiling” to Scratch", Proc. of Constructionism 2010, pp.1~10 (2010)
- Hundhausen, C., "Can direct manipulation lower the barriers to computer programming and promote transfer of training?: An experimental study", ACM Trans. Comput.-Hum. Interact, 16(3) (2009)
- Ian Utting, "Alice, Greenfoot, and Scratch - A Discussion", Trans. Comput. Educ, 10(4) (2010)
- "Information technology – Software product evaluation: Quality Characteristics and Guidelines for their use", ISO, 2001
- Jesús Moreno-León, "Dr. Scratch: a Web Tool to Automatically Evaluate Scratch Projects", Proceedings of the Workshop in Primary and Secondary Computing Education, pp.132~133 (2015), ACM
- John H. Maloney, "Programming by choice: urban youth learning programming with scratch", Proceedings of the 39th SIGCSE technical symposium on Computer science education, pp.367~371 (2008), ACM
- JOHN MALONEY, "The Scratch Programming Language and Environment", ACM Transactions on Computing Education, 10(4) (2010)
- Lee, Y.J., "Scratch: Multimedia Programming Environment for Young Gifted Learners", Gifted Child Today Magazine, 34(2), pp.26~31 (2011)
- O. Meerbaum-Salant, "Learning computer science concepts with Scratch", Computer Science Education, 23(3), pp.239~264 (2013)
- Orni Meerbaum-Salant, "Learning computer science concepts with scratch", Proceedings of the Sixth international workshop on Computing education research, pp.69~76 (2010), ACM
- Raymond Lister, "COMPUTING EDUCATION RESEARCH: Programming, syntax and cognitive load", ACM Inroads 2, 2, 21~22 (2011)
- Shitanshu Mishra, "Effect of a 2-week scratch intervention in CS1 on learners with varying prior knowledge", Proceedings of the 2014 conference on Innovation & technology in computer science education, pp.45~50 (2014), ACM
- Slany, W., "Tinkering with Pocket Code, a Scratch-like programming app for your smartphone", Proc. of Constructionism 2014 (2014)
- Washizaki, H., "A Metrics Suite for Measuring Reusability of Software Components", Proc. 9th IEEE International Software Metrics Symposium (2003)
- Washizaki, Hironori, "Product-Focused Software Process Improvement", pp.284~299 (2007), Springer Berlin Heidelberg
- Weintrop, David, "Minding the Gap Between Blocks-Based and Text-Based Programming", Proceedings of the 46th ACM Technical Symposium on Computer Science Education (2015), ACM
- Young-Rai Park, , International Journal of Security and Its Applications, 8(6), pp.147~160 (2014)
