Computational thinking
문제 해결 방안을 고려할 때는 컴퓨터의 입장에서 문제를 바라봐야 한다.
논리적, 수학적 사고가 필요하며,
해결 과제를 작은 단위로 분해하고 패턴화해서 추출하며,
프로그래밍 내에서 사용될 모든 개념은 평가 가능하도록 정의해야 한다.
machine code
명령을 수행할 주체인 컴퓨터에게 컴퓨터가 이해할 수 있는 언어인 기계어로 명령을 전달해야 한다.
기계어는 비트 단위로 기술되어 있어 사람이 기계어로 직접 명령을 전달하는 것은 어렵다.
대안으로, 사람이 이해할 수 있는 약속된 구문(syntax; 문법으)로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한다.
컴퓨터와의 대화에 사용되는 일종의 표현 수단으로, 사람과 컴퓨터(컴파일러 또는 인터프리터) 모두가 이해할 수 있는 약속된 형태의 인공어
인공어
conlang; contructed language
자연적으로 생성된 자연어와 달리 한 사람이나 여러 사람의 의도와 목적에 따라 만든 언어
compiler / interpreter