코딩

컴퓨터 프로그래밍에서 코드를 작성하는 것. 내용은 프로그래밍 항목참조

교육과목

위의 프로그래밍을 통해서 일반적 문제해결 능력을 기르고자하는 새로운 교육과정. 하지만 직업적 프로그래머 양성을 목표로 C언어 등을 가르치는 전문계 특성화고등학교에서 배우고 대학수학능력시험직업탐구 영역의 하나인 프로그래밍 과목과는 다르다. 2018년부터 초중 고등학교의 정규 교육과정으로 도입될 예정이다.

마치 수학(교과)을 가르쳐서 수리적인 사고능력을 기르거나 체육/음악/미술 교과를 통해 신체를 단련하거나 예술적 교양을 기르는 것과 비슷한 취지의 교육이다. 초중고 수학교육이 사회에서 수학을 직접 활용하는게 목표가 아니고 체육/음악/미술 교육도 운동선수나 예술가 양성이 목적이 아니듯이 코딩 교육도 프로그래밍/코딩 기술 습득 자체나 프로그래머 양성이 교육의 목표가 아니다. [1] 그보다는 논리적이고 조직적인 사고방식, 복잡한 문제를 분석해서 이를 명확하게 이해하는 능력, 큰 문제를 간단한 여러 문제로 분할하여 추상화하는 능력, 문제를 순차적 기계적으로 이를 해결하는 능력, 수치와 판단을 기반해 문제를 해결하는 방법, 작은 부분을 조합해서 크고 복잡한 기능을 만드는 능력 등등, 한마디로 말하면 "복잡함(Complexity)"를 다루는 능력을 기르는 것을 목표로 한다. 어쩌면 어린이들의 레고 블록 놀이나 비슷하기도 하다.

코딩 교육에서 널리 쓰이는 컴퓨터 프로그래밍 언어는 보통 아주 간단하고 쉽게 쓸 수 있으면서도 간단한 기본요소 들을 가지고 조합과 응용으로 복잡한 문제도 탐구적으로 시행착오를 통해 문제를 점차 해결하는 데 적합한 언어가 쓰인다. 과거에는 LOGO 언어라든지 BASIC 언어 등이 쓰였고 현대에는 Scratch, Python, Scheme, MATLAB 언어등이 자주 쓰이는 편이다. 거대하고 복잡한 라이브러리 활용이나 그런 라이브러리를 제작하는 능력에 중점을 두는 현대의 직업적 프로그래밍 언어와는 많이 다르다.
  1. 그래서 수학은 배우는데 어렵기만하고 사회에서는 필요없는 공부라고 욕을 먹지만 그건 체조나 마찬가지. 초중고 수학교육의 목적은 수학적 사고능력 배양이 목표다.