SW교육 : 문제가 문제로다

Post on 08-Jan-2017

787 views 2 download

Transcript of SW교육 : 문제가 문제로다

소프트웨어교육

OO(이)가 OO(이)로다.

문제가 문제로다.

무엇이 다른가?뭘 다르게 가르치겠다는 거죠?

ComputationalThinking ?

전혀 새로울 것이 없는 개념 아닌가?

The term computational thinking has become popular to refer to the mode of thought that accompanies design and discovery done with computation. This term was originally called algorithmic thinking in the 1960s by Newell, Perlis and Simon, and was widely used in the 1980s as part of the rationale for computational science. To think computationally is to interpret a problem as an information process and then seek to discover an algorithmic solution. It is a very powerful paradigm that has led to several Nobel Prizes.

The Great Principles of Computing

Peter J. Denning

Computatoinal Thinking은1960년대의 Algorithmic Thinking이그 용어의 기원이다.

문제

문제해결 과정에서의

문제, 문제해결, 해결방법에 대해

연구하는 학문

컴퓨터과학

계산, 계산가능성, 계산복잡도

컴퓨터과학

어떤 문제를던져 줄 것인가?

초기상태

목적상태이런 문제

초기상태

목적상태굳이 스크래치, 엔트리로 해야 하나?

초기상태

목적상태Unplugged 활동으로도가능하네.

근데 왜 이걸 하고 있지?

초기상태

목적상태CT의 어떤 부분(사고,전략)인 거지?

초기상태

목적상태내 생활에 어떤 도움?미래에는 다 프로그래머?

• 왜 이걸 하고 있지?

• 컴퓨팅 사고력이랑어떤 관계지?

• 내 생활에 도움이되긴 하는 거야?

• 왜 이걸 하고 있지?

• 컴퓨팅 사고력이랑어떤 관계지?

• 내 생활에 도움이되긴 하는 거야?

CS Unplugged

컴퓨팅 사고력

추상화 자동화

Wing (2006), Computational Thinking

컴퓨팅의 위대한 원리 Peter J. Denning, (2003)

컴퓨팅 사고력

추상화 자동화

Wing (2006), Computational Thinking

자동화 기술만을가르치고 있었던것은 아닐까?

그럴 수 밖에 없는 게

문제 자체가그러한 것.

(자동화)기술 습득을 위해특성화된 문제를골라 제시했던 것.

추상화는

컴퓨팅 사고력의핵심

추상화 자동화

• 왜 이걸 하고 있지?

• 컴퓨팅 사고력이랑어떤 관계지?

• 내 생활에 도움이되긴 하는 거야?

이 수업의 도입에서

문제 제시같은 공간 안에 사람이 많을 수록

바이러스는 정말 빨리 퍼질까?

이 문제의 추상화 단계에서는 ?

1. 계산으로 표현할 수 있나? 문제를 추상화 시킬 수 있나?

2. 해결 가능한 문제인가?

3. 인간의 계산 능력을 활용하는 것이 나은가?

컴퓨팅 머신의 능력을 활용할 것인가?

즉, 도구를 무엇으로 할 것인가?

1. 계산을 표현할 수 있나?

문제를 추상화 시킬 수 있나?

2. 해결 가능한 문제인가?

3. 어떤 도구를 사용하여 문제를 해결할 것인가?

이 문제의 자동화 부분도 언플러그드 활동으로 가능하나,

학생들에게 자신의 해결방법을

컴퓨팅 머신이 해결해 줄 수 있다는 경험을 통해

정확하고 빠른 컴퓨팅 머신의 활용 효과를

감각적으로 체득하게 할 필요가 있다.

(추상화)기술 습득을 위해특성화된 문제를골라 제시해보자.

예시)2100년 한국의 인구수는?청소로봇은 어떻게 움직이나?전자 투표(선거)로 반장을 선출합시다.담당구역 청소를 무작위로 정합시다.

어른들 예시)접시저울에 무게를 재는 방법을프로그래밍하시오.라면을 끓이는 방법을

프로그래밍하시오.

최종 목표는?

학생 스스로

문제를 제시하는 것.

Computer가 아니라 Thinker가 되는 것.

Computational Thinking을 통해