brunch

You can make anything
by writing

C.S.Lewis

by pj Sep 10. 2019

우리 아이, 어떤 프로그래밍 언어부터 시작해야 할까?

어린이나 청소년을 위한 프로그래밍 입문 언어 추천

이 글이 속해있던 브런치 북  <AI 시대, 우리 아이 교육은?>을 책으로 출판하게 되었습니다.

https://wikibook.co.kr/aiedu/



세계에는 영어, 중국어, 한국어 등 다양한 사람의 언어가 있듯이, 프로그래밍 언어 역시 다양합니다. 원두커피 같은 Java, 뱀의 이름인 python, 이름만 들어도 컴퓨터가 알아들을 것 같은 C/C++ 등 프로그래밍 언어들은 다 제각각의 사용처와 특색을 가지고 발전해왔습니다. 인터넷 상에는 어떤 언어가 더 좋은지에 대한 토론이 매일 일어납니다. 어떤 언어의 콘셉트가 더 뛰어난지, 배우기가 용이한지, 또는 직업을 찾는데 유리한지 등 각 언어를 배운 프로그래머들의 토론은 정치/사회 이념 토론 못지않지요.


하지만 처음 프로그래밍을 접하는 사람, 특히 어린이나 청소년에게 제일 중요한 것은 (1) 얼마나 배우기 쉬우냐, (2) 얼마나 재미있게 배울 수 있느냐입니다.


지난 글에 큰 아들이 게임을 만들면서 프로그래밍에 빠지게 되었다는 이야기처럼, 어린 나이 때는 배움을 또 다른 공부나 숙제보다는 하나의 놀이로 인식해 빠져들게 하는 것이 가장 바람직하고 효과적입니다. 코드 상에서 무언가를 바꾸었을 때, 바로 결과가 나타나면서 피드백이 생기고, 자기가 생각했던 것처럼 작동되지 않을 때 문제를 찾아서 해결해내는 성취감을 느끼는 그런 재미를 배울 수 있습니다.


이러한 기준을 가지고 여러분의 아이를 위한 프로그래밍 입문 언어 4가지를 추천합니다.


1. Scratch

Scratch는 MIT 미디어 랩에서 어린이를 대상으로 개발된 GUI 블록 기반 프로그래밍 언어입니다. Imagine, Program, Share (상상하라, 프로그램으로 만들어라, 공유하라)의 철학으로 개발된 Scratch를 통해 아이들은 단순한 프로그래밍 로직 블록들을 드래그 앤 드롭(Drag-and-drop)하여 인터렉티브 한 애니메이션이나 게임을 만들 수 있습니다. 어떤 이벤트가 일어났을 때 (클릭 또는 키보드 버튼이 눌릴 때), 효과음을 낸다거나, 시간에 맞추어 그림이 움직이는 등 좀 더 다양한 방법으로 상상력을 표현할 수 있는 그림판 프로그램이라고 생각하시면 됩니다. 공식 웹사이트에 가면 전 세계 아이들이 자신들의 프로젝트를 공유하며 소통하고 있습니다.


2. Lego Mindstorm NXT

마인드스톰 NXT는 우리가 잘 아는 장난감 회사 레고에서 2006년에 만든 프로그래밍 가능한 로봇 제작 키트입니다. 지난 글에도 잠시 저의 프로젝트를 소개해드렸지요. NXT-G라는 GUI 블록 기반의 언어를 사용을 기본으로 하고, 명령어를 통해 모터를 조작하여 움직이는 로봇을 만들 수 있습니다. 결과물이 모니터 안에만 존재하는 Scratch와는 달리 NXT는 장난감이 직접 움직이기 때문에 몰입도가 더 높습니다. 특히 다양한 센서들을 활용해서 로봇이 실제로 집 안에 있는 물건들과 교감할 수 있습니다. 어떤 색인지 알아내는 Color sensor, 빛과 어둠을 구별하는 Light sensor, 충돌을 감지하는 Touch sensor, 소리가 감지하는 Sound sensor 등 상상력을 발휘한다면 어떠한 로봇도 만들 수 있습니다. 더 나아가 좀 더 정교한 조작을 위해 좀 더 심화 언어인 C언어나 Java언어를 연동할 수도 있다 보니, 자연스럽게 다음 레벨 언어 교육으로 넘어가기도 용이합니다. 프로그래밍을 할 줄 아는 부모님은 아이와 같이 놀다 보면, 아이들보다 어른이 더 빠져들어버리는 경험을 하실지도!


https://www.youtube.com/watch?v=AToVUoZyWWk

Lego Mindstorm NXT로 만든 로봇 영상. Youtube에 사용자들이 만든 다양한 로봇들을 확인해보세요!


3. HTML + Javascript

HyperText Markup Language (HTML)과 자바스크립트(javscript)는 우리가 일상적으로 스마트폰과 컴퓨터를 통해 접하는 인터넷 웹사이트들을 구현하는 중요한 언어 두 가지입니다. HTML은 웹사이트의 글, 그림 같은 요소들을 어떻게 그려질지 프로그래밍 언어로 풀어쓴 것인데, 웹페이지라는 공책에다가 글씨를 쓰고 그림을 잘라 붙이는 것이라고 생각하시면 됩니다. 이와 함께 쓰이는 자바스크립트는 버튼을 누르거나 텍스트를 입력했을 때 어떠한 인터렉션이 어떻게 이루어질지 결정합니다. 그렇기 때문에 조금만 배운다면 금방 개인/가족 홈페이지 같은 재밌는 프로젝트를 진행할 수 있지요. 또한 자바스크립트는 프로그래밍 언어들 중에 꽤나 간단한 문법을 가지고 있어 초보들이 배우기 아주 적합할뿐더러, 현재 엄청나게 많은 개발자 수요가 있는 언어이기 때문에 직업 선택에도 유리합니다.

https://vimeo.com/153710800

간단한 HTML 튜토리얼


4. Python

파이썬(python)은 자바스크립트(javscript)와 비슷하게 프로그래밍을 아주 쉽게 만들어 인기가 많은 언어입니다. 그렇기 때문에 많은 사람들이 파이썬을 입문자에게 추천합니다. 하지만 쉽다고 해서 복잡한 문제를 풀지 못하거나 쓰임새가 적은 것은 절대 아닙니다. 현재 뜨거운 관심을 받는 머신러닝 (machine learning)이나 데이터 과학 (data science) 같은 분야에서 파이썬은 중요한 위치에 있습니다. 머신러닝 엔지니어로 일하는 큰 아들도 업무로 매일 파이썬을 사용한다고 하네요. 파이썬은 시각적인 것보다 좀 더 수학 또는 논리를 좋아하는 초등학생 이상의 학생들에게 추천합니다.

간단한 문법을 가진 파이썬 프로그래밍

이번 글에서는 4가지의 프로그래밍 언어를 소개드렸습니다.


평소에 아이가 손으로 무엇을 만드는 것을 좋아하는지, 그림 그리는 것을 좋아하는지, 퍼즐 같은 논리적인 것을 좋아하는지 등 한번 유심히 관찰해보세요.


뭐든지 즐기는 자를 이길 수 없다고 합니다. 한번 재미를 찾으면 부모가 시키지 않아도 프로그래밍에 빠져드는 아이의 모습을 보실 수 있을 거라 생각합니다.


**이 매거진은 브런치 작가 pj의 가족들이 함께 발행하는 가족 프로젝트입니다. 화자는 pj의 어머니로, 가족들이 경험한 이야기를 바탕으로 글을 풀어낼 예정입니다.





작가의 이전글 간단한 게임 만들기로 시작했던 코딩 공부
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari