제2의 빌 게이츠 꿈꾼다…코딩을 배워야 하는 이유

8
3316

포스트 코로나19 시대
커버스토리 | 컴퓨터학 교육 주간 – 코딩 이해하기

언어를 알아야 그 문화를 이해할 수 있다. 라틴계 인구가 다수인 캘리포니아주에서 스패니시는 그래서인지 학교에서도 가장 많이 배우는 외국어다. 지금은 가주에서 누구나 스패니시로 간단하게 인사하는 것에 익숙하다. 코로나19 팬데믹을 겪으면서 전세계가 바야흐로 4차 산업시대로 들어섰다. 가장 큰 변화는 컴퓨터가 우리의 삶에 없어서는 안 될 기기로 자리잡은 것이다. 이러한 시대를 살아가는 학생들에게 코딩 교육은 필수가 됐다. 미국은 오는 12월 7일부터 13일까지 한 주간을 ‘컴퓨터학 교육 주간(Computer Science Education Week)’으로 지정했다. 이 기간 동안만이라도 코딩에 대한 자녀의 관심을 키워보자.

논리력ㆍ사고력ㆍ창의력 배양에 도움

코딩 교육의 중요성

코딩 활용 분야 많아
어렵다는 편견 버려야

미국에서 2번째로 큰 통합교육구이자 캘리포니아주에서 가장 큰 LA통합교육구(LAUSD)가 올초부터 STEM(과학ㆍ기술ㆍ공학ㆍ수학) 분야를 전문적으로 가르치는 학교를 인증하는 작업을 벌이는 중이다. 지금까지 산하 1386개 학교 중 31개교가 인증을 받았고 36개 학교가 이 과정을 거치고 있다. LAUSD는 내년 학년도까지 STEM 인증 학교를 250개교로 늘리고 코딩 등 첨단 과학기술 내용을 중점적으로 구성된 커리큘럼도 확대 보급할 예정이다.

그동안 공부해야 할 필요성은 알았지만 힘들고 어렵다는 인식이 강해 외면하거나 피했던 코딩 교육을 맞닥뜨리는 시대가 됐다. 컴퓨터를 제대로 이해하려면 기본적인 코딩 교육이 필요하다. 코딩은 컴퓨터가 사용하는 언어이기 때문이다. 미국은 오는 12월 7일부터 13일까지 한 주간을 ‘컴퓨터학 교육 주간(Computer Science Education Week)’으로 지정했다.

이 기간 동안 미 전역에서는 다양한 코딩 교육 프로그램이 진행된다. 특히 마이크로소프트사 창립자이자 자선가인 빌 게이츠 페이스북 설립자인 마크 저커버그 잭 도시 트위터 창립자 등이 나서서 코딩 교육을 대대적으로 홍보하고 있다. 어떤 프로그램을 들으면 좋을지 소개한다.

빌 게이츠가 고등학교 시절 친구 폴 앨런과 컴퓨터를 개발하고 있는 모습. [출처: 빌게이츠 블로그]

◇컴퓨터만 배우는 코딩은 ‘편견’

먼저 ‘코딩=어렵다’는 편견에서 벗어나야 한다. 또 컴퓨터에 대해서만 배운다는 생각도 버리자. 컴퓨터 전문가들은 코딩 교육을 통해 오히려 논리력과 사고력 창의력과 문제해결 능력을 키울 수 있다고 강조했다. 가장 큰 장점은 컴퓨팅적인 사고(computational thinking)를 배우는 것이다.

재미한인과학기술자협회 남가주 지회장이자 USC 공대 IMSC부소장인 김선호 박사는 “문제를 해결하기 위해서 필요한 철학적인 사고방식을 컴퓨터에 입력하는 것이 코딩”이라며 “지금은 사회적인 문제나 예술을 하더라도 컴퓨터를 사용하는 시대다. 프로그래머가 되기 위해 코딩을 배우는 게 아니라 컴퓨터를 이용한 문제해결 능력을 키우기 위해 배워야 한다”고 강조했다.

김 박사는 코딩에 입문하는 중ㆍ고등학생들을 위해 파이선 프로그램을 권했다. 또 파이선을 습득한 후에는 드론이나 로봇 프로그램을 만들어 보면 코딩에 대한 재미를 붙일 수 있다고 덧붙였다.

김 박사는 “입문자를 위해 만들었는데 너무 쉬워 광범위하게 사용되고 있다”며 “사용자들이 각 분야에 이미 솔루션을 많이 만들어 놨기 때문에 조금만 배우면 기존에 나와 있는 코드나 패키지 솔루션을 사용해 더 고급스러운 프로그램을 만들 수 있다”고 설명했다.

김 박사는 “다행인 건 컴퓨터 비전공자도 코딩을 배우려는 학생들이 많이 늘었다는 것”이라며 “코딩에 대한 경험을 일찍부터 갖게 된다면 컴퓨터를 사용한 사고력을 향상시킬 수 있다”고 덧붙였다.

◇컴퓨터학 교육 주간이란 …

매년 12월 9일 미국의 컴퓨터 과학자이자 미국 해군 제독이었던 그레이스 머레이 호퍼(Admiral Grace Murray Hopper.1906년 12월 9일~1992년 1월 1일)의 생일을 기념해 제정했다. 호퍼 제독은 프로그래밍 언어 코볼의 개발을 주도했던 그의 업적을 기려 실리콘밸리의 젊은 공학도들은 이 주간동안 ‘코드의 시간(Hour of Code)’라는 프로그램을 통해 학생들에게 다양한 컴퓨터 관련 교육 프로그램을 제공한다.

각종 자료에 따르면 미 해군 최초의 여성 제독인 호퍼 제독은 2차 세계 대전이 일어났을 때인 1943년 해군에 들어가 해군 연구소에서 배운 프로그래밍을 응용해 최초로 컴파일러 A-0를 개발했다. 또한 ‘프로그램 버그’라는 개념을 만든 창시자이기도 하다. 컴퓨터를 이용해 해군의 함정 탄도 측정 계산기를 만들었으며 제대 후에는 미분해석기를 개발했다.

초보는 ‘파이선’… 중급은 ‘자바’ 도전해볼만

커버스토리 | 컴퓨터학 교육 주간 – 코딩 언어 이해하기

단계별 코딩 교육

웹사이트ㆍ데이터 구축도
칸아카데미 수업 뛰어나

◇코딩 언어 종류

프로그램을 작성할 때 사용하는 언어는 C C++ C# 자바 파이선 등을 가리킨다. 프로그래밍 단어의 기호와 용어를 알아야 프로그램을 제대로 설계하고 운영할 수 있다. 각 언어별 특성은 다음과 같다.

-자바 (JAVA): 컴퓨터나 스마트폰 스마트TV 소프트웨어 개발에 사용된다. 앵그리버드와 캔디크러시도 자바로 만든 게임이다. 가장 많이 사용되는 언어인 만큼 대기업이나 소규모 비즈니스 운영자들까지 광범위하게 사용할 수 있다.

-C프로그래밍: 주로 소프트웨어를 조종하는 프로그램에 많이 사용한다. 예를 들어 윈도나 OSX 리눅스가 그렇다. 또 대부분의 컴퓨터 기기에서도 C를 일부 사용하고 있는데 마이크로웨이브나 계산기 우주선 조종석까지 다양하다.

-C++: 비디오 게임 엔진이나 회계소프트웨어 등 응용 프로그램에 사용되는 난이도가 높은 프로그램이다.

-C#: 윈도용 소프트웨어나 웹 애플리케이션 검색엔진 빙이나 MSN 윈도폰 운영 시스템 등 마이크로소프트 제품에 많이 사용되고 있다.

-파이선(Python): 인스타그램 유튜브 레딧(Reddit) 사이트 개설 때 사용된 언어로 코딩 언어 중에서 난이도가 가장 쉬운 언어로 분류된다.

-자바스크립트(JavaScript): 웹페이지 교류를 원활하게 하기 위해 개발된 언어다. 웹사이트의 85% 이상이 사용한다. 자바스크립이 없다면 웹페이지의 애니메이션이나 화상 등이 보이지 않아 페이지 디자인이 단순해진다.

◇빌 게이츠 추천 코딩 수업

마이크로소프트(MS) 창업자 빌 게이츠는 “코딩에 대한 기본적인 이해력이 비판적인 사고력을 기를 수 있다”고 했다. 코딩의 중요성이 커지면서 이를 가르치는 웹사이트도 넘쳐난다. 하지만 어느 웹사이트가 정확한지는 배워보지 않고는 모른다. 마침 컴퓨터학 교육주간을 맞아 비즈니스인사이드 최신호는 빌 게이츠가 자신의 블로그 ‘게이츠노트(GatesNotes)’에 소개한 우수 코딩 수업 8개를 정리했다. 독학으로 코딩을 터득했다는 빌 게이츠가 소개한 만큼 내용이나 수준도 검증됐다고 볼 수 있다. 빌 게이츠가 꼽은 웹사이트는 칸아카데미(Khan Academy)와 코드닷오그(Code.org). 이들 사이트에는 컴퓨터 프로그램을 가르치는 동영상이 수백 개나 달해 수준별로 찾아 보면서 배울 수 있다.

▶칸아카데미 컴퓨터 프로그래밍 코스 www.khanacademy.org/computing/computer-programming

-프로그래밍 입문(Intro to Programming): 먼저 동영상을 열어 2분동안 코딩이 무엇인지 프로그램에 대한 기초 상식부터 배우자. 만화로 자세히 설명해 컴퓨터를 낯설어 하는 어린 연령층들도 쉽게 코딩공부를 시작할 수 있다. https://youtu.be/FCMxA3m_Imc

-자바스크립트 기초(Intro to Drawing and Animation): 자바스크립트의 동작원리를 배우는 과정이다. 학생들은 스스로 애니메이션을 그리고 만드는 과정에서 프로그램의 원리를 이해할 수 있다. www.youtube.com/embed/D5HQw_GKOwo

-웹페이지 만들기(Intro to HTML/CSS: Making Webpages): 텍스트와 이미지로 웹페이지를 만드는 법을 알려준다.

-데이터베이스 구축하기(Intro to SQL: Querying and managing data): 이 과정은 테이블을 만들고 다른 방식을 이용해 데이터를 선택.관리하는 방법을 배운다. 빌 게이츠는 “프로그래밍 개발법을 배우면서 다양한 사고력을 기를 수 있다”고 말했다.

-중급 자바스크립트(Advanced JS: Games and visualizations): 게임 개발 등에 필요한 데이터 비주얼라이제이션(시각화) 만들기를 배운다. 직접 게임 메뉴와 점수를 설정할 수 있다. 예를 들어 ‘해피 비버(Happy Beaver)’ 게임에서 운영자는 게임 주인공 비저를 점프하게 만들거나 전후좌우로 움직여 점수를 높일 수 있게 만들거나 화면 속 장면들을 움직이게 만들 수 있다.

-수학을 응용한 고급 자바스크립트(Advanced JS: Natural simulations): 수학적 개념을 활용해 시뮬레이션 프로그램을 만들 수 있다. 이 단계에 도달하면 주니어 프로그래머로 불려도 손색이 없다.

-상호작용 웹 만들기(HTML/JS: Making webpages interactive): HTML과 자바스크립트 기본사항을 사용해 상호작용 웹페지를 만드는 방법을 공부한다. 빌 게이츠가 강조하는 “컴퓨터 과학의 기본”을 배우고 실행해 볼 수 있다.

▶아워오브코드(Hour of Code)

아워오브코드는 빌 게이츠가 참여한 비영리 코딩사이트 코드닷오그에서 제공하는 수업이다. 웹사이트에 들어가면 연령대별로 초급반부터 고급반으로 나눠 다양한 프로그램을 제공한다. 특히 초급반은 쉬운 게임을 통해 코드를 이해할 수 있도록 했다.

빌 게이츠는 지난 2004년 일리노이 대학교 어바나-샴페인 캠퍼스 초청연설에서 “개인용 컴퓨터는 커뮤니케이션과 창작할 수 있는 가장 강력한 도구”라고 말했다. 이곳에서 제공하는 컴퓨터학 기초과정을 들으면 누구나 그 도구를 개발할 수 있는 기회를 갖게 될 것이라는 게 비즈니스인사이드의 평이다.

https://hourofcode.com/us

장연화 기자