Coding

코딩이란? 컴퓨터 프로그램을 작성하기 위해서 코드를 입력하는 작업을 말합니다.
코드를 작성하는 것을 일반적으로 '코딩한다' 라고 표현 합니다. 모든 소프트웨어는 코드의 모음으로 이루어져 있습니다.

코딩, 왜 배워야 할까?

1977년에 애플2가 출시 되면서 개인용 컴퓨터의 시대가 시작 되었습니다. 40년이 지난 지금 모든 가정에는 데스크탑, 노트북 등 개인용 컴퓨터가 자리하고 있습니다. 뿐만 아니라 모든 회사, 사무실에서 컴퓨터를 사용하지 않고 일하는 곳은 없습니다. 어딜가나 컴퓨터가 있기 때문에 우린 코드를 읽고 작성할 줄 알아야 합니다.

프로그래머가 되기 위해서만 코딩을 배우는 것이 아닙니다. 코드는 논리적인 코드로 이루어져 있습니다. 그래서 논리적인 사고, 복잡한 문제를 분석하고 명확히 이해하고, 큰 문제를 간단하게 추상화 시켜서 해결하는 방법 등을 익힐 수 있습니다.

소프트웨어를 사용하지 않는 직종은 없습니다. IT분야는 물론이고 농업, 제조업, 엔터테이먼트 등 대부분의 분야들이 소프트웨어에 의존하고 있습니다.

코딩, 무엇을 어떻게 배워야 하나?

최근 4차 산업혁명, 2018년부터 모든 초중고에서 소프트웨어 교육이 의무화 되기 때문에 많은 분들이 코딩 교육에 관심을 가지고 있습니다. 하지만 무엇을 어떻게 배워야 하는지 잘 모르는 경우가 많습니다.
코드는 컴퓨터와 사람이 대화할 수 있게 도와주는 일종의 컴퓨터 언어(프로그래밍 언어) 입니다. 코드를 통해서 컴퓨터가 어떻게 생각하고 작동하는지 원리를 이해해야 합니다. 그러면 그 어떤 프로그래밍 언어도 쉽게 배울 수 있을 것입니다.

스크래치

미국 MIT 미디어 연구소에서 2005년에 처음 공식 발표한 교육용 프로그래밍 언어 입니다.
일반적으로 프로그래밍 언어는 영어로 된 명령문 구조로 되어 있지만 스크래치는 블록을 기반으로 프로그램을 만들 수 있게 되어 있습니다. 주로 초등학생들(8세 이상)이 처음 프로그래밍 언어를 접할 때 배우게 됩니다.
아직 키보드가 익숙하지 않은 어린 학생들도 마우스로 블록을 이어 붙이기만 한다면, 쉽게 게임도 만들고 여러가지 다양한 프로그램을 만들 수 있습니다.
실제 현업에서 사용하는 프로그래밍 언어는 아니지만 어린 학생들이 코딩에 익숙해 지고, 컴퓨터 소프트웨어가 어떤 식으로 이루어지고 작동 하는지 중요한 개념을 이해 힐 수 있는 좋은 교육용 도구 입니다.

프로그래밍 언어

프로그래밍 언어의 종류는 굉장히 많이 있습니다. 실제 IT분야에서 쓰이는 소프트웨어 개발 언어 중에는 C, C++, JAVA, C#, PHP, Python, Ruby 등 셀 수 없이 많이 있습니다.
기본적으로 문법구조는 유사한 부분이 많이 있습니다. 그래서 한가지 언어만 제대로 공부하면 다른 언어들은 충분히 독학으로 익힐 수 있습니다. 하지만 언어마다 가지고 있는 독특한 문법과 특징이 존재하며 어떤 소프트웨어를 만들 것인지에 따라 어떤 언어를 사용할지 결정 하기도 합니다.
프로그래밍 언어는 코드를 작성하는데 가장 중요한 핵심 툴 입니다. 모든 소프트웨어가 프로그래밍 언어를 기반으로 만들어지며, 우리는 이 프로그래밍 언어를 배워서 자신만의 독특한 소프트웨어를 개발 할 수 있습니다.

웹 프로그래밍

우리는 프로그래밍 언어로 정말 다양한 소프트웨어를 개발 할 수 있습니다. 그 중 가장 접근하기 쉬운 소프트웨어는 바로 웹 입니다.
하나의 웹(홈페이지)을 만들기 위해서는 다양한 프로그래밍 언어를 알아야 합니다.
웹 화면을 작성해 주는 HTML(Hyper Text Mark-up Language), CSS, JAVA SCRIPT, jQuery 등 화면 UI를 위한 개발 언어를 공부해야 합니다.
또한 웹사이트가 데이터베이스와 통신하고 데이터를 화면에 적절히 표시되게 하기 위한 서버 프로그래밍 언어를 공부해야 합니다. 이 언어는 다양한 프로그래밍 언어중에 한 종류를 선택해서 개발 할 수 있습니다.
스스로 웹 페이지를 개발하고 서비스를 해본다면 웹 환경에 대한 이해를 더 잘 하게 될 것입니다. 이런 지식은 그 어떤 소프트웨어를 개발한다 하더라도 꼭 필요한 지식 입니다.

모바일 프로그래밍

아이폰의 출시와 앱스토어의 대중화는 우리가 모바일폰을 공장에서 제공해 주는 기능만 쓰게 하는 것이 아니라 사용자가 원하는 서비스를 골라서 쓸 수 있게 만들어 주었습니다.
그리고 개발자들도 모바일 어플리케이션을 많이 개발하기 시작했고, 지금은 웹 프로그래밍과 모바일 프로그래밍을 따로 분리해서 생각할 수 없을 정도로 대중화 되었습니다.
대표적으로 애플의 iOS 기반의 SWIFT 프로그래밍 언어를 사용해서 iOS용 앱을 개발할 수 있으며, 안드로이드는 JAVA라는 언어를 사용해서 안드로이드용 앱을 개발 할 수 있습니다.

인공지능(AI), VR(가상현실), AR(증강현실), IoT(사물 인터넷)

최근 4차 산업혁명 이야기가 나오면서 위의 단어들을 많이 들어 보셨을 겁니다.
우리가 지금 인터넷과 모바일을 너무나도 당연히 받아들이고 사용하는 것처럼, 위의 기술들은 현재 상용화 되고 있고 앞으로 우리가 더 자주 접하며 받아들이게 될 것입니다.
이 기술들의 기본이 되는 것은 소프트웨어 입니다. 즉 소프트웨어의 발전이 인공지능, 가상현실, 사물 인터넷 등을 가능하게 할 것입니다.
그리고 그 소프트웨어는 바로 코드로 이루어져 있습니다. 프로그래밍 언어로 된 코드 말이죠. 이 코드를 보고 이해할 줄 알고 또 작성하고 만들어 낼 줄 안다면 마법과 같은 도구를 얻게 되는 것입니다.