프로그래밍 = 컴퓨터와의 커뮤니케이션
⇒ 이때 요구되는 것이 문제 해결 능력이다.
대부분의 문제(요구사항)는 복잡하며 명확하지 않을 수도 있다.
⇒ 프로그래밍이란 기계가 실행할 수 있을 정도로 명확하고 상세하게 요구사항을 설명하는 작업이며 그 결과물이 코드다.

문제 해결 능력을 바탕으로 정의된 문제 해결 방안은 컴퓨터에게 전달되어야 하고, 이때 명령을 컴퓨터에게 전달하기 위해서 기계어가 사용된다.
⇒ ******사람이 이해할 수 있는 프로그래밍 언어를 사용해 프로그램을 작성하고 컴파일러 또는 인터프리터로 번역하여 명령을 전달한다
언어는 자연어와 인공어로 구분된다.
프로그래밍 언어는 구문와 의미의 조합으로 표현된다.