티스토리 뷰

코딩 교육은 왜 생겼을까요?

그리고 코딩이 뭔가요?

코딩 교육은 4차 산업 시대에 정보와 지식이 중요해짐에 따라 컴퓨터 사고력(Computational Thinking)을 증진 시키고자 생겨났다는 내용의 글을 올린 적이 있습니다.

공부를 함에 있어서 공부 방법을 아는 사람과 모르는 사람과의 시간적 효율성이 다릅니다.

이제 4차 산업에서 많은 정보와 지식들을 다루려면 컴퓨터 사고력은 필수가 될 것이고, 그 사고력을 더 잘 활용하는 사람의 시간적 효율은 높을 것입니다.

초등학생부터 그런 사고력을 증진시키기 위한 코딩 교육들이 실시된다고 하니, 다행이 아닐수 없습니다.

 

그럼 지금부터 코딩이란 무엇인지 알아볼까요? 사전에선 코딩을 어떻게 정의하는지 찾아보았습니다.

[천재학습백과] 알고리즘을 컴퓨터가 이해할 수 있는 언어로 바꾸어 컴퓨터에 입력하는 작업. 즉, 코딩이란 주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것을 말합니다.

[표준국어대사전] 작업의 흐름에 따라 프로그램 언어의 명령문을 써서 프로그램을 작성하는 일. 프로그램의 코드를 작성하는 일.

 

코딩이란[ⓒ사진 pixabay]

 

아직은 이해하기 어려운가요?

그럼 집에서 어린 아이에게 심부름을 시킨다고 가정해 봅시다.

아이가 이해하기 쉽고 헷갈리지 않도록 최대한 간략하고 정확하게 알려줄 것입니다.

예를 들면, "지금 안방에 화장대 위에 있는 휴지 한 장만 가져다 줄래?" 또는 "점심을 다 먹고 나면, 너가 먹은 그릇은 싱크대에 직접 넣어줄래?" 등의 말로요. 

 

컴퓨터도 동일합니다.

기기 또는 퓨터가 어떠한 작업을 실행하거나 진행할 수 있도록 명확하고 구체적인 지시사항들을 컴퓨터의 언어로 전달(입력)해야 합니다. 그러한 작업을 코딩이라고 하고요.

 

이제 코딩에 대한 감이 오시나요?

그럼 코딩을 통한 시스템들을 살펴볼까요?

 

코딩이란-엘리베이터[ⓒ사진 pixabay]

 

요즘 신축 건물에는 엘리베이터가 필수다시피 있죠.

10이라는 버튼을 누르면 10층으로 이동을 하고, 열림 버튼을 누르면 문이 계속 열려있고, 닫힘 버튼을 누르면 닫힙니다.

개발자가 층 버튼을 누르면 각 층에 따른 위치로 이동하도록 코딩을 해놓았기 때문이죠.

또한 원하는 층수에 도착하면 문이 열리도록, 열림 버튼을 누르면 문이 닫히지 않도록, 

아무런 버튼을 누르지 않으면 3초 뒤에 자동으로 닫힌 후 이동하도록, 닫힘 버튼을 누르면 닫히도록요.

또한 엘리베이터에 센서를 달아, 닫히고 있지만 누군가 급하게 들어오는 바람에 센서가 작동된다면,

자동으로 문을 열게 만들도록 코딩을 해놓아, 혹여나의 사고를 막죠. 

 

 

개발자가 코딩을 해주기 전에는 엘리베이터는 단순히 하나의 기계에 지나지 않았지만,

개발자가 어떻게 작동 할 지에 대해 명확하고 체계적으로 미리 입력을 해놓는 코딩을 해놓음으로써,

우리가 사용하는 엘리베이터로써의 역할을 다하고 있는 거겠죠.

 

요즘은 코딩과 기기의 결합이 다양해지면서, 인공지능 에어컨, 인공지능 스피커, 인공지능 로봇 등 새로운 인공지능 기기들이 나오고 있습니다. (참고로 인공 지능이란, 인간의 지능이 가지는 학습, 추리, 적응, 논증 따위의 기능을 갖춘 컴퓨터 시스템입니다. - 표준국어대사전참조)

이렇게 코딩을 통하여 실생활이나 업무에 많은 편리함을 가져다 줄 수 있습니다.

 

코딩이란-인공지능 에어컨[ⓒ사진 LG전자]

 

그럼 다시 코딩인가는 무엇인가로 돌아가서, 다시 정의를 살펴 봅시다.

[천재학습백과] 알고리즘을 컴퓨터가 이해할 수 있는 언어로 바꾸어 컴퓨터에 입력하는 작업. 즉, 코딩이란 주어진 명령을 컴퓨터가 이해할 수 있는 언어로 입력하는 것을 말합니다.

 

알고리즘이란 단어가 생소하시나요?

알고리즘이란 어떠한 문제의 해결을 위하여 일정한 규칙이나 방법, 절차 따위를 모아둔 것이라 이해하시면 될것 같습니다.

예를 들어 게임을 할때 단계별로 어떻게 해야 깰수 있는지에 대한 방법도 알고리즘이라 수 있고요,

큐브를 맞추는 것도 일련의 규칙이 있고, 그것을 알고리즘이라 할 수 있습니다.

라면을 끓일때 물의 양은 얼만큼인지, 몇분을 끓여야 하는지, 면과 스프는 언제 넣어야 하는지 등에 대한 절차들도 알고리즘이라고 할 수 있습니다.

 

코딩이란-게임[ⓒ사진 pixabay]코딩이란-큐브[ⓒ사진 pixabay]

 

코딩과 연관된 알고리즘이라면, 자동차 네이게이션의 경로 탐색이 대표적인 예 중 하나가 아닐까 싶습니다.
현재 위치에서 가려고 하는 위치까지의 가장 최단 경로나 최단 시간으로 탐색을 하는거죠.
지도 상의 도로를 기준으로, 거리와 교통 체증 등의 데이터들을 토대로 개발자의 코딩을 통하여 최단 경로/시간을 계산하고 찾아서 사용자에게 추천하는 겁니다.

그 최단 경로와 시간을 계산하는 방법이 알고리즘이지요.

 

[표준국어대사전] 작업의 흐름에 따라 프로그램 언어의 명령문을 써서 프로그램을 작성하는 일. 프로그램의 코드를 작성하는 일.

 

여기서 작업의 흐름이라는 것은 위에서 말했던 알고리즘을 뜻하고, 프로그램 언어의 명령문이 컴퓨터 언어라고 보시면 됩니다. 프로그램을 작성하는 일은 컴퓨터가 작업을 실행 할수 있도록 입력 하는 것이고요.

 

즉, 기기 또는 컴퓨터가 어떠한 작업을 실행하거나 진행할 수 있도록, 명확하고 구체적인 지시사항들을 컴퓨터의 언어로 전달(입력)하는 작업을 코딩이라고 합니다. 컴퓨터에게 대화를 시도하는 하나의 언어나 도구, 수단이기도 하고요.

 

지금까지 코딩이란 무엇인지에 대해 알아보았습니다.

 

이렇게 글을 쓰다보니 코딩이란 사람의 생활을 편리하고 효율적으로 만들어주는 것이라고 적었죠.

그리고 전에는 코딩 교육의 중요성에 대해 적었고요.

 

하지만 코딩수업, 코딩이란 단어에 집중되어,

코딩을 하는 것 만이 컴퓨터 사고력을 향상 시킨다라는 오해를 하실까봐 노파심에 미리 적습니다.

학부모분들께서 코딩과 코딩 교육에 대해서만 알아보시고, 코딩과 관련된 학원에 보내실까 염려되어 적습니다.

 

코딩은 중요한게 아닙니다. 컴퓨터 사고력이 중요한겁니다.

코딩 실력을 키워야 하는게 아니라, 컴퓨터 사고력을 키워야 하는 거고요.

글이 길어져, 이에 대해선 다음 글에서 다루어야 겠습니다.

 

누가 읽어주실진 모르겠지만, 누군가에겐 도움이 되길 바라며 오늘은 이만 접습니다.

댓글