Computational thinking이란 어떤 복잡한 문제가 있을 때 이를 이해하고 해결 방안을 마련하는 방법입니다. 이 해결 방법은 사람 혹은 컴퓨터, 혹은 둘 다 이해할 수 있는 방법으로 제시할 수 있습니다.
Computational thinking은 네 가지 단계로 구성됩니다: 분해 (decomposition), 유형 인식 (pattern recognition), 추상화 (abstraction), 알고리즘 (algorithms).
l 분해 (decomposition) - 복잡한 문제 혹은 시스템을 다룰 수 있는 보다 작은 단위로 나누는 과정입니다 (breaking down a complex problem or system into smaller, more manageable parts)
l 유형 인식 (pattern recognition) – 분해된 문제들 사이에서 유사점을 찾아냅니다 looking for similarities among and within problems. 문제 해결 방법에 어떤 공통된 원리가 있는지 찾아보는 것입니다.
l 추상화 (abstraction) – 문제 혹은 해결 방법에서 관련성이 없는 세세한 것들을 무시하고 중요한 정보에만 집중하는 것입니다 (focusing on the important information only, ignoring irrelevant detail).
l 알고리즘 (algorithms) - 문제를 해결하기 위한 방법을 단계적으로 개발하는 것입니다. 혹은 문제를 해결하기 위해 지켜야 할 규칙을 단계적으로 기술하는 것입니다 (developing a step-by-step solution to the problem, or the rules to follow to solve the problem)
[그림 출처: BBC, Introduction to computational thinking, https://www.bbc.com/education/topics/z7tp34j]
*** 참고 자료
[1] BBC, Computational Thinking, 2018.
[2] 경인교대, 초등소프트웨어 교육 기초, 2017. http://www.kocw.net
[3] Betul Czerkawski and Eugene W Lyman, "Exploring Issues About Computational Thinking in Higher Education," TechTrends, Mar. 2015.
[4] Jeannette M. Wing, "Computational Thinking," Communications of the ACM, vol. 49, no. 3, Mar. 2006.