프로그래밍 요구사항의 집합을 분석하여 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것이다. 정확하고 상세하게 요구사항을 설명하는 작업 결과물 >> 코드 프로그래밍 언어 구문(syntax)과 의미(semantics)의 조합으로 표현 됨 번역기 >> 컴파일러, 인터프리터