4차시
컴퓨팅 사고(CT) 기반
문제 해결
1 컴퓨팅 사고 기반 문제 유형과 사례를 설명할 수 있다.
2 컴퓨팅 사고기반 문제 유형 사례별로 컴퓨팅 사고 요소 적용 과정 을 예시할 수 있다.
3 컴퓨팅 사고 기반 문제 해결(CT-PS) 모형을 이해하고 실제 문
제에 적용하여 해결할 수 있다.
컴퓨팅 사고력 증진을 위해
SW교육에서는 어떤 문제를 다루어야 하는가?
• 일상생활 속에서 경험할 수 있는 상황을 기반으로 해야 함
• 문제의 해결과정에 순차, 선택, 반복 구조의 포함될 수 있는 구조여야 함
• 문제를 작게 나누어 패턴을 찾고, 이를 추상화할 수 있어야 함
• 컴퓨터 프로그램으로 자동화할 수 있어야 함
• 문제 해결 과정에서 연산(산술/논리/비교 등)이 수행될 수 있어야 함
• 기본 절차를 만들고, 이를 확대, 심화할 수 있어야 함
컴퓨팅 사고 를 체득할 수 있는 문제
컴퓨팅 사고 기반 문제 해결 모형
컴퓨팅 사고 기반 문제 유형의 속성
문제 속성 수준
컴퓨팅 사고의 필요도
분해 패턴인식 추상화 알고리즘 자동화
문제의 복잡도 계산 가능성 높음
낮음
◎ ◎ ◎ ◎ ◎
○ ○ ○ ○ ○
컴퓨팅 능력을 활용하는 것이
나은 정도
컴퓨팅 능력 활용을 위한 적절한 도구 적용 가능성
△ △ △ △ △
◎: 높음, ○: 보통, △: 낮음
컴퓨팅 사고 기반 문제 유형 사례
① 개념, 현상, 원리 등의 학습 문제
자전거 작동원리를 이해하는 문제
큰 수의 곱셈을 이해하는 문제
피타고라스의 정리를 증명하는 문제
물체의 물리적 법칙과 상호 관계(관성, 무게, 속도, 압력 등)를 이해하는 문제
② 실생활에서 흔히 겪는 문제
요리 레시피를 정하는 문제
출퇴근, 등하교 때 이동 경로를 정하는 문제
목적지까지 가는 방법을 정하는 문제
무작위로 모둠을 편성하는 문제
③ 데이터를 이용하여 시스템을 구축 하거나 미래를 예측하는 문제
SW교육 자료의 공유와 검색을 위해 DB로 구축하는 문제
프로필에 따라 최적의 커플을 자동으로 정하는 문제
흥미, 적성, 능력 수준에 따라 최적의 직종을 추천하는 문제
검색키워드 빅데이터를 이용하여 특정 현상을 규명하고 미래를 예측하는 문제 (‘감기’관련 검색어로 감기 환자 발생 지역 예측)
인구가 다른 두 지역에서 바이러스 환자가 1명씩 발생했을 때 감염 확산에 걸리 는 시간을 예측하는 문제
기후 데이터, 야구 경기 데이터를 분석하여 자동으로 뉴스 기사를 쓰는 문제
④ 투입 요소(시간, 공간, 인력, 재료, 비용, 시설 등)와 절차를 최적화하여 원하는 결과를 얻는 문제
지하철의 운행 간격을 최적화하는 문제
최소의 비용과 시간으로 영화를 촬영하는 문제
상품 제조 공정의 최적화 문제
청소 로봇의 최적의 청소 경로 결정 문제
컴퓨팅 사고기반 문제 유형 사례별 컴퓨팅 사고 요소 적용 과정 예시(1)
문제
유형 컴퓨팅 사고 요소 적용 과정 예시
개 념 , 현 상 , 원 리 등 의 학 습 문제 : 자 전 거 작 동원리 를 이 해하는 문제
분해 자전거 작동원리 이해를 위하여 핸들, 바퀴, 바디, 체인, 기어, 페달, 브레이크 등의 세부 구성품으로 나눔
패턴인식
자전거 핸들의 움직임에 따라 바퀴 방향이 결정되고, 페달의 회전이 체인의 회전과 바퀴의 회전으로 연결되는 패턴을 발견함(시스템 요 소 간 패턴)
추상화 자전거 작동원리를 핸들, 페달, 브레이크 작동만으로 설명함
알고리즘
자전거 작동원리를 “페달을 밟으면 직진, 페달 밟는 동안 핸들을 오 른쪽으로 돌리면 우회전, 왼쪽으로 돌리면 좌회전, 브레이크를 누르 면 멈추기”라는 절차로 나타냄 (순차, 반복, 조건판단 등)
자동화
스테이지에 자전거 오브젝트, 페달 버튼, 핸들(좌/우) 버튼, 브레이크 버튼을 배치하고, 각 버튼 누를 때 자전거 오브젝트가 연동하여 움직 이도록 구현함. 이 때 기어, 페달을 밟는 힘에 따라 자전거 이동 거리 가 변화하는 시뮬레이션 형태로 구현할 수 있음
자전거 작동원리를 이해하는 문제
컴퓨팅 사고기반 문제 유형 사례별 컴퓨팅 사고 요소 적용 과정 예시(2)
문제 유형 컴퓨팅 사고 요소 적용 과정 예시
실 생 활 에 서 흔히 겪 는 문제1:
분해
버스로 목적지까지 가는 방법을 정류장으로 이동하기, 버스 기다 리기, 버스 타기, 빈 자리가 있으면 앉기, 목적지 정류장에 도착할 때까지 기다리기, 목적지 정류장에서 내리기, 목적지로 걸어서 이 동하기 등으로 나눔
패턴인식
도착하는 버스가 맞으면 타고 맞지 않으면 타지 않는 패턴을 인식 함 / 버스 이동 중 다음 정거장이 목적지일 때까지 계속 기다리는 패턴을 인식함 (분해된 문제의 패턴)
추상화 버스를 기다렸다 타는 패턴을 ‘000번 버스타기’로 부르기로 함
알고리즘 버스를 기다렸다가 타는 절차를 순서도로 나타냄(순차, 반복, 조건 판단 등)
자동화
스테이지에 오는 버스 오브젝트, 배경, 정류장 오브젝트, 지나가는 버스 등의 오브젝트를 배치하고 오브젝트별로 코딩하고, 오브젝트 간 관계를 설정하여 기다리는 버스 타기를 시뮬레이션함
버스로 목적지까지 가는 문제
컴퓨팅 사고기반 문제 유형 사례별 컴퓨팅 사고 구성요소 적용 과정 예시(3)
문제 유형 컴퓨팅 사고 요소 적용 과정 예시
실생활에서 흔히 겪는 문제2: 요리 레시피를 정하는 문제
분해
다양한 요리법 설명을 위하여 재료 종류를 육류, 채소류, 곡류, 생선류, 유지류 등으로 구분하고, 요리 유형을 국, 찌개, 튀김, 조림, 볶음, 무침 등으로 구분함
패턴인식 국, 찌개, 튀김, 조림, 볶음, 무침 등 요리 유형별로 레시피를 패턴화함
추상화
요리 종류인 국, 찌개, 튀김, 조림, 볶음, 무침 등에서 공통적 특성을 갖는 요리의 이름을 ‘비빔밥’, ‘불고기’, ‘김치’ 등으로 함 / 재료 손질하는 방법 을 ‘썰기’, ‘다지기’, ‘으깨기’등으로 약속함 / 다양한 조리법을 ‘끓이기’,
‘데우기’, ‘익히기’, ‘섞기’ 등으로 단순화함 / 어떤 요리에도 어울리는 양 념장 만드는 레서피를 ‘백종원 양념장’으로 부르기로 함
알고리즘
조림류 요리의 레시피를 순서도로 표현함 / 불고기 요리의 레시피를 순 서도로 표현함 / 요리 재료의 손질법(썰기, 다지기 등), 조리법(데우기, 섞기, 익히기 등)을 순서도로 표현함 (순차, 반복, 조건판단 등)
자동화
‘재료’리스트, ‘기구’리스트에 불고기 요리의 재료, 조리기구, 가열기구 를 입력해 두고 불고기 레시피의 순서대로 리스트의 아이템을 고르도록 함. 3번의 기회를 제공하여 모두 틀리면 레시피를 화면에 제시함
요리 레시피를 정하는 문제
컴퓨팅 사고기반 문제 유형 사례별 컴퓨팅 사고 구성요소 적용 과정 예시(4)
문제
유형 컴퓨팅 사고 구성요소 적용 과정 예시
데이터를 이용하여 시스템을 구축하거 나 미 래 를 예 측 하 는 문 제 : SW 교육자료 의 공 유 와 검 색 을 위 해 DB로 구 축 하 는 문제
분해
현재까지 나와 있는 SW교육자료를 DB로 구축하기 위하여 SW학습 자료의 속성을 저자, 출처, 내용구성, 특징, 자료형태, 이용방법, 이용 비용, 재질, 무게, 이용대상, 색상, 냄새, 촉감, 크기, 확장성 등으로 구분함
패턴인식 SW교육자료의 속성이 기존의 음반CD, VOD 영화 등의 속성과 유사 함을 발견함 (기존 시스템과의 유사성)
추상화 SW교육자료의 식별 및 검색에 꼭 필요한 필드만 남기고 나머지는 제 거함
알고리즘
SW교육자료 DB의 필드 구성 절차, DB에 자료 입력하는 절차, 검색 하는 절차 등을 의사코드로 표현함 (순차, 반복, 조건판단, 자료 처리 등)
자동화 SW교육자료 DB를 리스트를 이용하여 구축하고 입력, 검색 등의 기 능을 코딩함
SW교육자료의 공유와 검색을 위해 DB로 구축하는 문제
컴퓨팅 사고기반 문제 유형 사례별 컴퓨팅 사고 구성요소 적용 과정 예시(5)
문제 유형 컴퓨팅 사고 요소 적용 과정 예시
투입 요소(시간, 공간, 인력, 재 료, 비용, 시설 등)와 절차를 최 적화하여 원하 는 결과를 얻는 문제: 로봇 청소 기의 청소 경 로 최적화 문 제
분해 로봇 청소기가 청소해야 할 공간을 장애물을 고려하여 정형화된 다각 형 도형으로 구획화함(사각형, 삼각형, 오각형 등)
패턴인식
로봇 청소기가 각 청소 공간에서 최소한의 동작으로 움직여서 청소하 는 방법을 패턴화함(예: 사각형 공간에서 가장 짧은 거리로 움직이는 패턴, 장애물을 만났을 때의 동작 패턴 등)
추상화 로봇 청소기의 동작을 이동하기, 장애물 피하기, 쓰레기 흡입하기, 자 동충전하기의 4가지로 구분함
알고리즘
로봇 청소기의 동작을 공간 분석, 공간 이동 최적화 경로 설정, 이동하 면서 청소하기, 충전기로 되돌아오기 등으로 절차화하고, 공간 이동 최적화 경로 설정을 이동 공간 유형별로 절차화함
자동화
스테이지에 로봇청소기 오브젝트, 다각형 공간, 쓰레기, 장애물 등을 적절히 배치하고, 다각형 공간 중 하나를 클릭하면 로봇청소기가 해 당 다각형 공간으로 이동하여 최적화된 이동경로로 움직이면서 쓰레 기를 청소하도록 구현함
로봇 청소기의 청소 경로 최적화 문제
컴퓨팅 사고 기반의 문제 해결 과정
[컴퓨팅 사고 기반의 문제해결 과정]
문 제 인 식
문 제 분 석
데이터 과 표수집 현
분해
알고리즘 패턴인식
추상화
평가
자 동 화
시 뮬 레 이 션
병 렬 화
일 반 화
컴퓨팅사고 전 단계 컴퓨팅사고 단계 컴퓨팅사고 실행 단계
컴퓨팅사고 기반 문제 해결 모형(CT-PS Model) 적용 단계
컴퓨팅 사고 기반 문제 해결 모형
CT-PS (Computational Thinking based Problem Solving) Model
알고리즘 설계하기
추상화 구현
패턴 찾기
순차
구조 반복
구조 선택 구조
리스트 변수 자료 연산
신호 함수
복합 구조
사운드
computational thinking
추상화
자동화
알고리즘 패턴인식
테스트
디버깅 문제 분해하기
문제 해결의 핵심 아이디어 찾기
문제 분석
분해
블록형 코딩일 경우 오브젝트 처리 (모양, 위치, 크기 등)
코딩
CT-PS 적용 사례: 계산 불필요
문제 유형 CT-PS 단계 적용 과정 예시
버스로 목적지 까지 가는 과정
문제 분석
분해
버스로 목적지까지 가는 방법을 정류장으로 이동하기, 버스 기다리기, 버스 타기, 빈 자리가 있으면 앉기, 목적지 정류장에 도착할 때까지 기다리기, 목적지 정류장에서 내리기, 목적지로 걸어서 이동 하기 등으로 나눔
핵심 아이디어
찾기 목적지로 가는 버스를 기다려서 타고 목적지 정류소에 내리면 목적지까지 걸어서 이동함 추상화 패턴인식 - 도착하는 버스가 맞으면 타고 맞지 않으면 계속 기다림
- 버스 이동 중 다음 정거장이 목적지일 때까지 계속 기다림
알고리즘 설계 버스를 기다렸다가 타는 절차를 순서도로 나타냄(순차, 반복, 조건판단 등)
구현(자동화) 스테이지에 오는 버스 오브젝트, 배경, 정류장 오브젝트, 지나가는 버스 등의 오브젝트를 배치하고 오브젝트별로 코딩하고, 오브젝트간 관계를 설정하여 기다리는 버스 타기를 시뮬레이션함
알고리즘 설계 구현
(자동화)
CT-PS 적용 사례: 계산 필요
• 문제 분해하기 : 1부터 3까지만 더하는 과정을 분석한다. (1+2+3=합계)
• 문제 해결의 핵심 아이디어 찾기: 현재 수와 앞의 수를 더한 결과를 계속 누적한다.
• 패턴 찾기 : ‘합’에 현재 ‘수’를 더하여 다시 ‘합’에 넣고, 현재 ‘수’를 1 증가한다.
• 알고리즘 설계하기: 패턴을 토대로 의사코드나 순서도로 기술 :
• 구현: 엔트리를 이용하여 코딩, 테스트, 디버깅
1부터 100까지 더하는 문제 1+2+3+...+99+100=?
시작
합 = 0, 수 = 0 반복 시작 : N회 수 = 수 + 1 합 = 합 + 수 반복 끝
합 출력
끝
해외 사례 소개: Google의 Computational Thinking for Educators
• 컴퓨팅 사고 학습 코스 제공
– CT 소개, 알고리즘 탐색, 패 턴인식, 알고리즘 개발, CT적 용 프로젝트 수행으로 구성 – 국어, 사회, 수학, 과학, 음악
등 교과 기반의 학습 코스 제공
– 최종 프로젝트(part1, part2) 를 완료하면 인증서 수여
• 컴퓨팅 사고 관련 풍부한 자 료 검색 및 자료 제공
– 검색 옵션
• 교과별 검색: 대수, 생물, 미적분, 화학, 역사, 언어, 음악 등
• 연령별 검색: 8~18세
• 자료 유형별 검색: 데모형, 탐색 형, 레슨형, 프로그램형(코드), 참고문헌형
– 그 외 CT 관련 풍부한 자료를 소
개하고 있음
15https://computationalthinkingcourse.withgoogle.com/
https://edu.google.com/resources/programs/exploring-computational-thinking/