중앙대학교 경영경제대학 박찬균 교수
컴퓨팅 사고
2
컴퓨팅 사고(CT, Computational Thinking)
1980년, 미국의 시모어 페퍼트 교수가 처음 사용
정답이 정해지지 않은 문제를 논리적으로 풀어가는 과정 또는 방법
정답이 정해지지 않은 문제(Open-ended Problem)는 다양한 변수에 기반한 포괄적이며 유의미한 해답 도출 필요
3
2006년 카네기 멜론 대학의 Wing 교수
Computational Thinking 의 정의
Computational Thinking 의 정의
• 컴퓨팅사고력:
복잡한 문제를 순서대로 해결하기 위해 생각하고, 이를 위해 컴퓨터의 기능을 활용하여 문제를 해결해 나가는 사고.
해결하려는 문제를 절차적으로 사고하고, 이를 위해 컴퓨팅 시스템 역량을 활 용하여 문제를 해결해 나가는 과정.
컴퓨팅 시스템 역량을 활용하여 해결하고자 하는 문제를 효과적으로 해결할 수 있는 절차적 사고 능력
출처 : 이영준(2014). 초중등 단계 Computational Thinking 도입을 위한 기초연구. 한국과학창의재단
컴퓨팅 사고(CT, Computational Thinking)
추상화와 자동화로 분류 (미국의 컴퓨터과학 교사협회)
6
추상화
복잡하게 얽혀 있는 문제를 구조화하고 해결 가능한 상태로 만드는 것
자료를 수집하고 큰 문제를 작은 문제들로 분해
문제를 구조화 하고 추상화하여 보다 간결한 상태로 만듬
자동화
추상화된 문제를 컴퓨터의 언어로 바꾸는 과정
알고리즘을 도출해 문제를 보다 쉽게 해결할 수 있게 됨
디지털 시대에 필요한 창의적 사고력과 문제해결 능력 등을 기를 수 있음
7
컴퓨팅 사고(CT, Computational Thinking)
8
Computational Thinking 의 하위요소
• 컴퓨팅사고력의 하위요소:
출처 : 김병수(2014). 계산적 사고력 신장을 위한 PPS기반 프로그래밍 교육 프로그램. 제주대학교 박사학위 논문.
컴퓨팅 사고에 의한 문제 해결
컴퓨터 분야를 전공하는 사람들에게만 국한된 사고방식이 아님
인문, 사회, 자연, 공학, 예술, 의약학, 농수해양, 예술 체육 등의 |분야를 넘 어 실생활의 문제에도 적용 가능
문제가 발생했을 때,
문제 파악
구조화
적절한 알고리즘 도입
위와 같이 단계별로 문제를 해결해 나감
⇨ 컴퓨팅 사고에 의한 문제 해결
9
10
Computational Thinking 의 하위요소
• 컴퓨팅사고력의 하위요소:
출처 : 이영준(2014). 초중등 단계 Computational Thinking 도입을 위한 기초연구. 한국과학창의재단.
Computational Thinking 컴퓨팅 사고력
자료수집 Data Collection
자료분석 Data Analysis
자료표현 Data Representation
문제분해 Problem Decomposition
알고리즘 및 자동화
Automation 시뮬레이션 Simulation
병렬화 Parallelization
자료 수집 Data Collection
적절한 자료를 수집하는 과정
자료 분석 Data Analysis
자료의 의미를 이해하고, 패턴을 찾으 며, 결론을 도출해냄
자료 표현 Data
Representation
자료를 적절한 그래프, 차트, 글, 그림 등으로 도식화하고 조직화함
11
출처 : 이영준(2014). 초중등 단계 Computational Thinking 도입을 위한 기초연구. 한국과학창의재단.
Computational Thinking 컴퓨팅 사고력
문제분해 Problem Decomposition
추상화 Abstraction
알고리즘 및 절차 Algorithms &
Procedures
자동화 Automation 자료표현
Data Representation
문제 분해 Problem Decomposition
문제를 해결 가능한 수준의 작은 문제 로 나눔
추상화 Abstraction
문제 해결을 위해 반드시 필요한 핵심 요소를 파악하고, 복잡함을 단순화함
알고리즘 및 절차
Algorithms &
Procedures
문 제 를 해 결 하 거 나 어 떤 결 과 를 이루기 위해 일련의 절차화된 순서를 취함
• 컴퓨팅사고력의 하위요소:
Computational Thinking 의 하위요소
12
출처 : 이영준(2014). 초중등 단계 Computational Thinking 도입을 위한 기초연구. 한국과학창의재단.
Computational Thinking 컴퓨팅 사고력
자동화 Automation
시뮬레이션 Simulation
병렬화 Parallelization
자료수집 알고리즘 및
절차 Algorithms &
Procedures
자동화 Automation
반복적이고 지루한 작업을 실행하기 위 해 컴퓨터나 기계를 활용함
시뮬레이션 Simulation
하나의 절차를 표현하거나 모델화함.
시뮬레이션은 모델을 활용한 실험을 실 행하는 것을 포함함
병렬화 Parallelization
공통의 목표에 도달하기 위해 과업들을 동시해 실행하도록 자원을 조직함
• 컴퓨팅사고력의 하위요소:
Computational Thinking 의 하위요소
추상화
• 수학에서의 추상화: 어떤 것을 양적인 속성 만 남기고 다른 것은 고려 하지 않는다는 것
• 언어에서의 추상화: 공통 속성을 추려내어 사회적으로 약속하는 것
이렇게 생긴 것을 ‘개’라고
부르자고 약속하자. – 언어 추상화 세 사진의 공통점은 1 다른 속성은 고려하지 않는다. – 수학 추상화
Computational Thinking 의 하위요소
14
추상화
• Computational Thinking에서의 추상화
핵심만 남기고 쓸데 없는 것은 없애는 것.
Computational Thinking 의 하위요소
추상화: 단순화 라면 끓이는 방법을 구구절절 나타내지 않고 꼭 필 요한 핵심만 표현함.
Computational Thinking 의 하위요소
16
Computational Thinking 의 하위요소
자동화:
프로그래밍
추상화시킨 문제해결의 핵심을 컴퓨팅시스템을 활용하여 문제
를 해결해 나가는 과정
Computational Thinking 의 하위요소
자동화: 프로그래밍
18