꼬꼬 crazy chicken Heart of Tibet.vol1~3 다운로드
꼬꼬 crazy chicken Heart of Tibet.vol1 다운로드 꼬꼬 crazy chicken Heart of Tibet.vol2 다운로드 꼬꼬 crazy chicken Heart of Tibet.vol3 다운로드
***
Blockly 라이브러리를 이용한 소프트웨어 교육용 프로그램 서비스 구현
요 약 본 논문에서는 구글에서 개발한 Blockly 라이브러리와 아두이노를 이용하여 소프트웨어 교육용 프로그램으 로 설계 및 연구하였다. Blockly 기능으로 프로그래밍 언어들을 블록으로 바꾸어 블록 코딩을 할 수 있으며, 이에 대한 프로그래밍 언어로 Python, Javascript, Arduino를 선정하였다. 또한, 인터프리터, 컴파일러를 파서하 여 실행하고 결과를 확인할 수 있다. Arduino 같은 경우, 하드웨어에 연결된 Arduino 장치를 인식하고 실행될 수 있게 설계함으로써 교육용 소프트웨어 프로그램을 구현한다. Key words Blockly library, electron, arduino, real-time chatting program Ⅰ. 서 론 본 연구에서는 학생들뿐만이 아니라 비전공자 4차 산업 혁명에 따라 프로그래밍의 능력은 중요 시되고 있다. 프로그래밍의 논리적인 설계와 귀납적 추론법 능력은 컴퓨터 공학에서 뿐만이 아니라 자 연 계열, 인문 계열에서도 중요시되고 있다. 또한, 이러한 흐름에 따라 2018년부터 초, 중학교의 소프 트웨어 교육이 필수 과목으로 교육 과정이 개편되 었다. 하지만 아직 소프트웨어 교육에 관한 실질적 인 문제가 해결되지 않은 상황이다. 소프트웨어 교 육에 관한 전문 인력이 부족하며 관련된 전문 교육 용 프로그램이 없고, 교육하기 힘든 상황이다. * 목원대학교 융합컴퓨터미디어학부 학부과정 ** 목원대학교 융합컴퓨터미디어학부 교수 - 525 - 들이 더욱 쉽게 프로그래밍을 교육하기 위하여 Block을 이용한 학습을 한다. Block은 구글에서 지 원하는 Blockly 라이브러리를 사용하여 제작하고, 일렉트론을 프레임워크로 사용한다. Javascript, Python, Arduino 등에 관련된 블록을 사용하며, 대응 되는 소스가 출력되고, 컴파일을 통해 결과를 확인 할 수 있다. 연구의 구성은 2장에서 Blockly 라이브러리를 이용한 블록 제작 및 소스 생성과 컴파일 기술, 3장 에서는 Arduino 파서, 4장은 결론과 향후 발전 계획 에 관해 기술하였다. - 2019 한국정보기술학회Ÿ한국디지털콘텐츠학회 하계공동학술대회 논문집 - Ⅱ. 블록 제작 소프트웨어 교육용 프로그램은 블록을 사용하여 진행되기 때문에 블록을 만들어 줄 수 있는 Blockly 라이브러리를 이용한다. 블록을 생성하여, 블록에 대응하는 소스를 제작한다. 블록에 대응하는 소스는 Python, Javascript, Arduino로 택하게 되었다. 블록 개발은 코딩으로 가능하지만, 지금 어떤 모 양으로 만들어지고 있는지, 색깔이 어떤지 등 블록 의 현재 상태를 확인하기가 어렵다. Blockly 라이브 러리에서 정의된 Component를 이용하여 블록을 시 각적인 정의가 가능하다. Blockly 라이브러리에서 지원하는 Blockly Developer Tool을 사용하여 블록을 정의할 수 있지만, 블록의 모양만 제작할 수 있다. 정의된 블록 코드는 JSON Array 포맷과 Javascript 포맷으로 변환할 수 있다[1]. 프로그래밍을 할 때는 가장 필요한 문법으로 블록 을 구성하였다. 본 연구에서는 블록에 대한 프로그래밍 소스도 같이 출력되기 때문에, 블록에 대응하는 각 언어의 소스를 제작해야 한다. 블록을 만들 때는 대표적으 로 3가지 단계인 Collecting the Arguments, value To Code, Assembling the Code가 있다. Collecting the Arguments 단계는 생성된 코드의 모든 인수와 필드 데이터를 수집한다. value To Code 단계에서는 입력 에 연결된 블록을 찾고 해당 블록의 코드를 생성한 다음, 코드를 문자열로 반환하는 과정을 수행한다. 마지막으로 Assembling the Code 단계는 모든 인수 가 수집되면 최종 코드로 조합한다. Ⅲ. Android 파서 Arduino 블록은 인터프리터가 아닌 컴파일로 파 서를 진행한다. Arduino 컴파일 파서를 진행하게 되 면 컴퓨터 하드웨어 포트에 연결된 Arduino 장비가 인식하여 작동한다. 그러나 이 과정을 구현하려면 웹과 시스템의 연결고리가 있어야 한다. Blockly 라 이브러리는 Javascript로 만들어진 라이브러리이며, 웹상에서 실행되는 인터프리터 언어이기 때문에, 시 스템의 하드웨어에 연결된 Arduino 장비를 인식하 지 못한다. 인식하기 위해서는 서버를 통해서 시스 템 프로그래밍을 진행해야 하므로 본 연구에서는 시스템환경에서 접근 및 제어하기 위해 Python 언 어를 사용했다. 서버 측은 사용자가 일렉트론(Electron)을 사용하 그림 1. 블록 구성요소 Fig. 1. Block configuration 예측하는 프로그램 사용자는 프로그래밍을 배우 는 저학년생들이기 때문에 구성을 단순화시켰다. 프 로그래밍을 위한 기본적인 논리 사고를 기르기 위 하여 블록을 연산자, 제어문, Arduino, 기타로 분류 를 한다. 연산자에는 비교연산, 사칙연산, 불대수 블 록이 들어가며, 제어문에는 if문, for문, while문, Arduino는 Delay, Button, LED, DigitalRead, 마지막으 로 기타에는 출력과 변수를 정의한다. 단순하지만 기 때문에 시스템을 제어하는 Python으로 사용하기 보단, 프레임워크를 제어하고 사용하기 위해서 Node.js를 사용했다[2][3]. Arduino 블록에 대한 소스 값을 서버(Node.js)로 받아서 전달한 다음, 시스템에 Arduino 파일로 저장을 한다. 시스템에 저장된 Arduino 파일을 실행하기 위해서는 Python으로 command 환경에 접근한다. Arduino는 기본적으로 시리얼 포트, Arduino 버전 설정 등을 진행하기 때 문에 command 환경에서 환경설정과 검사, 그리고 컴파일에 대한 명령어를 입력하여 실행한다. - 526 - - 2019 한국정보기술학회Ÿ한국디지털콘텐츠학회 하계공동학술대회 논문집 - 그림 2. 교육용 프로그램 구성도 Fig. 2. Composition of educational program Ⅳ. 결 론 프로그래밍 교육은 점차 중요하게 되어가고 있 다. 필수가 된 소프트웨어 교육에 대응하기 위해서 는 교육에 알맞은 소프트웨어 교육용 프로그램이 필요하다. 이에 따라 본 논문에서는 Blockly 라이브 러리를 이용하여 소프트웨어 교육용 프로그램을 개 발하게 되었다. Block을 사용하여 사용자는 더욱 쉽 게 프로그래밍에 접근하고 배울 수 있다. Block에 사용될 언어는 Javascript, Python, Arduino가 있으며, Javascript와 Python은 block 코딩 후, 인터프리터 결 과를 확인할 수 있다. 또한, Arduino Block 코딩을 통해 간단한 LED, 모터 등의 하드웨어가 실행되는 것을 눈으로 확인할 수 있음으로써 사용자의 흥미 도를 높일 수 있다. 단계별로 문제를 만들어, 프로 그래밍의 기본 논리를 모른다고 해도 학습이 가능 하도록 설계 및 구현을 했다. 향후, 웹과 모바일 애 플리케이션에서도 본 프로그램을 연동하여 휴대성 과 접근성을 높일 수 있는 서비스 기능의 추가 및 강화를 연구할 계획이다.