(simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션...

54
2017. 10. 27~29 청주 사직초등학교 교사 시뮬레이션 (Simulation)

Upload: others

Post on 02-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

2017. 10. 27~29

청주 사직초등학교 교사

전 용 주

시뮬레이션

(Simulation)

Page 2: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시뮬레이션의 이해

시뮬레이션의 개념

시뮬레이션과 관련된 개념

시뮬레이션의 응용

시뮬레이션 활용 사례

시뮬레이션 응용 실습

Page 3: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

소프트웨어 담당교원 전문연수

청주 사직초등학교 교사

전 용 주

시뮬레이션의

이해

Page 4: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

padlet.com/yyongju3169/sw_master

선생님의 사례를 나눠주세요

1. 직접 시뮬레이션을 구현한 경험 (타교과 개념설명, 실생활 문제해결 등) 2. SW교육에서 학생들에게 시뮬레이션을 구현하도록 해 본 경험 등

Page 5: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

컴퓨터 과학에서 문제란?

연속(continuous)과 이산(discrete)의 차이점?

Page 6: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적 의미의 시뮬레이션

시뮬레이션의 어원

- 시뮬라크르: 존재하지 않는 대상을 존재하는 것처럼 만든 인공물 - 시뮬라시옹: 시뮬라크르를 하는 행위

장보드리야르(1981), 시뮬라크르와 시뮬라시옹 ▶

그림 출처: https://books.google.co.kr/books/about/Simulacra_and_Simulation.html?id=9Z9biHaoLZIC&source=kp_cover&redir_esc=y

Page 7: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적 의미의 시뮬레이션

‘앨런 튜링’이 사용한 시뮬레이션

- 보편튜링머신이 임의의 튜링머신의 상태 전이 테이블에 있는 명령을 어떻게 실행하는지 확인해보는 과정 - 프로그램을 실행한다 정도로 해석

앨런 튜링 ▶

그림 출처: https://www.pcmag.com/article2/0,2817,2406233,00.asp

Page 8: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적 의미의 시뮬레이션

시뮬레이션의 의미

- 실제 세계의 과정이나 시스템을 이를 모사한 모델로 표현하고, 그 모델을 사용해서 시간의 흐름을 반영하여 수행하는 모의실험

그림 출처: http://www.edu8282.co.kr/shop/list.php?ca_id=2090, http://www.labedu.co.kr/shopping/shop_view.asp?RegID=1160&leftMenu=o_01&p_event=&mainC_code=012015

구체적 모델을 활용한 물리적 시뮬레이션 논리적 모델을 활용한 컴퓨터 시뮬레이션

Page 9: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적 의미의 시뮬레이션

시뮬레이션을 활용하는 이유?

- 실제 과정이나 시스템이

1. 위험하거나

2. 다룰 수 없거나 (시간, 비용 등의 이유로)

3. 설계 중이지만 아직 구축되지 않았거나

4. 단순히 존재 하지 않는 경우 등

Page 10: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

2015 개정 교육과정 상 시뮬레이션

고등학교 정보과학 핵심개념 ‘시뮬레이션’

- 내용체계 상 일반화된 지식 (교재 - 부록 참고)

모의실험을 설계하고 구현하기 위해

근사, 난수, 시각화 등의 방법을 이용한다.

Page 11: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

실생활의 현상, 문제 등의 핵심적 요소/원리를 모형이나 그림, 식, 기호 등으로 표현한 것

- 모델은 추상화의 결과적 형태

- 모델을 통해 문제의 해결 원리, 방법을 단순화 하여 제시

- 모델을 문제 해결 절차인 알고리즘에 적용 할 수 있음

- 비슷한 문제를 해결할 때 도움이 됨

- 추상화하는 관점에 따라 모델이 다양해질 수 있음

Page 12: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

예시 – 색 모델

Page 13: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

추상화의 관점에 따라 달라지는 색 모델

Page 14: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

영국 컴퓨팅 교재(중등 1)에 있는 모델관련 내용

Page 15: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

영국 컴퓨팅 교재(중등 1)에 있는 모델관련 내용

Page 16: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

시뮬레이션 구현 과정에서의 모델의 표현

- 달의 공전 (6학년 과학) 시뮬레이션 구현

시각적 모델 논리적 모델

Page 17: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

시뮬레이션 구현 과정에서의 모델의 표현

- 달의 공전 (6학년 과학) 시뮬레이션 구현

알고리즘

Page 18: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

모델(Model)

시뮬레이션 구현 과정에서의 모델의 표현

- 달의 공전 (6학년 과학) 시뮬레이션 구현

시뮬레이션 프로그램

프로그램 공유주소 : https://scratch.mit.edu/projects/179452580/

Page 19: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

근사적 계산(Approximate computing)

의미

- 정확한 값을 구할 수 없을 때, 그 값에 가까운 값을 얻어

내기 위한 계산

- 어떤 기준을 만족할 때까지의 반복적인 계산

- 시뮬레이션의 주요한 방법 중 하나임

Page 20: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

근사적 계산(Approximate computing)

원주율(6학년 수학)의 근사적 계산1

- 무한 급수에 의한 계산

Page 21: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

근사적 계산(Approximate computing)

원주율(6학년 수학)의 근사적 계산1

- 무한 급수에 의한 계산

원주율 계산 시뮬레이션 스크래치 프로그램 (라이프니츠 모델)

프로그램 공유주소 : https://scratch.mit.edu/projects/181839170/

Page 22: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

근사적 계산(Approximate computing)

원주율(6학년 수학)의 근사적 계산1

◀ 원주율 계산 시뮬레이션 C 프로그램

(라이프니츠 모델)

Page 23: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

의미

- 어떤 패턴 없이 무작위적인 값들을 임의적으로 반환하는 것

- 시뮬레이션에서 임의로 발생하는 사건(event)을 표현하기

위한 방법으로 주로 활용됨

Page 24: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

컴퓨터에서는 어떻게 난수를 생성할까?

- 의사랜덤 생성기(pseudorandom number generator, PRNG)

- 의사랜덤 : 랜덤에 유사하게 보이지만, 실제는 아닌 과정

- 의사랜덤 생성기 중 가장 널리 알려진 것은

선형합동생성기(linear congruential generator, LCG)

: 실제 랜덤보다 생성하기 쉽고, 동일한 번호를 생성하기 위해 여러 번 반복적으로 사용될 수 있어서 소프트웨어 테스트 및 수정에 유용하게 활용

Page 25: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

선형 합동 생성기

- 다음과 같이 정의된 재귀적 과정에 의해 무작위 수로

이루어진 수열을 반환

Page 26: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

선형 합동 생성기

- 윈도우의 경우

초기 시드값 X1 = 1,

m=2^32, a= 214013, c= 2531011을 사용,

계산된 결과에서 가장 왼쪽 비트를 제외한

15개 비트의 값을 사용해 0~32767의 랜덤한 값 반환

- 시드값이 변하지 않는 경우 계속 같은 패턴의 랜덤값 반환

Page 27: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

C에서 랜덤함수의 활용

- 시드값이 변하지 않는 경우 계속 같은 패턴의 랜덤값 반환

Page 28: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

C에서 랜덤함수의 활용

- 시드값이 변하지 않는 경우 계속 같은 패턴의 랜덤값 반환

Page 29: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

난수를 활용한 시뮬레이션

- 몬테카를로 기법을 활용하여 원주율 구하기

Page 30: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

랜덤을 활용한 시뮬레이션

프로그램 공유주소 : https://scratch.mit.edu/projects/179976290/

- 몬테카를로 기법을 활용하여 원주율 구하기

Page 31: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

난수(Random Number)

랜덤을 활용한 시뮬레이션

- 몬테카를로 기법을 활용하여 원주율 구하기

Page 32: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

의미

- 이미지, 다이어그램, 애니메이션 등의 시각적 방법을 이용해

추상적인 아이디어 등을 표현하고 전달하는 방법

- 실 세계의 현상에서 얻어질 수 있는 데이터들을 모델링하여

프로그래밍 언어, 수학/물리엔진, 저작도구 등을 통해

그래픽으로 구현

Page 33: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

블록기반 프로그래밍 언어를 통한 시각화

- 스크래치, 엔트리 등 블록 프로그래밍 언어는 기본적으로

2D 그래픽을 지원

- 삼각함수 등을 활용한 3차원 좌표 구현을 통해 3D그래픽

표현 가능

프로그램 공유주소 : https://scratch.mit.edu/projects/64517140/

Page 34: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

텍스트기반 프로그래밍 언어를 통한 시각화

- C언어의 경우 리눅스 환경에서 <curses.h>라이브러리 활용

- Java언어의 경우 Swing 패키지, OpenGL 등 활용

C 언어 활용 시각화 Java 언어 활용 시각화

Page 35: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

텍스트기반 프로그래밍 언어를 통한 시각화

- Processing : Java 언어를 기반으로 간단한 문법, 인터페이스

등을 활용하여 2D/3D 애니매이션 구현

Page 36: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

텍스트기반 프로그래밍 언어를 통한 시각화

- vpython: 3D기반의 그래픽 구현 가능

- Javascript: canvas라이브러리를 활용하여, 2D/3D그래픽 구현

vpython 활용 시각화 Javascript 활용 시각화

Page 37: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

시각화(Visualization)

Javascript 를 활용한 시각화 맛보기

참고사이트: https://www.w3schools.com/tags/ref_canvas.asp

Page 38: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

Intro.

청주 사직초등학교 교사

송 재 철

시뮬레이션의

응용

Page 39: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적인 활용 사례

활용 목적

- 실제 상황이나 시스템을 모델링 한 프로그램을 통해

동작 과정이나 원리를 이해하는데 주로 사용

- 경제, 사회, 환경, 과학, 의학, 공학 등 매우

폭넓은 분야에서 활용

- 정보기술의 급속한 발달로 효용성이 증가,

사용자 또한 시뮬레이션 제작자로서 시도를 함

이미지 출처: https://www.osti.gov/home/slideshow_archive.html

Page 40: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

일반적인 활용 사례

활용 사례

1. 가상 현실 구현

– 훈련, 실습, 교육, 치료 등

2. 모의 실험

– 행위 예측 및 분석, 평가, 의사결정

Page 41: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

교육 분야의 활용 사례

활용 목적

1. 추상적인 개념 또는 실제 환경을 단순한 방식으로

모델링하여 학습자가 주요 개념을 이해하는데 도움이

될 수 있도록 활용

2. 능동적 조작이 가능한 환경 구현

3. 특정 주제의 개념과 원리 탐구 및 발견

Page 42: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

교육 분야의 활용 사례

LOGO – 수학적 사고력과 프로그래밍 연계

관련 출처: Papert, S. (2006). Constructionism. In Sawyer, R. K (eds.) The Cambridge handbook of learning science, NY:Cambridge University Press.

Page 43: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

교육 분야의 활용 사례

Algodoo – 물리적인 실험 구현

Page 44: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

교육 분야의 활용 사례

HTML5, JAVA로 만들어진 시뮬레이션 프로그램

Page 45: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

주사위 확률 시뮬레이션-6학년 수학

제작 목적

1. 주사위를 던졌을 때 각 눈이 나올 확률은 실제

1/6일까?

2. 얼마만큼 주사위를 던져야 각 눈의 확률을 확인할

수 있을까?

Page 46: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

주사위 확률 시뮬레이션 모델 구성

Page 47: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

주사위 확률 시뮬레이션 알고리즘 설계

1. 각 눈이 나온 횟수를 저장할 변수, 나온 비율을 저장할 리스트 만들기

2. 던질 횟수 설정

3. 난수로 주사위 눈 결정

4. 나온 횟수 카운트

5. 던질 횟수 만큼 반복

6. 각 눈의 나온 횟수와 총 던진 횟수 비율 구하고 리스트에 추가하기

Page 48: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

활용 배경

1. 단순한 사진, 동영상 자료로는 부

족한 부분 보조

2. 직접적인 조작과 즉각적인 상호

작용을 바탕으로 규칙성을 발견

Page 49: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

제작 과정

자료 수집 및

표현

시각적, 논리

적 모델 구성

알고리즘

설계

시뮬레이션

프로그래밍

Page 50: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

제작 과정 – 자료 수집 및 표현

Page 51: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

제작 과정 – 시각적 모델 구성

Page 52: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

제작 과정 – 논리적 모델 구성

Page 53: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

달의 위상 변화 - 과학

알고리즘

Page 54: (Simulation)happyclass.net/home_pdf/train15.pdf · 2015 개정 교육과정 상 뮬레이션 고등학교 정보과학 핵심개념 ‘시뮬레이션’ - 내용체계 상 일반화된

[email protected]

[email protected]

사직초등학교 교사

전 용 주, 송 재

감사합니다