코딩(coding)이란 주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것이다. ‘컴퓨터 프로그래밍’이라고도 하며, 이때 쓰이는 언어가 프로그래밍 언어다. 전에는 프로그래밍 언어라고 하면 주로 프로그래머들이 사용하는 언어로 여겼지만 요즘은 4차 산업혁명이 중요시됨에 따라 코딩 교육의 의무화가 결정되었고, 많은 사람들이 프로그래밍에 입문하려고 하는 추세이다.
현존하는 프로그래밍 언어는 엄청나게 많다. 한 번쯤 들어봤을 C언어, Java, HTML부터 조금 생소하게 느껴지는 언어 등 개발할 프로그램의 종류에 따라 다른 프로그래밍 언어를 사용한다.
코딩 교육의 중요성이 커지는 이 시점에 프로그래밍에 처음 입문하고픈 사람들을 위한 언어 몇 가지를 추천해 보고자 한다.
1. 블록형 프로그래밍 언어 ‘스크래치’와 ‘엔트리’
[이미지 제작=대한민국청소년기자단 5기 임채민기자]
‘스크래치’는 미국 MIT 미디어 연구소에서, ‘엔트리’는 네이버가 운영하는 블록형 프로그래밍 언어이다. 기존의 텍스트 기반 언어를 배우는데 어려움이 있는 초등학생, 중학생들을 위해 블록을 조립하듯 프로그래밍을 할 수 있도록 개발되었다. 엔트리 사이트에 접속하면 엔트리봇, 로봇 공장, 전기 자동차, 숲속 탐험, 마을 탐험, 우주 여행이라는 6가지 미션을 통해 문제 해결 능력과 컴퓨팅 사고력을 기를 수 있다. ‘엔트리’와 ‘스크래치’ 프로그래밍으로 애니메이션, 게임, 음악, 아트, 비디오 등 다양한 작품을 만들 수 있다.
2. 입문자가 이해하기 쉬운 ‘파이썬’
[이미지 제작=대한민국청소년기자단 5기 임채민기자]
입문하기 좋은 프로그래밍 언어라고 하면 단연 ‘파이썬’을 추천한다. 파이썬을 추천하는 이유는 다른 언어들에 비해 간단하고 쉽기 때문이다. 문법이 간결하고 입문자가 코드를 읽기 쉽다.
파이썬 프로그램 화면에 코드를 입력하면 한 줄 마다 실행 결과가 바로 나오기 때문에 컴퓨터와 대화하는 느낌이 든다. 실제로 미국의 여러 학교에서는 학생들에게 파이썬을 교육하고 있다.
3. 나만의 홈페이지를 만들어 보자 ‘HTML’과 ‘자바스크립트’
[이미지 제작=대한민국청소년기자단 5기 임채민기자]
HTML과 자바스크립트는 웹사이트, 즉 홈페이지를 만드는 언어이다. 기본적으로 HTML을 이용해 홈페이지의 뼈대를 만들고 그 위에 자바스크립트를 덧붙이는 형태이다. HTML은 간단하게 메모장을 이용해서 원하는 내용을 만들 수 있다. 자바스크립트는 특별한 개발도구가 필요하지 않으며, 문법도 어렵지 않아서 잘 배워두면 자신만의 홈페이지 디자인이 가능하다.
4. 스마트폰 앱을 만드는 ‘앱 인벤터’
[이미지 제작=대한민국청소년기자단 5기 임채민기자]
안드로이드 앱을 개발하기 위해서는 텍스트 기반 언어인 Java를 배워야 한다. 하지만 Java는 배우기 쉽지 않고 기간도 오래 걸리기 때문에 학생들이나 초보자들이 어려움을 느낀다. 이러한 문제점 때문에 개발된 ‘앱 인벤터’는 컴퓨터 프로그래밍을 처음 접하는 사람들이 스크래치나 엔트리처럼 블록들을 조립하여 원하는 기능의 앱을 만들 수 있다. 초보자들도 쉽게 접근할 수 있어서 코딩 교육용 언어로 많이 사용되고 있다.
5. 피지컬 컴퓨팅 ‘아두이노 프로그래밍’
[이미지 제작=대한민국청소년기자단 5기 임채민기자]
‘아두이노’는 전자공학적 지식이 없는 일반인들도 쉽게 배우고 작품을 만들 수 있게 하기 위해 개발된 전자 회로 보드이다. 아두이노에 LED, 모터와 같은 센서와 스위치를 연결하고 프로그래밍하여 RC카, 간단한 로봇, LED 신호등, 미니 드론, IOT(사물 인터넷) 제품 등 많은 것을 만들 수 있다.
한 가지 어려운 점은 아두이노를 프로그래밍할 때 C언어 기반의 텍스트 프로그래밍을 해야 하는데, 초등학생이나 중학생이 처음 배우기에는 쉽지 않을 수 있다. 이를 위해 엔트리와 아두이노를 결합해서 블록형 프로그래밍을 할 수 있는 방법을 추천한다.
이처럼 입문자도 배우기 쉬운 프로그래밍 언어들이 많이 보급되고 있다. 처음부터 어려운 언어를 배우기보다 앞서 소개한 언어들을 먼저 배우는 것을 추천한다. 하지만 단순하게 프로그래밍 언어를 암기하고 문법을 외우는데 지나지 않다면 의미가 없다. 프로그래밍과 더불어 중요한 것이 ‘컴퓨팅 사고력’, 즉 논리적으로 문제를 해결할 수 있는 능력을 기르는 것이다. 컴퓨팅 사고력과 프로그래밍 실력이 함께 쌓일 때 훨씬 좋은 효과를 볼 수 있을 것이다.
[대한민국청소년기자단 IT·과학부=5기 임채민기자]