본문 바로가기
주메뉴 바로가기
검색
검색범위
전체
제목
내용
태그
첨부파일
기간
전체
1일
1주
1개월
3개월
1년
~
조회
연구
전체자료
연구자료
간행물
- SW중심사회
- 산업연간보고서
- 승인통계보고서
- AI 브리프
- 이전 간행물
행사
전체행사
컨퍼런스
포럼
세미나
통계
통계서비스
간행물
정보
알림
SPRi
소개
- 연혁
- 인사말
- 미션+비전
- CI소개
- 조직
- 경영공시
- 오시는 길
알림
- 공지사항
- 미디어
- 정보공개
ENGLISH
ENGLISH
모바일 주 메뉴 닫기
blog
초·중등 교육용 프로그래밍 언어(EPL)
길현영
역대 연구원
날짜
2016.08.16
조회수
44749
공유 열기
$http_host = $_SERVER['HTTP_HOST']; $request_uri = $_SERVER['REQUEST_URI']; $kakao_url = 'http://' . $http_host . $request_uri; ?>
글자크기
+
글자크기 크게
-
글자크기 작게
교육용 프로그래밍언어는 일반 프로그래밍 언어 학습 혹은 논리적/절차적 사고력 증진을 위한 도구로 쓰이기 위해 개발
최근 프로그래밍 초심자도 쉽게 사용가능한 웹기반 플랫폼과 함께 학생 대상 SW교육에서 주요 도구로 활용 중
EPL을 활용한 효과적 SW교육을 위해, 대상자에게 맞는 EPL 교육 목표 설정, 우수 교수법 연구·개발, 한국형 교육 콘텐츠 개발 필요
교육용 프로그래밍 언어(Education Programming Language : EPL)
주로 프로그래밍 학습의 도구로 개발된 프로그래밍 언어
실제 문제 해결을 위한 전문적 프로그램 개발 툴보다는 프로그래밍 교육을 목적으로 디자인되고 개발
교육용 프로그래밍 언어(이하 EPL)는 특별히 정해진 범위나 틀은 없음
초기에는 범용 프로그래밍 언어(C, Java 등) 전문 교육의 진입장벽을 낮추기 위한 목적으로 프로그래밍 언어 등장
최근에는 실제 어플리케이션 개발보다 알고리즘을 만들고 프로그램화하는 훈련을 통해 논리적/절차적 사고력을 증진시키기 위한 학습 도구로서 각광
현재 프로그래밍 추세와 사용되어지는 기기 종류에 맞춰 EPL 요소도 변화
초심자를 고려한 단순한 문법, 웹 기반의 직관적 인터페이스 강세
범용 프로그래밍 언어들은 언어 고유의 문법이 존재하고 그 활용 범위만큼 문법의 복잡도 역시 증가해왔기 때문에, 학생 입장에서 진입 난이도가 높은 편
EPL은 범용 프로그래밍 언어에 비해 문법이 단순하여 알아야할 내용이 적은 편
최근에는 명령어를 직접 타이핑하기보다 블록/그래픽 객체들의 조립을 통해 프로그래밍을 하는 직관적이고 시각적 인터페이스가 추세
최근 초·중등 어린 학생들이 자신의 생각을 프로그램으로 쉽게 표현하고 다른 이와 함께 프로그래밍 경험을 쌓아갈 수 있도록 활용
온라인 사이트형 플랫폼을 통해, 자신이 만든 프로젝트들을 다른 이들과 공유하고 협력하여 더 나은 작품으로 발전시킬 수 있도록 하는 공유의 철학 포함
주요 초·중등 대상 EPL 사례
현재 많은 EPL이 존재하며, 최근 초·중등 대상 블록형 비주얼 언어들이 강세
EPL은 50여 종이 넘는 다양한 종류가 있으며, 최종적으로 배우고자 하는 프로그래밍 언어나 기반이 되는 프로그래밍 언어에 따라 분류 가능
• Assembly, Basic 등 범용 프로그래밍 언어 교육을 위한 교육용 프로그래밍 언어로는 Little Man Computer(LMC), DLX, Visual Basic, Small Basic 등
• Logo, Scheme(이상 Lisp
(1)
-기반 EPL), Greenfoot, BlueJ(이상 Java-기반 EPL), Scratch, Squeak e-toys(smalltalk-기반 EPL) 등
최근 초·중등학생 대상으로 명령어 블록을 마우스로 끌어 조립하는 형태의 블록형 그래픽 프로그래밍 언어가 인기
Web에서 프로그래밍과 실행이 한 화면에서 가능한 통합개발환경 및 게임형식의 교육내용을 통해 즐거운 교육 유도
(1) 스크래치(Scratch)
프로그래밍을 처음 배우는 이들이 엄격한 문법에 대한 어려움 없이 쉽게 자신의 생각을 프로그램으로 표현 할 수 있도록 디자인된 small talk 기반 EPL(MIT에서 개발)
Squeak e-toys의 tile-scripting 방식에 영향을 받아, 명령어를 따로 외우거나 타이핑 입력하는 것이 아니라 명령어가 쓰인 그래픽 블록을 추가/조립하여 프로그램밍하는 형태
(2) 스크래치 주니어(Scratch Jr.)
글을 읽지 못하고 마우스 활용이 어려운 유아/어린이들 대상
기호가 그려진 그래픽 블록을 스크린 터치 방식으로 연결하여 프로그래밍
(3) 엔트리(Entry)
국내에서 개발한 교육용 프로그래밍 언어로 블록형 프로그래밍 개발환경 사용
국내 초·중등 학생 및 SW교사 대상의 프로그래밍 콘텐츠 개발 보급 중
언플러그드 활동을 지원하는 엔트리 보드게임과 함께 다양한 피지컬 컴퓨터 기기들도 연계 지원
(4) Blockly
Google에서 개발한 스크래치와 같은 웹기반 블록형 프로그래밍 언어
명령어 블록 조립으로 만든 프로그램을 JavaScript, Python, PHP 등으로 변환할 수 있어서 그 다음 범용 프로그래밍 교육단계로 발전하는데 도움
(5) 코두(Kodu)
마이크로소프트(Microsoft)에서 개발한 게임 제작용 3D 비주얼 프로그래밍 언어
다양한 게임 프로그래밍 및 스토리텔링형 프로그램 제작에 효과적
(6) Logo
MIT 인공지능 연구소에서 교육적 사용을 위해 개발한 Lisp 기반 언어
거북이 로봇을 명령어를 통해 움직여 그림을 그리는 인터프리터 형태로 대중화
Dolittle 등에서 Logo의 거북그래픽 환경 활용
(7) Alice
카네기멜론 대학에서 만든 3D 프로그래밍 언어
사람/동물/탈 것 등의 3D 오브젝트들과 drag-drop 인터페이스는 스토리텔링형 애니메이션이나 간단한 비디오형 게임 등을 만드는데 효과적
object, method, recursion 등 C++, C#, Java와 같은 객체지향 프로그래밍 언어의 특징을 담고 있어서, 객체지향언어 배우기 전 단계에 좋음
(8) 앱 인벤터(App Inventor)
안드로이드 기기에 쓰일 프로그램을 개발할 때, 내 컴퓨터에서 해당 프로그램을 편리하게 디자인할 수 있도록 지원(안드로이드 폰 에뮬레이터 제공)
다른 시각적 프로그래밍 언어처럼 블록들을 움직이고 조립하여 프로그램을 완성할 수 있음
시사점
특히, 초·중등 SW교육에서는 대상자 수준에 맞는 교육 목표 설정이 중요
초등학생의 경우, 프로그램의 완성도나 언어 사용법 전체를 익히기보다는 다양한 문제에 대한 창의적 생각과 프로그래밍 경험이 우선적 목표 가능
같은 언어에 대해서도 프로그램 명령어와 구조에 대한 개념, 자료구조 활용 및 알고리즘에 따른 복잡도 분석 등 교육내용과 수준은 다양할 수 있음
학습자 수준에 맞지 않는 프로그래밍 교육은 학습자의 흥미 반감이 가능하므로, 어떤 EPL을 선택하느냐 보다 교육 목표에 맞는 학습범위 설정 중요
효율적 교수법 연구 및 인프라 지원
적은 정규수업시간에서 실습할 수 있는 효과적 교수법에 대한 연구 개발 지원
학교 내 프로그래밍 실습 환경 구축 필요
국내 학생들을 위한 친근한 교육콘텐츠 개발
실세계의 문제를 SW로 해결할 수 있음을 인식하는 것은 SW교육의 주요 목표 중 하나
국내 사회 환경과 밀접한 콘텐츠를 통해, 스스로 문제를 발견하고 창의적 생각을 도출하여 SW로 풀어낼 수 있도록 유도
(1) Lamda Calculus 기반의 수학적 계산을 위해 디자인된 프로그래밍 언어
SW교육
월간SW중심사회 2016년 8월호
프로그래밍언어
EPL
목록