: 컴퓨터에게 실행을 요구하는 커뮤니케이션을 의미한다. 컴퓨터에게 실행을 요구하기에 앞서 문제를 명확히 이해하고 적절한 해결 방안을 정의하는것이 필요하다. 이때 요구되는 것이 문제 해결 능력이다.
문제 해결 능력이란 문제를 명확히 이해하고 복잡함을 단순하게 분해하고 자료를 정리하고 구분해야 하며 순서에 맞게 행위를 배열해야 한다. 즉 코드를 통해 정확하고 상세하게 요구사항을 설명한는 작업이다.
이때 필요한 것이 computational thinking이다.
이와 같이 문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 한다. 이때 명령을 수행할 주체는 컴퓨터이기에 컴퓨터가 이해할 수 있는 언어, 기계어(Machine code)로 명령을 전달해야 한다.
직접 기께어로 명령을 전달하는 대신 인간이 이해할 수 있는 약속된 구문(Syntax,문법) 으로 구성된 프로그래밍 언어를 사용하여 프로그램을 작성한 후, 기계어로 변환해 주는 변역기(컴파일러 혹은 인터프리터)를 이용한다.
프로그래밍은 프로그래밍 언어를 사용하여 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 프로그래밍 언어는 Syntax(구문)와 Semantics(의미)의 조합으로 표현된다.