$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

블록기반 프로그래밍 코드의 수준 및 취약수준 측정방안
A Method for Measuring and Evaluating for Block-based Programming Code 원문보기

정보교육학회논문지 = Journal of the Korean Association of Information Education, v.20 no.3, 2016년, pp.293 - 302  

손원성 (경인교육대학교 컴퓨터교육과)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

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 featur...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 따라서 본 연구는 구현된 블록 개수와 같은 단순한 정량적 지표 보다는 블록의 중요도와 구현 난이도 그리고 코드 단순화 등과 같은 개념을 반영하여 기존 연구의 문제점을 개선한 소스코드(스크립트) 품질 측정방안을 제안하고자 한다.
  • 본 연구에서 블록기반 프로그래밍 수준을 도출하는 목적은 각 개인 및 집단의 프로그래밍 수준에 대한 평가 및 부족한 취약점을 파악하고 이것을 개선하고자 함이다. 또한 거시적으로는 계산적 사고력 및 문제 해결과 같은 소프트웨어 교육의 근본적 목표를 지향하고 그 효과의 구체적 당위성을 구체화 할 수 있는 방법론을 제시하고자 한다.
  • 본 연구는 블록기반 프로그래밍 스크립트의 품질측정 및 취약수준 분석이 가능한 프레임워크를 제안한다. 프레임워크에서는 블록기반 프로그래밍 언어들이 내포한 다양한 프로그래밍 개념을 구조화한 평가지표 (quality metric)[21][22]를 구축하고 동 지표를 기반으로 스크립트의 품질 측정과 항목별 취약점 개선에 따른 수준향상 모델을 제안함으로써 개인별 수준진단 및 향후 개선 가능한 목표수준을 예측할 수 있도록 하였다.
  • 본 연구에서 블록기반 프로그래밍 수준을 도출하는 목적은 각 개인 및 집단의 프로그래밍 수준에 대한 평가 및 부족한 취약점을 파악하고 이것을 개선하고자 함이다. 또한 거시적으로는 계산적 사고력 및 문제 해결과 같은 소프트웨어 교육의 근본적 목표를 지향하고 그 효과의 구체적 당위성을 구체화 할 수 있는 방법론을 제시하고자 한다.
  • 본 연구에서는 블록 스크립트의 수준측정을 통하여 프로그래밍 취약점을 도출하고 이것의 개선할 수 있는 방안을 제시한다.
  • 본 연구에서는 블록기반 프로그래밍 수준 측정 및 취약수준 개선 방안을 제안하였다. 또한 제한 기법을 교육대학교의 스크래치 프로그래밍 교육과정에서 도출된 데이터에 적용함으로써 제안모델의 효용성을 검증하도록 한다.
  • 이를 위하여 블록기반 프로그래밍 도구에 내포된 다양한 프로그래밍 개념들을 도출하고 이에 대한 가중치를 적용하여 코드에 대한 품질을 측정하고 동시에 취약점을 찾아 개선에 반영하고자 하였다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
최근 대중적으로 사용되는 블록 기반 프로그래밍 도구에는 무엇이 있는가? 한편 비전공 학부생 대상의 기초 프로그래밍 강좌에서는 블록 기반의 프로그래밍 도구[23]들이 효과적으로 활용되고 있다[9][10][19]. Alice[10]는 미국 학부 학생들의 프로그래밍 입문 강좌에 사용되었으며 최근에는 Scratch[14], Snap![8], Blockly[7]과 같은 블록 기반 프로그래밍 도구들이 대중적으로 사용되고 있다. 또한 블록 기반 프로그래밍 인터페이스는 앱 개발[20]과 같은 보다 복잡도가 높은 분야에 활용되는 등 프로그래밍의 대중화에 크게 기여하고 있다[1][3][5][13][16].
블록기반의 프로그래밍 도구들이 소스코드 품질측정 기법을 적용하기 어려운 문제점에는 어떤 것들이 있는가? 첫째 블록기반 프로그래밍 도구는 캐릭터와 스토리 구현과 관련된 저작개념과 프로그래밍 개념을 동시에 내포하기에 정교한 스크립트의 레벨 또는 품질을 평가하는 작업은 상당한 수준의 인지적 부하를 수반한다[2]. 둘째 ‘tinkering’ 인터페이스는 누구나 쉽게 저작활동을 가능케 하지만 문제 해결 전략 차원에서는 상향식 (bottom-up) 기법[10]이다. 이 경우 블록 인스턴스를 모듈화하지 못한다면 최하위 단위의 블록 인스턴스만이 존재하는 환경이 초래될 수 있다.
블록기반 프로그래밍 도구의 장점은 무엇인가? 블록기반 프로그래밍 도구는 ‘tinkering’[14][20] 또는 퍼즐 메타포[23]에 기반 한 시각적 단서(visual cues)를 제공하여 문법을 학습하지 않고서도 명령 스크립트를 쉽게 작성할 수 있도록 한다. 이러한 시각적 단서들은 블록의 형태가 동일한 경우에만 조합이 가능함으로 문법적 에러가 원천적으로 발생하지 않는다. 또한 컬러를 이용한 블록들의 기능적 분류, 블록의 내포 관계를 시각화한 스크립트 범위 및 논리관계의 명시화를 통하여 텍스트 기반 언어보다 월등히 높은 재인(recognition) 과정 및 어포던스(affordance) 효과를 제공함으로써 누구나 쉽게 스크립트를 작성할 수 있는 환경을 제공하고 있다[18].
질의응답 정보가 도움이 되었나요?

참고문헌 (24)

  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. 

  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. 

  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. 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로