SW교육/종합

SW교육 어떻게 시작하면 되나요

멋쟁이샘 2016. 7. 6. 00:23

1. SW교육의 지도 방향

   가. 학습자들이 미래사회에서 살아가는데 필요한 컴퓨팅 사고력(Computational Thinking)을 기반으로 문제를 해결하는 역량 신장

      - 컴퓨팅 사고력을 가진 창의 및 융합 인재의 양성 

   나. SW교육 프로그램 개발은 교육과정과 연계하여 개발 및 적용한다. 

   다. 소프트웨어에 대한 학생들의 진로인식이 긍정적으로 변화하도록 유도한다. 

   라. 학부모와 함께하는 캠프 등을 운영하여 학부모의 이해를 돕고 참여를 유도한다. 



2. 교사가 갖추어야 할 사전 지식

  가. SW교육의 필요성

    - SW중심사회 : SW가 국가의 경쟁력을 결정하는 사회(무인자동차의 선두주자는 완성차 업체가 아닌 구글)

    - 4차 산업혁명, 미래 교육의 방향은?

    - 삼성의 반성(SW능력 구글의 100분의 1)

    - 당신은 로봇으로 대체될 수 있는 사람입니까?

    - 로봇이 만드는 햄버거

    - 마트 근로자들을 로봇으로 대체 

    - 호모메이커스의 탄생, 무한 상상실

    - 인천 길병원 IBM 인공지능 의사 왓슨 85명 암환자 진료 - 왓슨과 의료진 처방이 엇갈린다면 여러분의 선택은?

    - 인공지능 도입 후 직원 34명 해고한 회사


  나. 컴퓨팅 사고력(Computational Thinking)의 정의 

    - 일상생활에서 발생할 수 있는 문제들을 컴퓨팅의 기본적인 개념과 원리를 기반으로 문제를 효율적으로 해결할 수 있는 사고 능력

    - 컴퓨팅 사고력의 구성요소 : 분해, 패턴인식, 추상화, 알고리즘, 프로그래밍

      - 예) 아침 출근



  다. SW교육 내용

    1) 생활과 소프트웨어 : 소프트웨어가 가져온 생활의 변화를 알고, 정보사회에 필요한 건전한 의식과 태도를 가진다.

    2) 알고리즘과 프로그래밍 : 알고리즘과 프로그래밍을 체험하여 실생활의 다양한 문제를 컴퓨팅 사고로 이해 수 있다. 

    3) 컴퓨팅과 문제해결

    * 소프트웨어 교육 운영 지침 

교육부_교육과정정책과_소프트웨어_교육_운영_지침 (1).hwp



  라. 컴퓨팅 사고력(Computational Thinking) 향상을 위한 SW교육 방법 

    1) 언플러그드 활동 

      - 컴퓨터 없이 이진수표현, 픽셀, 프로그래밍 언어 원리와 같은 컴퓨터과학과 컴퓨터과학적 사고를 학습하는 방법

      - 뉴질랜드의 Tim Bell 교수가 제안 했으며 한국어로 번역된 책이 출간되었음 

     - 학생들에게 많은 지식을 주입하고 전달하는 것이 아니라 일상생활 속에 스며들어 있는 다양한 컴퓨터 과학에 대한 이해를 통해 컴퓨팅 

        사고를 기르고자 함이 목표

      - 그 이해를 돕기 위해 스토리 기반, 신체기반, 도구기반, 학습지 기반의 다양한 언플러그드 교육방법들을 활용

      - 국내에서는 KAIST와 엔트리가 언플러그드 교구(엔트리 봇 폭탄대소동)를 출시하여 판매중 - 게임방법

 

      - code.org의 언플러그드 활동 https://goo.gl/6AEmwB

      - 언플러그드 정리 보고서 - 한국컴퓨터교육학회, 이원규(고려대학교), 2015.04.22


    2) 알고리즘 학습 

       - 알고리즘은 문제해결 방법을 잘게 쪼개어 순서대로 나열하는 것 - 알고리즘이란? 영상보기

       - 컴퓨팅 사고력에서는 알고리즘을 만드는 것이 전부라고 할 만큼 매우 중요하다. 

       - 초등학생 수준에서는 순차, 반복, 조건, 변수의 개념을 학습, 중학교에서는 함수의 개념도 학습하는 것이 좋음.

       - code.org

       - 엔트리 학습모드  

       - 라이트봇

       - 순서도 그리기(Lucidchart) - 차트 예시

       - 알고리즘 학습지 : 체험교실용 

알고리즘 학습지_체험교실용.hwp


    3) 교육용 프로그래밍 언어 

       - 교육용 프로그래밍 언어(Educational Programming Language) 보통 EPL 이라고 함

       - 기존의 코딩 교육

       - 전문 언어가 아닌 학생들이 프로그래밍의 기본 개념들을 익히며 다양한 작품을 만들 수 있도록 개발된 프로그래밍 언어

       - 엔트리 https://play-entry.org/

       - 스크래치 https://scratch.mit.edu/


    4) 피지컬 컴퓨팅 

       - 피지컬 컴퓨팅은 컴퓨터와 현실세계의 상호작용하는 활동을 말함

       - 센서를 통해 물리세계의 값을 입력받아 프로그램을 작동하고, 액츄에이터를 통해 컴퓨터로 물리 세계를 움직이게 하는 활동

         : 예) 물고기 먹이주기, 자동으로 열리는 쓰레기통, IOT 화분만들기

       - 종류

        가) E-센서보드공학스쿨

        나) 햄스터 스쿨수업사례 영상(메이키메이기와 햄스터 활용)

        다) 레고 마인드 스톰,  EV3 활용 수업 사례수업사례 영상(Wedo와 EV3 활용)

        라) 메이키메이키수업사례 영상(메이키메이기와 햄스터 활용)

        마) 아두이노, 수업사례 영상1,  수업사례 영상2수업사례 영상(아두이노 릴리패드 활용), 아두이노 시뮬레이션

        바) 코블,  수업사례 영상

        사) Wedo, 수업사례 영상(Wedo와 EV3 활용)

        아) 컵드론,  드론 수업사례 영상

        자) 라즈베리파이 수업사례 영상

        차) 로보티즈, 수업사례 영상(3D 프린팅, 폼보드 활용)

        카) 비트블록, 수업사례 영상

        타) 포디메카드로닉스, 작품예1, 작품예2

  

  

3. SW교육 교수학습 모델 및 수업 사례

  가. 시연 중심 모델  - 강아지와 고양이 이야기 만들기


 


     1) 시연(Demonstration) : 교사의 설명과 시범, 표준 모델 제시

       - 기능을 소개하고 이 기능이 왜 필요한지 설명한다. 학생들은 블록코딩을 분해하고, 각 패턴을 인식하게 된다. 

       - 스프라이트 삭제, 추가, 배경 꾸미기, 소리 사용, 모양 바꾸기 등을 시연

     2) 모방(Modeling) : 학생 모방하기, 질문과 대답

       - 시범을 따라하는 모델링의 과정을 통해 학생들이 하고자 하는 실행 내용에 대해 명령어로 표현하는 추상화 과정을 이해하게 된다. 

       - 스프라이트 삭제, 추가, 배경꾸미기, 소리 사용, 모양 바꾸기 등을 따라하기 

     3) 제작(Making) : 단계적, 독립적 연습, 반복활동을 통한 기능 습득

       - 학생 나름의 아이디어를 가지고 배운 명령어 문법을 사용하여 새로운 프로젝트를 개발한다. 

       - 실제 상황에 비추어 반복연습을 할 수 있고, 실제 상황의 문제점을 탐색하고, 다른 상황에 적용할 수 있다. 

       - '호랑이와 곶감', '해님과 달님' 등 알고 있는 전래동화의 한 장면을 선정하여 개발하도록 안내한다. 




   나. 재구성 중심 모델 - 나만의 미로 게임 만들기, 장애물 피하기 만들기


   


     1) 놀이(Use) : 학습자 체험 활동, 관찰과 탐색

       - 미로 게임을 해 보면서 나만의 미로 게임을 만들기 위해서는 어떤 요소들이 필요할지 생각해본다. 

       - 분해 활동 : 게임에 필요한 요소 추출하기

       - 패턴 인식 활동 : 게임의 시작, 종료, 주인공의 움직임, 장애물의 움직임이 어떤 패턴을 갖는지 생각해보기

       - 추상화 활동 : 주인공이 이동하는 방법과 벽, 장애물을 피하는 방법을 공식으로 표현하기

     2) 수정(Modify) : 교사가 의도적으로 모듈 및 알고리즘을 변형하여 제시

       - 추출한 요소를 나열해보고, 미로, 주인공, 장애물 등 게임 요소에서 모양이나 크기, 위치 등을 바꾸어 본다. 

       - 교사가 의도적으로 오류를 제시하여 학생들이 수정하거나 불완전한 소스를 학생들이 채워간다. 

       - 알고리즘 활동 : 장애물이 보이는 시간을 바꾼다. 장애물의 개수를 늘린다. 장애물을 추가한다. 

     3) 재구성(reCreate) : 놀이와 수정 활동을 확장하여 자신만의 프로그램 설계/제작

       - 게임을 더욱 재미있게 발전시킬 수 있는 방법은 무엇일지 생각하여 새롭게 재구성된 게임을 만든다. 

       - 요소를 변경함으로서 발생하는 부수적인 문제점들을 해결한다. 

       - 알고리즘 및 프로그래밍 : 새로운 장애물 추가하기, 장애물의 알고리즘 바꾸기, 장애물에 닿으면 생명력 줄이기, 미로 모양 바꾸기 등


 


   다. 개발 중심 모델 - 로봇 청소기 만들기 

   


     1) 탐구(Discovery) : 탐색과 발견을 통한 지식 구성

       - 문제 제시 : 이야기 형태로 주어진 문제 상황을 보고 문제가 무엇이지 생각해 보게 한다. 해결해야 할 문제를 문장으로 쓰게 한다. 

       - 언플러그드 활동으로 문제 해결 방법 탐색

       - 분해 : 로봇에게 명령을 내리는 방법과 로봇이 동작하는 원리를 탐색한다. 

       - 패턴 인식 : 로봇이 목적지까지 가는 방법에 대한 패턴을 찾아본다. 

       - 추상화 : 주어진 공간을 모두 청소하려면 어떤 방법을 사용할 지 공식으로 표현한다. 

                   최단거리 알고리즘, 백트래킹 알고리즘을 통하여 청소하지 못한 공간에 대해 인식한다. 

     2) 설계(Design) : 알고리즘의 계획 및 설계

       - 청소 로봇이 어떻게 이동하면 교실을 모두 청소 할 수 있는지 알고리즘을 설계하고 표현한다. 

       - 알고리즘 활동 : 순서대로 실행하는 알고리즘에서 반복되는 부분을 발견하여 반복에 따라 실행하는 알고리즘으로 설계한다. 

                           실제로 문제가 해결되는지 실행하여 보고 짝과 문제점이 없는지 서로 평가해본다. 

     3) 개발(Development) : 프로그래밍 언어로 구현 및 피드백

       - 알고리즘을 바탕으로 블록 기반 프로그래밍 언어를 활용하여 청소 로봇 프로그램을 만들어 본다. 

       - 프로그래밍 활동 : 청소 로봇 프로그램을 만들어 본다. 다양한 활동을 통해 청소 로봇 프로그램을 발전시킨다. 

                              발전된 청소 로봇 프로그램을 발표하고 피드백을 받는다. 

                              설계와 구현 과정을 반복하며 더 나은 청소 로봇 프로그램을 만들고 공유한다. 



   라. 디자인 중심 모델 - 물을 주는 화분 만들기, 에너지를 절약하는 똑똑한 선풍기, 스마트한 가정환경 만들기


     1) 요구분석(Needs) : 주어진 문제에 대한 고찰과 사용자 중심의 요구 분석

       가) 문제 상황

         - 이야기 형태로 주어진 문제 상황을 보고 문제의 발생 원인과 해결 방법을 모색한다. 

         - 문제 상황은 토마토를 화분에 심었으나 관리가 잘 되지 않아 시들어버린 상황이 발생한 것이다.

         - 우리가 편하게 화분을 관리하려면 어떻게 해야 할지 고민해본다. 

       나) 사용자 요구 분석

          - 문제 상황을 이해하고 자동으로 물을 주는 화분을 만들 수 있는지 생각한다. 

          - 자동으로 물을 주는 화분이 있다면 얼마나 편리해질지 생각한다. 

          - 물을 주는 화분을 만들기 위해 알아야 할 것이 무엇인지 이해하고 분석한다. 

          - 탐색한 내용을 모둠별로 발표한다. 

       다) 활동 1 - 문제 이해 및 분석

          - 문제를 이해하고 자동화의 주요 요인을 분석한다. 

          - 물의 양에 따라 물을 자동으로 줄 수 있는 원리와 방법을 탐색한다. 

          - 자동화에 필요한 자료를 조사한다. 

          - 목표를 찾고 조건을 분석한다. 

          - 탐색한 내용을 모둠별로 발표한다.

       라) 활동 2 - 문제를 분석하여 정리해 보자

          - 문제 상황의 이해 : 해결할 문제의 최종 목표는 무엇인지 생각한다.

          - 문제 해결 방법 만들기 : 문제를 해결할 아이디어를 모으고 해결 방법을 창의적으로 만들어 본다.

          - 필요한 자료 수집 : 문제 해결에 필요한 자료는 어떤 것이 있을지 찾아본다. 

     2) 디자인(Design) : 분해와 패턴 찾기, 알고리즘의 설계

       가) 분해

          - 물을 주는 화분을 어떤 모양과 기능을 넣어 만들면 좋을지 생각한다. 

          - 물의 양을 측정하는 기능, 물으 주는 기능 등으로 문제를 분해하고, 물을 주는 기능에서 물이 어느 정도일 때 물을 줄지 생각한다. 

       나) 패턴 인식

          - 물의 양에 따라 물을 주는 화문의 동작 패턴을 찾아 나열한다. 

          - 핵심 요소 간 패턴을 쉽게 파악할 수 있도록 시각화 한다. 

          - 시각화를 할 때는 창의성을 신장하기 위해 마인드 맵, 그래프와 도식화 등 다양한 전략을 사용한다.  

       다) 추상화

          - 식물이 잘 자리기 위한 온도와 습도의 조건을 공식으로 표현한다. 

       라) 알고리즘 설계

          - 물을 주어야 할 때와 주지 말아야 할 때 등 알고리즘의 핵심 요소를 추출한다. 

          - 물을 주는 화분의 프로그램의 알고리즘을 생각해보고 의사 코드나 순서도로 표현한다. 

     3) 구현(Implementation) : 프로그래밍과 피지컬 컴퓨팅으로 산출물 구현

        - EPL을 활용하여 가상의 화분을 만들고 프로그래밍하여 구현한다.

        - 학습자의 수준과 환경에 따라 간단한 센서나 기구를 활용하여 실제 화분을 제작할 수 있다. 

     4) 공유(Share) : 산출물 공유와 피드백을 통한 자기 성찰 

        - 물을 주는 화분 프로그램을 발표하고 공유한다. 

        - 서로 좋은 점과 개선할 점에 대한 이야기를 나누고 피드백을 받는다. 

        - 개발 과정에 대한 간략한 소개 글을 작성하여 온라인에 탑재하고 댓글 등의 반응을 통해 자기성찰을 한다.      


   마. 컴퓨팅 사고력(Computational Thinking) 요소 중심 모델

     1) 분해(Decomposition) : 컴퓨터가 해결가능한 단위로 문제 해결

     2) 패턴 인식(Pattern Recognition) : 반복되는 일정한 경향 및 규칙의 탐색

     3) 추상화(Abstraction) : 문제 단순화, 패턴인식으로 발견한 원리 공식화

     4) 알고리즘(Algorithm) : 추상화된 핵심원리를 절차적으로 구성

     5) 프로그래밍(Programmin) : 컴퓨터가 이해할 수 있는 언어로 구현/실행 


  * 정보과 교육과정 표준 모델 개발 - 2016 한국정보교육학회 연구보고서



4. SW교육 운영 지침과 2015 개정 교육과정 비교

  초등학교 수준에서 소프트웨어교육 운영지침은 크게 생활과 소프트웨어, 알고리즘과 프로그래밍 2개 영역으로 제시되어 있으며, 이를 다시 나와 소프트웨어, 정보윤리, 문제해결 과정의 체험, 알고리즘의 체험, 프로그래밍의 체험 5개 중영역으로 세분화하여 11개의 내용 요소와 각각의 성취기준을 제시하고 있다. 이는 소프트웨어교육 운영지침이 교과 활동 외의 창의적 체험 활동을 통해 SW 교육에 내실을 기하기 위한 조치라고 볼 수 있다. 


 가. 운영지침의 '생활과 소프트웨어' 영역의 '소프트웨어와 생활 변화' 내용이 교과 활동으로 제시되고, 정보윤리와 관련된 내용은 '기술 활용' 영역에서 간단하게 제시되어 있다. 이는 정보윤리 관련 내용은 주로 창의적 체험활동을 통해 가르치도록 제시된 것으로 받아들일 수 있다. 



 나. 운영지침의 '알고리즘과 프로그램' 영역의 '문제해결 과정의 체험'을 절차적 문제 해결 내용 요소로 제시하였고, '알고리즘 체험' 관련 내용은 프로그래밍 요소와 구조 내용 요소의 '문제 해결 프로그래밍 과정에서 순차, 선택, 반복 등의 구조를 이해한다'는 성취 기준에 일부 반영되어 있다. 



 다. 운영지침의 '프로그래밍의 이해와 체험' 내용은 '프로그래밍 요소와 구조'라는 내용 요소로 수정되어 제시되었으며, 성취 기준에 '기초적인 수준의 프로그래밍 과정의 체험과 단순한 프로그램의 설계' 정도로 반영되어 있다. 



 라. 실과 '기술 활용' 영역에 로봇과 관련한 교육내용과 성취기준이 마련되어 있다. 이는 로못을 활용한 SW교육, 즉 피지컬 컴퓨팅을 교육 내용에 포함시킨 것으로 생각할 수 있다. '로봇을 제작'한다는 문구가 로봇을 조립하는 것으로 혼동될 수 있으나 성취 기준 해설을 통해 '로봇에 사용되는 센서와 인체 구조를 비교하여 이해하고 센서를 장착한 로봇을 제작하여 구동시켜 봄으로써 로봇의 작동 원리를 강조한다'고 명시하여 단순한 교구 조립이 아님을 명시하고 있다. 

   


5. 교수학습 전개 도구 및 자료

  가. 저학년 ; 언플러그드(놀이로 배우는 컴퓨터 과학, 엔트리 봇 등), 알고리즘(code.org, 라이트봇, 엔트리 학습모드 등)

  나. 중학년 : 교육용 프로그래밍 언어(엔트리, 스크래치)

  다. 고학년 : 피지컬 컴퓨팅(E-센서보드, 햄스터, 마이키 마이키, 아두이노 등)





* 참고 문헌 

  1. SW교육 운영 지침

  2. SW교육 교수학습 모형 개발 연구, 2015년 교육정책네트워크 교육현장지원연구

  3. 송상수 선생님 블로그

  4. 소프트웨어교육을 준비하는 선생님들의 모임  - 현재 운영은 안되고 기존 자료만 있음

  5. 초등컴퓨팅교사협회 

  6. SlideShare  소프트웨어교육

  7. SlideShare SW 연구학교 교사동아리 연수

  8. 소프트웨어 중심사회 홈페이지

  9. 네이버 소프트웨어야 놀자

  


교육부_교육과정정책과_소프트웨어_교육_운영_지침 (1).hwp
2.17MB
알고리즘 학습지_체험교실용.hwp
1.19MB

'SW교육 > 종합' 카테고리의 다른 글

SW교육 교수학습 모델   (0) 2018.08.08
SW교육의 필요성   (0) 2016.08.07
sw교육의 필요성   (0) 2016.06.10
code.org 학급 개설하기   (0) 2016.05.04
컵 드론 연수  (0) 2016.03.14