Computational Computing220.149.117.26/teaching/thinking/CT-what.pdf · 2015-07-25 ·...

Post on 18-Mar-2020

1 views 0 download

Transcript of Computational Computing220.149.117.26/teaching/thinking/CT-what.pdf · 2015-07-25 ·...

Computational Computing

컴퓨팅 사고

cmyang@cje.ac.kr

Computational Thinking

Computer Science

• Computer science is the scientific and practical approach to computation and its applications.

• It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical procedures (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information.

7

cmyang@cje.ac.kr

Computational Thinking

Computer Science

• An alternate, more succinct definition of computer science is the study of automating algorithmic processes that scale.

• A computer scientist specializes in the theory of computation and the design of computational systems.

8

cmyang@cje.ac.kr

Computational Thinking

Computing

• Computing is any goal-oriented activity requiring, benefiting from, or creating algorithmic processes e.g. through computers.

9

cmyang@cje.ac.kr

Computational Thinking

Computing

• Computing includes

• designing, developing and building hardware and software systems;

• processing, structuring, and managing various kinds of information;

10

cmyang@cje.ac.kr

Computational Thinking

Computing

• Computing includes

• doing scientific research on and with computers;

• making computer systems behave intelligently;

• and creating and using communications and entertainment media.

11

cmyang@cje.ac.kr

Computational Thinking

Calculation vs Computation

• 셈(calculation)

• 숫자와 관련된 처리작업

• 간단히 처리할 수 있는 단순 작업

• 계산(computation)

• 숫자 여부에 상관없이 규칙에 따라 행해지는 것

• 보다 복잡한 작업에 수반되는 처리 과정

• 셈들의 조합으로도 볼 수 있음12

cmyang@cje.ac.kr

Computational Thinking

Computation & Problem Solving

• 문제(problems)

• 초기 상태와 목표 상태 사이에 장애가 있는 거리

• 문제해결(problem solving)

• 주어진 문제의 장애를 극복하고 적절한 통로를 찾아 초기 상태에서 목표 상태로 이동해 이들 사이의 거리를 없애는 과정

13

cmyang@cje.ac.kr

Computational Thinking

Computation & Problem Solving

• 공통점 - 초기 상태에서 목표 상태로의 상태 변환 과정

• 계산 - 변환과정에 집중

• 문제해결 - 거리를 없애는데 집중

• 문제는 계산을 통하여 해결

• 계산은 문제해결을 위하여 계획, 실행

14

cmyang@cje.ac.kr

Computational Thinking

Computation & Problem Solving

• 문제 사례(problem instance)

• 집에서 학교까지의 지름길 찾기, 병원에서 공원까지의 지름길 찾기

• 28의 약수 찾기, 16의 약수 찾기

• 문제• 지름길 찾기 문제

• 약수 찾기

15

cmyang@cje.ac.kr

Computational Thinking

Problem Solving & Algorithms

• 문제를 해결한다는 것은 해당 문제 유형에 속한 문제 사례에 모두 적용할 수 있는 계산 규칙을 찾는 것

• 알고리즘(algorithm)

• 어떤 과제나 처리 작업 혹은 문제 해결 작업을 성취하기 위한 절차

• 관련 계산에 대한 논리적 전개 규칙을 규정

• 특정 순서로 적용될 연산의 나열로 표현

16

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• What is Computational thinking?

• a fundamental analytical skill that everyone, not just computer scientists, can use to help solve problems, design systems and understand human behavior that draws on concepts fundamental to computing - Jeanette M. Wing

17

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• What is Computational thinking?

• The thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent - Jeanette M. Wing

18

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• What is Computational thinking?

• the ability to interpret the world as algorithmically controlled conversions of inputs to outputs” (Denning, 2009, p. 30)

• integrating the power of human thinking with the capabilities of computers(Phillips, 2007, p. 8)

19

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• What is Computational thinking?

• problem solving method that uses computer science techniques - Wikipedia

• computational thinking as critical thinking ideas combined with the power of computing - ITSE

20

cmyang@cje.ac.kr

Computational Thinking 21

Computational Thinking

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

22

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• 정보과학(컴퓨터과학)을 전공하거나 연구하는 사람들이 습관적으로 적용하는 사고의 틀

• 상황 속에 내재된 상태 변화 과정을 ‘계산’의 기본 요소와 결부시켜 접근하는 사고 활동

23

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• 정보과학(컴퓨터과학)을 전공하거나 연구하는 사람들이 습관적으로 적용하는 사고의 틀

• 상황 속에 내재된 상태 변화 과정들을 ‘계산’의 기본 요소와 결부시켜 접근하는 사고 활동

• 모든 현상을 모두 상태의 변환 과정, 즉 ‘정보처리 과정’ 혹은 ‘계산’이라는 관점으로 바라본다.

• 문제해결 방법 즉, ‘현재 상태’에서 ‘목표 상태’에 이르는 과정을 ‘계산’으로 간주

24

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• Why Computational thinking?

• computational thinking as being defined as the “set of computer science skills essential to virtually every person in a technological society” - Cooper, Perez & Rainey (2010)

25

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking

• Why Computational thinking?

• Wing outlines the benefits of computational thinking, which she calls “the new literacy of the 21st century” (Wing, 2010, p. 3).

• The benefits include the ability to determine the components of a problem that are compatible with available computational tools and techniques, and the ability to recognize opportunities to use computation in new ways.

26

cmyang@cje.ac.kr

Computational Thinking

21st Century Fluency Project

• Problem Solving

• Creativity

• Analytical Thinking

• Collaboration

• Communication

• Ethics, Action, Accountability

27

cmyang@cje.ac.kr

Computational Thinking

21st Century Fluency Project

• Problem Solving

• Creativity

• Analytical Thinking

• Collaboration

• Communication

• Ethics, Action, Accountability

28

the����������� ������������������  ability����������� ������������������  to����������� ������������������  visualize,����������� ������������������  articulate,����������� ������������������  and����������� ������������������  solve����������� ������������������  both����������� ������������������  complex����������� ������������������  and����������� ������������������  uncomplicated����������� ������������������  problems����������� ������������������  and����������� ������������������  concepts����������� ������������������  and����������� ������������������  make����������� ������������������  decisions����������� ������������������  that����������� ������������������  are����������� ������������������  sensible����������� ������������������  and����������� ������������������  based����������� ������������������  on����������� ������������������  available����������� ������������������  information.����������� ������������������  Such����������� ������������������  skills����������� ������������������  include����������� ������������������  demonstration����������� ������������������  of����������� ������������������  the����������� ������������������  ability����������� ������������������  to����������� ������������������  apply����������� ������������������  logical����������� ������������������  thinking����������� ������������������  to����������� ������������������  gathering����������� ������������������  and����������� ������������������  analyzing����������� ������������������  information,����������� ������������������  designing����������� ������������������  and����������� ������������������  testing����������� ������������������  solutions����������� ������������������  to����������� ������������������  problems,����������� ������������������  and����������� ������������������  formulating����������� ������������������  plans.

cmyang@cje.ac.kr

소프트웨어교육/코딩교육

Computational Thinking

• 모든 사람들이 의식적이던 무의식적이던 일상 속에서 계산적 사고를 한다.

• 다만 적용할 수 있는 계산적 사고의 체계성과 정교성의 차이가 존재

29

cmyang@cje.ac.kr

소프트웨어교육/코딩교육

Computational Thinking

• 정보과학의 원리와 주요 개념, 방법론을 깊이 이해하고 다루게 되면

• 컴퓨팅 사고의 폭과 깊이가 더해지고,

• 체계성과 정교성이 높아진다.

30

cmyang@cje.ac.kr

소프트웨어교육/코딩교육

Computational Thinking

• 예• 아이가 학교에 갈 때 필요한 물건을 가방에 넣는다.

• 아이가 학교에서 돌아오는 길에 장갑을 잃어버렸다.

• 아이가 스키장에 처음 갈 때 스키를 새로 사줄 것인지 렌트해 줄지 결정해야 한다.

• 대형마트에서 물건 값을 계산을 할 때 어느 계산대에서 기다릴지 결정해야 한다.

31

cmyang@cje.ac.kr

소프트웨어교육/코딩교육

Computational Thinking

• 예• 정전이 되어도 전화는 계속 작동하는 이유가 궁금하다.

• 동전이 귀찮다. 가능한 동전이나 지폐의 수가 적게 거스름돈을 받도록 지불해야 한다.

32

cmyang@cje.ac.kr

소프트웨어교육/코딩교육

소프트웨어 교육과 Computational Thinking

• 영국의 컴퓨팅 과목의 교육목표는 ‘컴퓨팅적 표현방식으로 문제를 분석하고 이러한 문제를 해결 하기 위해 컴퓨터 프로그램을 기술하는 실제적 경험을 반복해 본다’라고 설정하고 있다.

• 미국의 CSTA에서 발표한 컴퓨터 과학 교육과정에서는 단계별로 CT 역량을 길러주는 목표에 초점을 맞추고 있다. AP 코스에서 발표한 교과 내용에서도 Computational Thinking Practices를 소개하고 있다.

33

Computational����������� ������������������  ����������� ������������������  Thinking

21th����������� ������������������  Century����������� ������������������  ����������� ������������������  Core����������� ������������������  Skills

Software����������� ������������������  ����������� ������������������  Education

Fundamental����������� ������������������  Concepts

Algorithms

Problem����������� ������������������  SolvingAlgorithms Coding

Physical����������� ������������������  Computing

Unplugged����������� ������������������  Activities

Automation

Programming����������� ������������������  Concepts

MakingDesign

CreativityCritical����������� ������������������  Thinking

Pattern����������� ������������������  Recognization

Pattern����������� ������������������  Generalization����������� ������������������  &����������� ������������������  Abstraction

Decomposition

Collaboration Communication

Play

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Software Education

21th Century Core Skills

Computational Thinking

Unplugged Activities Coding Physical Computing

Software Education

21th Century Core Skills

Computational Thinking

cmyang@cje.ac.kr

Computational Thinking

Computational Thinking 개발 도구

• Computer Science Unplugged

43

cmyang@cje.ac.kr

Computational Thinking

• Cool Coding Apps and Websites for Kids

• Education Apps: Apps for Coding on Tablets

44

Computational Thinking 개발 도구

cmyang@cje.ac.kr

Computational Thinking

• Physical Computing

• building interactive physical systems by the use of software and hardware that can sense and respond to the analog world.

45

Computational Thinking 개발 도구

cmyang@cje.ac.kr

Computational Thinking

• Physical Computing

• Arduino

• Raspberry Pi

• BeagleBone

• Makey

• Pico Board

• HummingBird Robotics Kit

46

Computational Thinking 개발 도구

cmyang@cje.ac.kr

Computational Thinking

• Developing Computational Thinking

• Computing Science in Primary Education Phil Bagge

• Introduction to computational thinking, BBC

• Computational Thinking for Educators, Google

• http://www.slideshare.net/StrategicITbyPFH/computational-thing-a-4-step-process

47