1. 엔트리란

엔트리는 네이버 자회사 비영리 기관인 커넥트 재단에서 제작하고 후원하는 오픈소스 코딩교육용 언어(EPL: Educational Programming Language) 입니다. 한국에서는 코딩교육에 가장 많이 채용되고 활동되는 언어입니다. 코딩교육은 두 종류로 나눌 수 있는데 순수 소프트웨어 개발 중심의 코딩교육(이하 소프트웨어 개발 코딩교육)과 하드웨어를 제어하는 소프트웨어 개발 중심의 코딩교육(이하 하드웨어 제어 코딩교육)으로 나눌 수 있습니다.

하드웨어 코딩교육이라는 본 서의 저술 목적 관점에서 볼 때 전 세계적으로 가장 널리 알려져 있고, 가장 많은 사용자를 보유한 코딩교육용 언어인 스크래치보다 엔트리가 우월한 점은 소프트웨어 개발 코딩교육을 넘어 아두이노 포함 수십여 종의 코딩교육용 하드웨어의 기본(default) 지원을 통해 다양한 하드웨어 제어 코딩교육 까지도 엔트리 안에서 교육할 수 있다는 것입니다. 실제로 엔트리는 60-70여종(중복제외, 2021년 기준) 이상의 코딩교육용 하드웨어를 지원하고 있으나, 스크래치는 소수 특정 하드웨어(2021년 기준, 레고 마인드스톰즈, 마이크로비트 등 총 6종)만 지원하고 있습니다. 그 중에서도 전 세계적으로 피지컬 컴퓨팅*, 메이커 운동(Maker Movement)에 가장 보편적으로 사용하는 아두이노를 지원하고 있지 않는 것은 가장 큰 단점 중에 하나입니다.

피지컬 컴퓨팅(Physical Computing): 실 세계(real world)로부터 어떤 정보를 취하고(sense) 취한 정보에 어떤 반응으로 답하며(respond) 실 세계와 상호작용하는(interective) 시스템. 사실상 매우 광의적인 의미로 간단히 표현하면 디지털로 동작하는 하드웨어 통해 실 세계(물리적 세계)와 소통하는 시스템이라 할 수 있고, 학문적으로는 전자공학, 기계공학, 컴퓨터공학, 로봇공학, 산업공학 등의 다수의 학문들과 관련되어 있다 할 수 있다.

출처: 위키피디아

엔트리의 단점으로는 두 가지 코딩교육 중에서도 소프트웨어 개발 코딩교육에 더 방점이 있다 보니, 엔트리와 하드웨어를 연결해 블록코딩으로 하드웨어를 제어해 보는 하드웨어제어 코딩교육이 가능하기는 하나, 조금 더 나아가 실제 실무나 실전에 가까운 수준에 코딩교육까지는 나아가지 않는다는 점입니다. 가장 아쉬운 부분은 블록코딩한 코드를 실제 하드웨어에 저장(코드 업로드)시키는 기능이 없는 것으로, 제어하고자 하는 하드웨어는 항상 엔트리와 실시간 연결되어 있어야만 동작한다는 것입니다. 즉, 엔트리와 연결없는 하드웨어 안에 기 업로드 되어 저장된 코드에 기반해 독립적으로 동작 시킬 수 없다는 점입니다. 예를 들어 해당 기능이 없으면 하드웨어를 활용한 경연/경진대회나 메이커 활동에 제약이 따를 수 밖에 없는데, 왜냐하면 시연(데모) 또는 결과물의 활용을 위해서는 항상 노트북 이나 컴퓨터 상에 실행된 엔트리와의 연결을 통해서만 동작하기 때문입니다.

그래서 본 책의 저자는 오픈소스인 엔트리를 수정해 하드웨어(2021년 기준 아두이노와 한국 공교육 교과서에서 가장 많이 채용된 네오피아의 최신 모델 네오쏘코 이상 2가지)로의 코드 업로드 기능을 구현하였습니다. 또한 엔트리가 기존에 블록코딩을 넘어 실전 소프트웨어 코딩교육 즉 텍스트 기반 코딩교육과의 연계를 위해 블록코딩의 파이썬 코드변환 및 파이썬 텍스트코딩 기능을 제공했던 목적과 유사하다. 참고로 코드의 하드웨어 업로드 뿐만 아니라, 아두이노 하드웨어에 한해서 블록코드의 C++ 텍스트코드로의 변환과 C++ 텍스트코딩 기능 일부 가능하도록 기능추가 하였습니다.

이제 엔트리는 실전에 가까운 하드웨어(특별히 아두이노를 활용한) 제어 코딩교육에 손색이 없는 도구로 변모하였습니다. 이러한 저자의 작은 노력이 한국과 전 세계 특별히 개도국(개발도상국) 코딩교육에 기여해 4차 산업혁명이 주도하는 미래사회를 살아갈 어린이들의 삶에 조금이나마 보탬이 될 수 있기를 소망합니다.

아래는 하드웨어 코드 업로드 기능과 아두이노 C++코드변환 기능이 추가된 버전의 다운로드 링크입니다.

엔트리 커스텀 버전 안내: https://github.com/JeongJun-Lee/entry-offline

엔트리 커스텀 버전 다운로드: https://github.com/JeongJun-Lee/entry-offline/releases

엔트리 커스텀 버전 코드업로드 시연(데모):

Last updated