검색
색인
컴퓨팅 사고, -思考, Computational Thinking, CT
컴퓨터로 처리할 수 있는 형태로 문제와 해결책을 표현하는 사고 과정.
컴퓨터에게 뭘 해야 할지를 사람이 설명해 주는 것이라고 볼 수 있다.
복잡한 문제를 컴퓨터가 효과적으로 처리할 수 있는 단위로 분해(decomposition), 문제 간 유사성을 찾는 패턴 인(pattern recognition), 문제의 핵심만 추려 복잡한 문제를 단순화하는 추상화(abstraction), 일련의 규칙과 절차에 따라 문제를 해결하는 알고리즘 기법 등을 사용하여 사람과 컴퓨터 모두가 문제를 처리할 수 있는 형태로 표현한다.


1980년에 MIT의 시모어 페퍼트(Seymour Papert) 교수가 처음 사용한 용어이며, 2006년 당시 카네기 멜런 대학교(Carnegie Mellon University)의 교수였던 지넷 윙(Jeannette Wing)이 컴퓨팅 사고를 아동 교육의 필수 요소로 제시하면서 CT 보급의 결정적인 역할을 하였다.
세계 여러 나라의 학교에서 창의력을 위해 컴퓨팅 사고(CT) 교육을 하고 있으며 정의는 국가 또는 학자마다 약간의 차이를 보인다. 미국 컴퓨터 과학 교사 협회(CSTA: Computer Science Teachers Association)는 컴퓨터 사고를 데이터 수집, 데이터 분석, 데이터 표현, 분해, 추상화, 알고리즘 및 프로시저, 자동화, 시뮬레이션 및 병렬화 등을 포함하는 문제 해결 과정으로 설명한다. 즉, 데이터를 모으고 조작하는 ‘데이터 수집/데이터 분석/데이터 표현’, 큰 문제를 작은 문제로 쪼개는 ‘분해’, 문제를 해결하는 데 불필요하거나 너무 상세한 것을 생략하는 ‘추상화’, 문제를 해결하거나 어떤 목표를 달성하기 위해 수행되는 일련의 동작인 ‘알고리즘 및 프로시저’, 컴퓨팅 시스템으로 수행할 수 있는 형태로 해결책을 나타내는 ‘자동화’, 자동화의 결과로써 문제 해결을 위한 모델을 실행시켜 결과를 파악하는 ‘시뮬레이션’, 목표 달성을 위한 작업을 동시에 수행하도록 자원을 구성하는 ‘병렬화’ 등을 주요 특성으로 본다.
영국 컴퓨팅 앳 스쿨(CAS: Computing At School)에서는 컴퓨팅 사고의 주요 특성으로 명확하고 정밀한 사고로 사실을 분석, 검사함으로써 사물을 이해하는 ‘논리적 추론’, 불필요하고 상세한 것을 제거하여 대상물을 좀 더 이해하기 쉽게 만드는 ‘추상화’, 알고리즘이나 프로세스에 대한 해결책이 좋고 목적에 맞는 것임을 보장하는 과정인 ‘평가’, 해결책을 단계적으로 명확하게 정의하는 방법인 ‘알고리즘적 사고’, 대상물을 부품 또는 요소의 관점에서 생각하는 ‘분해’, 비슷한 유형의 문제를 해결하는 데 적용할 수 있는 ‘일반화’ 등을 포함한다.