이미 다른 언어를 배운 적이 있으시거나 컴퓨터 과학/공학에 대해 배운 적 있는 분은 넘어가셔도 좋습니다.
프로그램이라는 단어를 정말 많이 들어보셨을 겁니다. 프로그램이란 특정 목적을 위해 컴퓨터에 내리는 명령의 집합입니다. 에어컨의 온도 조절 프로그램, 채팅 프로그램의 단체 채팅 기능 등 그 종류는 프로그램의 목적에 따라 매우 다양하여 현재 우리 일상에서 프로그램이 없는 곳은 찾아보기 힘들 정도입니다. 이러한 프로그램을 만드는 행위를 프로그래밍, 또는 간단히 개발이라고 이야기합니다. 그렇다면 프로그래머는 프로그래밍하는, 즉 프로그램을 만드는 사람을 지칭하겠죠? 본래 컴퓨터공학은 프로그래머라 불리는 전문가 집단의 전유물이었지만 점점 다양한 스마트 디바이스의 발전과 더불어 그 디바이스와 함께 사용할 수 있는 여러 가지 프로그램이 등장했고, 모든 것이 프로그램화되는 시대가 오면서 프로그래밍에 대한 관심이 일반인에게까지 전파되었습니다. 최근 들어 전공자가 아니더라도 프로그래밍 학습의 중요성이 대두되며 초등, 중등에서 코딩 교육이 의무화되었고 일반인도 쉽게 다양한 코딩 교육 활동을 접할 수 있게 되었습니다.
그러면 왜 프로그래밍 교육보다 코딩 교육이라는 말을 사용할까요? 코딩은 컴퓨터 언어로 작성하는 논리적인 글인 '코드'를 작성하는 과정을 의미합니다. 프로그램을 사용하는 것은 사람이지만 프로그램에 대해 이해하고 실행하는 주체는 기계(주로 컴퓨터)이기 때문에 기계가 이해하기 쉬운 컴퓨터 언어로 작성해야 합니다. 그러기 위해서는 컴퓨터 언어에 대한 이해와 기계의 사고방식(처리 방식)에 대한 이해가 필수이기에, 수많은 기계를 다루며 살아가야 할 사람들이 코딩을 배워야 한다고 이야기합니다. (미국에서 생활할 때 영어를 할 줄 알면 훨씬 편한 것처럼!) 즉, 덧붙여 정리하면 코딩교육은 '컴퓨터의 논리를 이해하고 대화하는 방법을 배우는 교육'이라면 프로그래밍 교육은 '컴퓨터의 논리를 이해하며 대화함을 넘어 좀 더 효율적인 논리체계, 대화 방법을 찾고 발전시키기 위한 교육'으로 나눌 수 있습니다. 외국어 교육에 비유하자면 단순한 알파벳, 영문법 및 영어 회화 교육과 영어 스피치 교육의 차이 정도로 생각하시면 됩니다.