지난 글에서 디자인 프로세스를 통해 디자인하는 과정을 간략하게 설명했다. 디자인 프로세스에 대한 이야기를 하고 난 후 컴퓨팅 사고에 대해 공부하게 되었다. 컴퓨팅 사고에 대해 알게 되니 디자인 프로세스와 많이 닮아있다는 생각이 들었다. 그래서 컴퓨팅 사고에 대해 글을 쓰고 싶었다.
그럼 컴퓨팅 사고가 무엇인지 함께 알아보자.
Computational Thinking이라고 하는 컴퓨팅 사고는 몇 년 전부터 한국에서도 중요하게 떠오르는 코딩 교육의 핵심이라 할 수 있다. 1980년에 시모어 파퍼트 Seymour Paper 교수가 처음 사용했던 이 개념은 2006년 자넷 윙 Jeannette Wing 교수가 ACM 통신 논문 (Communication of the Association for Computing Machinery) (www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf)에서 사용해 부상하기 시작했다.
전 세계 각국에서 강조하고 중요하게 생각하는 개념이며, 현재 한국에서도 이 부분에 대한 다양한 교육 시스템을 만들어 운영하고 있다. 이렇듯 전 세계 각국이 컴퓨팅 사고에 대한 중요성을 인정하고 교육에 적극적으로 활용하고 있다. 그럼 왜 컴퓨팅 사고가 뜨고 있는 것일까?
컴퓨팅 사고란 문제를 정의하고 논리적이고 효율적으로 문제를 해결할 수 있도록 돕는 사고의 과정을 의미한다. 그 사고의 과정은 여러 다양한 분야의 문제들을 해결하기 위해 사용할 수 있다. 그래서 이 부분에 대한 교육이 중요하게 떠오르는 것이다.
물론 컴퓨팅사고만으로 모든 문제를 해결할 수는 없고, 사고에도 다양한 종류가 있다. 기발하고 독특한 아이디어를 적용해야 할 때에는 창의적 사고가 필요하고, 살아가면서 경험하고 학습을 통해 쌓기도 하며, 본능적인 감각을 통한 사고도 있다.
이렇게 다양한 사고들 중에서 컴퓨팅 사고에 집중하는 이유는 문제를 효율적으로 해결할 수 있고, 거의 모든 분야에서 활용될 수 있기 때문이다. 경험과 학습을 통한 사고의 문제점을 보완해주고, 창의적 사고를 위한 토대를 마련해주는 것 등 컴퓨팅 사고는 거의 모든 분야에 활용 가능하다.
컴퓨팅 사고는 연구자나 학자, 혹은 분야에 따라 조금 다른 모습을 하고 있다. 자넷 윙 교수는 주요 구성 요소를 아래 4가지로 요약했다.
미국의 컴퓨터과학 교사협의회 CSTA (Computer Science Teachers Association)는 컴퓨팅 사고를 통한 문제 해결 과정을 이렇게 정리했다.
출처: eric.ed.gov/?id=EJ918910
미국의 컴퓨터과학 교사협의회 CSTA 가 말한 문제 해결 과정들은 아래와 같은 요소로 정리할 수 있다.
컴퓨팅 사고에 다양한 방법론들과 요소들이 나오지만 핵심은 결국 양질의 데이터를 잘 모아, 데이터에 입각하여 분석하고 분석한 데이터를 시각적으로 잘 표현하여 본질적인 문제를 파악하고, 그 문제를 분해하고 분석하여 해결방안을 찾은 후 그 해결방안을 토대로 다른 문제에도 적용될 수 있게 일반화하는 것이다.
디자인 프로세스도 마찬가지이다. 프로젝트에 대한 정보를 수집하고 수집된 정보를 분석하고 분석을 토대로 문제의 핵심을 찾고, 그 문제를 해결을 하기 위한 과정이다. 다만, 디자인 프로세스는 디자인적 관점에서 결과물을 작업한다는 점이 다를 뿐 컴퓨팅 사고와 디자인 프로세스의 본질은 같다.
그래서 디자인을 시작할 때, 컴퓨팅 사고에 대해 먼저 알았다면 어땠을까 하는 생각을 했다. 디자인 프로세스를 제대로 알기 전에 경험으로 부딪히며 디자인 프로세스에 대한 정의를 내리며 프로젝트를 진행해 왔기에 시행착오도 많았다. 물론 컴퓨팅 사고를 알았다고 해도 시행착오가 없었을 거라고 생각하지 않는다. 하지만 더 나은 해결 방법을 찾을 수 있지 않았을까 하는 생각이 들었다.
이런 내 모습은 처음 컴퓨팅 사고라는 말을 들었을 때와는 사뭇 달라진 모습이다.
처음에 코딩 교육이라고 들었을 때는 모든 사람을 프로그래머로 만드는 건가 싶었고, 위 구글 게임을 해보고 난 후에는 이걸 코딩 교육이라고 하는구나 싶어서 신기했다. 그 후에 컴퓨팅 사고라는 단어를 들었을 때는 컴퓨터처럼 사고하라는 건가?라는 생각을 했었다.
하지만 공부하다 보니 그것은 프로그래머가 되기 위한 과정이나, 컴퓨터처럼 사고하는 방법을 배우는 것이 아니라 인간의 상상력의 실현을 위해 컴퓨터를 제대로 잘 사용하기 위함이다. 물리적으로 처리하지 못했던 다양한 문제들을 처리하고 상상만 했던 기능이나 시스템을 구축할 수 있도록 하는 것이다.
Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations - Jennette M. Wing
더 나아가 모든 문제의 해결에 활용하는 것이었다.
알고 나니 컴퓨팅 사고가 중요하게 떠오른 이유가 이해되었다. 그래서 더 미리 알고 적용했다면 더 효율적으로 일을 처리할 수 있는 방법들을 찾을 수 있지 않았을까 하는 생각이 들었다.
그리고 디자인 프로세스를 다시 한번 정리해야겠다 마음먹었다. 내가 정리한 디자인 프로세스에 컴퓨팅 사고를 활용하여 더 효율적인 방안을 찾고 더 탄탄한 프로세스로 정리해보고 싶다는 생각이 들었다. 그동안 타성에 젖어 일을 한 것 같아 마음이 무거웠다.
이 업계에서 얼마나 오래 디자인을 하게 될지 모르겠지만, 열심히 배워야 하는 직업임을 다시 한번 깨달았다.
더 열심히 알아보고 노력해야 한다는 것을 깨닫게 해 주었다.
이미 너무 유명한 컴퓨팅 사고를 통해 효율적으로 문제를 해결할 수 있는 방법을 배우기를 바란다.
Jennette M. Wing
www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
CSTA
Education Paving the way for Computational Thinking
Google for Education
[디자인] 디자인 역사: 비잔틴 Byzantine (0) | 2021.02.04 |
---|---|
[디자인] 디자인의 역사: 왜 디자인 역사를 배워야 하는가? (0) | 2021.01.27 |
[디자인 프로세스] 디자인을 하는 방법에 대하여 (3) | 2020.10.08 |
[게슈탈트] 디자인과 심리학의 관계에 대해 (0) | 2020.10.01 |
디자인 원리 (1) | 2020.09.30 |
댓글 영역