Los Angeles

Overcast
64.8°

2018.09.24(MON)

Follow Us

지금은 코딩 교육 시대…프로그래밍 만들며 체계적인 사고력 갖춘다

[LA중앙일보] 발행 2018/06/25 미주판 20면 기사입력 2018/06/24 13:01

현대 리더의 필수 지식
취업기회도 늘어나 유용

지난 18일부터 시작된 중앙일보 '데이터 사이언스 앰배서더스 컴퓨터 사이언스 캠프(DSA-CS)'에 참가한 학생들이 김선호 교수(왼쪽)와 이정규 교수(오른쪽)의 강의를 듣고 있다.

지난 18일부터 시작된 중앙일보 '데이터 사이언스 앰배서더스 컴퓨터 사이언스 캠프(DSA-CS)'에 참가한 학생들이 김선호 교수(왼쪽)와 이정규 교수(오른쪽)의 강의를 듣고 있다.

20일 오전 11시. 페퍼다인대학 강의실. 김선호 USC 교수는 학생들에게 "컴퓨터 A와 B에 각각 다른 업무를 지시하려면 명령어를 다르게 입력해야 한다. 그게 바로 프로그래밍"이라고 설명하자 책상에 앉아있던 학생들이 고개를 끄덕인다. 이들은 한인 2세 리더 양성을 위해 중앙일보가 매년 여름방학 동안 운영하는 리더십캠프 참가자들이다.

지난 18일부터 5박 6일간 페퍼다인대학에서 진행된 캠프는 '데이터사이언스-컴퓨터 캠프(Data Science Ambassadors-Computer Science·DSA-CS)'라는 주제로 진행됐다. 바로 옆 강의실에는 기초과정을 마친 학생들이 둥그렇게 앉아 모니터를 보며 프로그램을 하는 한편 교수가 지적하는 내용을 재검토하고 다시 수정하고 있다.

리돈도비치유니언고교의 팀 김(12학년)군은 "학교에서 AP컴퓨터 사이언스를 배우면서 관심을 갖게 돼 캠프에 참가하게 됐다"며 "직접 프로그래밍을 해보면서 부족한 지식을 보충하게 되니 재미있다"고 말했다.

어릴 때부터 코딩 교육을 하는 게 좋다고 조언하지만 무엇을 가르쳐야 할지 모르는 부모들이 많다. 코딩과 소프트웨어 교육의 차이점은 무엇인지 기초 정보를 알아봤다.

코딩 vs. 소프트웨어 교육

코딩이란 작업의 흐름에 따라 프로그래밍 언어의 명령문을 써서 프로그램을 작성하는 일을 가리킨다. 코딩 교육은 프로그램을 작성하는 언어를 배우는 과정이다. 반면 소프트웨어 교육은 컴퓨팅의 기본적인 개념과 원리를 기반으로 문제를 효율적으로 해결할 수 있는 사고 능력을 배우는 과정이다.

한 예로 컴퓨터는 지시할 일을 단계별로 세분화해 나누고 순서대로 명령해야 시행한다. 예를 들어 로봇에게 물컵을 집는 간단한 일을 시키려고 해도 컴퓨터에 '오른팔을 오른쪽으로 20㎝ 옮긴다→오른팔을 10㎝ 내민다→오른팔을 움켜쥔다→실패 시 재반복' 등의 명령어를 입력해야 한다. 그것을 차례로 배치하는 게 알고리즘이다. 이 알고리즘을 컴퓨터 언어로 변환해 주입하는 게 코딩이며 이 과정을 배우는 게 소프트웨어 교육이다.

올해 중앙일보의 DSA-CS 캠프의 경우 기초반인 Track-1은 컴퓨터의 원리와 프로그래밍 언어를 배우는 소프트웨어 교육 과정이 포함됐다.

상급반인 Track-2는 트위터에 올라가 있는 메시지를 토대로 사람들의 성향을 분석할 수 있는 명령어를 입력하고 알고리즘을 배치하는 코딩 교육과 빅데이터 기초 과정으로 구성됐다.

김선호 교수는 "코딩교육은 체계적인 사고력을 요구하기 때문에 문제의 핵심을 파악하는 능력을 갖게 해준다"며 "또 어릴 때부터 배운다면 숙련된 기술과 지식을 좀 더 넓게 사용할 수 있다"고 설명했다.

미래 취업에 도움

코딩을 배운다고 해서 모든 학생들이 프로그래머가 되거나 개발자가 되지 않는다. 하지만 최소한 컴퓨터 게임을 구입하지 않고 만들어 볼 수는 있다는 게 전문가들의 설명이다. 뿐만 아니라 개발과 데이터 분석, 인터넷 비즈니스나 마케팅에도 응용해 사용할 수 있다. 관련된 직종도 늘어나는 만큼 대학 졸업 후 취업도 쉬워질 수 있다.

연방노동부가 발표한 통계 자료에 따르면 오는 2024년까지 컴퓨터 및 정보학 관련 직업이 48만8500개가 새로 생겨날 전망이다. 이들의 중간 연봉은 7만9390달러로 일반 사무직의 평균 연봉(3만5540달러)의 2배기 넘는 금액이다.

코딩 언어 중요해

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

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

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

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

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

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

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

관련기사 교육 섹션 매주 기사 묶음

오늘의 핫이슈

Branded Content

 

포토 뉴스

전문가 칼럼전문가 전체보기

HelloKTown