EPL 교육 - 코딩이 놀이가 되다
EPL이란?
정의: 교육용 프로그래밍 언어(Educational Programming Language)는 코딩의 복잡성을 줄이고, 시각적이고 직관적인 방식으로 프로그래밍 원리를 학습할 수 있도록 설계된 언어입니다. 주로 블록 기반 코딩 방식을 채택하여, 코드를 직접 타이핑하는 대신 블록을 쌓듯이 프로그램을 구성합니다.
목적: 컴퓨팅 사고력(Computational Thinking) 향상, 문제 해결 능력 증진, 논리적 사고력 발달, 창의력 자극 등. 특히 어린이나 프로그래밍 초보자가 코딩에 대한 흥미를 느끼고 쉽게 접근할 수 있도록 돕습니다.
대표적인 EPL
스크래치 (Scratch): MIT 미디어 랩에서 개발한 가장 대표적인 블록 기반 EPL입니다. 애니메이션, 게임, 스토리 등을 만들 수 있으며 전 세계적으로 가장 널리 사용됩니다.
엔트리 (Entry): 네이버 커넥트재단에서 개발한 한국형 EPL로, 스크래치와 유사한 블록 코딩 방식을 사용합니다. 한글 기반의 블록과 다양한 학습 자료가 특징입니다.

프로그래밍 언어의 이해
EPL을 활용한 논리적 사고력 향상
- 어린 학생들이 추상적인 프로그래밍 개념을 시각적으로 배우도록 지원.
- 코딩을 통해 문제 해결 능력, 논리적 사고력, 창의성을 동시에 기를 수 있음.
- 미래 사회 핵심 역량인 디지털 리터러시 교육의 기반 제공.
블록 코딩의 이해
블록 종류: 움직임, 형태, 소리, 이벤트, 제어, 감지, 연산, 변수, 내 블록 등 다양한 카테고리의 블록이 있습니다. 각 블록은 특정 기능을 수행하며, 퍼즐 조각처럼 연결하여 프로그램을 만듭니다.
블록 조합: 특정 순서와 조건에 따라 블록들을 조합하여 원하는 동작을 구현합니다. 예를 들어, ‘깃발을 클릭했을 때’, ’10만큼 움직이기’, ‘2초 기다리기’ 등의 블록을 연결하여 캐릭터를 이동시킬 수 있습니다.

순차, 반복, 조건 구조
순차 (Sequence): 블록이 위에서 아래로 순서대로 실행되는 가장 기본적인 구조입니다.
반복 (Loop): 특정 블록들을 지정된 횟수만큼 또는 특정 조건이 만족될 때까지 반복하여 실행하는 구조입니다. (예: ‘계속 반복하기’, ‘~번 반복하기’)
조건 (Conditional): 특정 조건이 참일 때만 특정 블록들을 실행하거나, 조건에 따라 다른 블록들을 실행하는 구조입니다. (예: ‘만약 ~이라면’, ‘만약 ~이라면 아니면’)
변수와 연산자
변수 (Variable): 프로그램 실행 중에 변할 수 있는 데이터를 저장하는 공간입니다. 점수, 시간, 이름 등 다양한 데이터를 저장하고 활용할 수 있습니다.
연산자 (Operator): 숫자나 변수를 계산하거나 비교하는 데 사용됩니다. (예: 덧셈, 뺄셈, 곱셈, 나눗셈, 크다, 작다, 같다, 그리고, 또는)
이벤트와 메시지
이벤트 (Event): 프로그램이 시작되거나 특정 조건(예: 키보드 입력, 마우스 클릭, 스프라이트 클릭)이 발생했을 때 실행되는 블록들을 의미합니다.
메시지 (Message): 서로 다른 스프라이트(캐릭터)나 오브젝트 간에 정보를 주고받는 방법입니다. 메시지를 보내고 받음으로써 다양한 상호작용을 구현할 수 있습니다.
입력과 출력
입력: 사용자의 키보드 입력, 마우스 클릭, 센서 값 등을 받아들이는 과정입니다.
출력: 프로그램의 결과(텍스트, 소리, 애니메이션 등)를 화면에 표시하거나 소리로 들려주는 과정입니다.
EPL 프로젝트 실습
스토리텔링 애니메이션: 간단한 캐릭터와 배경을 만들어 대화, 움직임, 효과음을 추가하여 자신만의 이야기를 담은 애니메이션을 제작합니다.
미니 게임 제작: 장애물을 피하는 게임, 점수를 올리는 게임 등 간단한 규칙을 가진 게임을 직접 설계하고 구현합니다.
피지컬 컴퓨팅: 스크래치(Scratch)와 아두이노(Arduino)와 같은 하드웨어를 연동하여, 센서값을 읽어들이거나 LED를 제어하는 등의 실제 물리적 세계와 상호작용하는 프로그램을 제작합니다.


