컴퓨팅 사고란? 문제를 해결하기 위한 접근 방법 중 하나입니다.
즉, 문제를 분해하고 어떻게 해결할 것인지 파악하는 것입니다.
컴퓨터가 가장 잘하는 '계산(computation)'을 이용해서 말이죠!
컴퓨팅 사고는 아래 그림과 같이 크게 4가지로 나누어 볼 수 있습니다.
• 첫 번째로 '분해(Decomposing)'입니다.
- 문제를 나누어 각각의 조각을 확인하거나, 어떻게 문제를 나눌지 생각하는 과정입니다.
• 두 번째는 '패턴 파악(Pattern Recognition)'입니다.
- 어떠한 예측을 위해 각각의 조각의 유사한 점과 차이점을 찾아내는 과정입니다.
• 세 번째는 '추상화(abstraction)'입니다.
- 앞에서 찾아낸 패턴들을 만들어낸 원리를 찾아내는 과정입니다.
• 네 번째는 '알고리즘 설계(Algorithm Design)'입니다.
- 이것은 유사한 문제들을 해결하기 위한 절차적인 명령(과정)을 만드는 것입니다.
사람들은 컴퓨터가 필요한 복잡한 문제를 만났을 때, 또는 방대한 양의 데이터를 분석하여 새로운 원리를 찾고자 할 때, 컴퓨팅 사고를 합니다.
그러면 컴퓨터과학(Computer Science)과 컴퓨팅 사고(Computational Thinking)가 혼동될 것입니다.
컴퓨터 과학과 컴퓨팅 사고의 차이는 무엇일까요??
이 둘은 전혀 다릅니다.
'컴퓨터 과학' 은 계산이론과 컴퓨터 응용에 관한 학문 분야이고, 반면에 '컴퓨팅 사고'는 우리가 문제를 정복해나가는 방법입니다.
문제 해결을 위한 큰 그림을 구하기 위한 과정이자, 추상적으로 사고하는 방법이죠.
컴퓨팅 사고는 직업에 관계없이 이용할 수 있습니다.
이 말을 다시 말하자면 누구에게나 필요한 보편적인 기술이며, 그래서 전공이나 나이에 관계없이 컴퓨팅 사고를 배워야 합니다.
문제를 해결하기 위해, 문제를 다양한 크기의 조각들로 쪼개고
각각의 문제를 해결할 수 있는 방법을 찾은 뒤, 최종적으로 각각의 해법을 한 데 모아 문제를 해결합니다.
이를 통해, 누구나 문제를 쉽게 해결할 수 있는 거죠!
출처 : 부스트 코스 CS50 코칭 스터디 2기 https://www.boostcourse.org/cs112
모두를 위한 컴퓨터 과학 (CS50 2019)
부스트코스 무료 강의
www.boostcourse.org
'CS50' 카테고리의 다른 글
아스키코드(ASCII)란? (0) | 2021.02.18 |
---|---|
비트(bit)와 바이트(byte) 란? (0) | 2021.02.11 |
2진법이란? (0) | 2021.02.10 |