소프트웨어교육론 전체

312
이 책에서는 컴퓨터 과학의 원리 와 개념을 기반으로 생활 속 문제 를 효과적으로 해결할 수 있는 퓨터 과학적 사고를 키우기 위해 소프트웨어 교육에 대한 기본 개 념과 목적을 정립하고, 그것을 기 반으로 한 구체적인 교육 내용과 방법을 제시하고 있습니다. 소프트웨어 교육론

Upload: youngsik-jeong

Post on 08-Jan-2017

2.735 views

Category:

Education


8 download

TRANSCRIPT

Page 1: 소프트웨어교육론 전체

이 책에서는 컴퓨터 과학의 원리와 개념을 기반으로 생활 속 문제를 효과적으로 해결할 수 있는 컴퓨터 과학적 사고를 키우기 위해소프트웨어 교육에 대한 기본 개념과 목적을 정립하고, 그것을 기반으로 한 구체적인 교육 내용과방법을 제시하고 있습니다.

소프트웨어 교육론

Page 2: 소프트웨어교육론 전체

소프트웨어 교육의환경

1.

소프트웨어 교육론

Page 3: 소프트웨어교육론 전체

(1) 인류 역사의 변화

사회 패러다임의 변화1.

Page 4: 소프트웨어교육론 전체

(2) 현대 사회의 변화

▶ 정보 기술의 급속한 발전

[무어의 법칙에 따른 데이터 저장량의 성장]

사회 패러다임의 변화1.

Page 5: 소프트웨어교육론 전체

㉮ 지식 생산의 가속화

• 디지털화(자동화)의 핵심

• 정보 기술의 발달

• 최근 정보 기술의 쌍방향적 성격

• 정보와 지식 증대로 사람들의 분석적 능력은 강화되지만 종합적 능력은 약화

• 지식 증가로 인해 오히려 불확실성 증가

사회 패러다임의 변화1.

Page 6: 소프트웨어교육론 전체

㉯ 지식 수명의 단축

[지식 양의 증가 속도]

지식의 수명이 짧아짐 ⇒ 평생 교육 또는 사회 교육이 일상화 ⇒ 인생 전반에 걸쳐 수

시로 교육을 받아야 하는 비선형적 인생 과정

사회 패러다임의 변화1.

Page 7: 소프트웨어교육론 전체

㉰ 문화 산업의 확대

• 정보 기술 발달 ⇒ 유연적 생산 가능 ⇒ 유연적 소비에 적합한 문화 창조 ⇒ 콘텐츠 산업

(영화,TV,대중 음악,캐릭터,컴퓨터 게임) 활성 ⇒ 문화 산업 시대

• 문화 산업과 관련된 많은 직업과 일자리 창출

㉱ 높은 실업 사회

• 정보 기술 발달 ⇒ 자동화 진행 ⇒ 기계가 노동력 대체 ⇒ 기존 직업과 일자리 소멸 우려

사회 패러다임의 변화1.

Page 8: 소프트웨어교육론 전체

(3) 미래 사회의 변화

㉮ 미래 사회의 특징

학자 미래모습

제롬 글렌 가상 현실 사회

윌리엄 하랄 인공 지능 사회

롤프 엔센 드림 소사이어티

다니엘 핑크 하이콘셉트 / 하이터치

앨빈 토플러 프로슈머 경제

사회 패러다임의 변화1.

Page 9: 소프트웨어교육론 전체

[인간 중심 초연결 사회]

사회 패러다임의 변화1.

Page 10: 소프트웨어교육론 전체

㉯ 미래 사회에 대한 대비

• 공간과 영역, 산업과 서비스의 파괴적 혁신으로 초경쟁 시대 도래

• 다원화와 개인화로 인한 갈등 최소화 위한 조정 절차 마련

• 인간의 감정, 건강, 생활 환경에 밀접한 영향을 미치는 기술 환경에 기회와 위협

공존

• 사회 전반의 네트워크화로 온·오프라인의 경계가 모호해짐

사회 패러다임의 변화1.

Page 11: 소프트웨어교육론 전체

㉰ 미래 직업에 대한 대비

(1) 직업의 경쟁력 : 경쟁력 있는 직업 선택 필요

▶ 경쟁력 있는 직업 특징

• 시대 흐름,과학 기술의 발달,근로자 감원,자동화 등 환경 변화에 능동적

• 직업 전환이 용이하고,신기술이나 신지식 습득이 유리

• 지식과 정보의 축적이 가능하고,현실적 재화 창출 가능

• 새로운 경제 체제의 직업으로서 조화롭고,근로자 성취욕이 높음

• 육체 노동과 정신 노동의 조화 또는 정신 노동으로의 전환 가능

사회 패러다임의 변화1.

Page 12: 소프트웨어교육론 전체

(2) 기술 융합과 직업 : 기술 융합 시대로의 패러다임 변화에 적극 대처 필요

▶ 기술 융합의 사례

융합형태 기반기술 융합사례 융합형태 기반기술 융합사례

기술+

기술

IT + NTIT + BTNT + BT

• 차세대 디스플레이• 분자 일렉트로닉스• 차세대 메모리• U-헬스케어 서비스

기술+

기술

IT + 산업IT + 산업NT + 산업

• 의료 관광• 에너지 신소재• 환경 친화적 자동차• U-시티(U-City)

사회 패러다임의 변화1.

Page 13: 소프트웨어교육론 전체

[기술 융합의 예-U 헬스케어 서비스]

사회 패러다임의 변화1.

Page 14: 소프트웨어교육론 전체

(3) 유망한 직업 : 수작업에 의존하던 직업이 사라지고, 융합 관련 직업 증가

▶ 미래의 유망한 직업

선정기관 직업

교육부데이터마이너(데이터 과학자),인터넷 보안 관리자,화이트 해커,증강 현실 관련 프로그래머,로봇 관리자,탄소 배출권 거래 중개사,홀로그램 전문가,의료 관광 코디네이터,동물 간호사 등 200여 개

고용 노동부소셜 미디어 관리 전문가,디지털 장의사,빅데이터 전문가,탄소 배출권 중개사,U-헬스 전문가,인공 지능 전문가,홀로그램 전문가,기후 변화 전문가 등 100여 개

보프스 소프트웨어 개발자,시장 조사 연구원,웹 개발자,물류 전문가,데이터베이스 관리자,정보 보안 분석가

한국고용정보원오감 인식 기술자,인공 장기 조직 개발자,탈부착 골근격 증강기 연구원,국제 인재 채용 대리인,사물 데이터인증원,기억 대리인,데이터 소거원,아바타 개발자,도시 대시 보드 개발자 등

사회 패러다임의 변화1.

Page 15: 소프트웨어교육론 전체

[컴퓨팅 패러다임의 변화]

컴퓨팅 기술의 변화2.

Page 16: 소프트웨어교육론 전체

(1) 메인 프레임 컴퓨팅

• 범용 목적 대형 컴퓨터

• 고도의 내부 기술, 안정적인 결과 산출, 기술 지원, 보안성,

신뢰성 및 이전 버전과의 호환성에 대한 염려가 없음.

컴퓨팅 기술의 변화2.

[IBM의 메인 프레임]

(2) PC 컴퓨팅

• 개인용 컴퓨터(PC ; Personal Computer)

• 대형 컴퓨터의 기능을 대부분 수행할 수 있지만,개인 사용자가 간편하게 사용할 수

있도록 만들어진 소프트웨어를 주로 사용

Page 17: 소프트웨어교육론 전체

(3) 스마트 컴퓨팅

• 유연성, 확장성, 예측성이 핵심 기능

• 소프트웨어와 하드웨어 기술의 통합 체계

[딥러닝이 활용 분야 -얼굴 인식]

㉮ 유비쿼터스 컴퓨팅

• 모든 곳에 컴퓨터 칩을 넣은 환경을 의미

• 이동성(Mobility)

• 기기 간의 호환성(Inter Connectivity)

• 상황 인식(Context Awareness)

2. 컴퓨팅 기술의 변화

Page 18: 소프트웨어교육론 전체

▶ 지능형 교통 정보 시스템(ITS)에서 유비쿼터스 컴퓨팅 특징

• 연결성

• 은닉성

• 실제성

• 지능성

[유비쿼터스 컴퓨팅 환경]

2. 컴퓨팅 기술의 변화

Page 19: 소프트웨어교육론 전체

㉯ 클라우드 컴퓨팅

• 소프트웨어, 스토리지, 서버, 네트워크 등 IT 자원에 대한 서비스 기술

[클라우드 컴퓨팅 개념도]

2. 컴퓨팅 기술의 변화

Page 20: 소프트웨어교육론 전체

(1) 장점

• 경제성

• 에너지 효율성

• 업무 효율성

• 신속성

• 관리 용이성

(2) 단점

• 해킹 시 파급 효과 큼

• 호환성 문제가 일어날 수 있음

• 장애 발생 시 전사적 손해 발생할 수 있음

2. 컴퓨팅 기술의 변화

Page 21: 소프트웨어교육론 전체

(4) 휴먼 컴퓨팅

[휴먼 컴퓨팅 개념도]

2. 컴퓨팅 기술의 변화

Page 22: 소프트웨어교육론 전체

(5) 인지 컴퓨팅

• 뇌와 같은 조직 원리와 정보 처리 구조를 닮은 컴퓨팅 방식 구현

▶정보 처리 시스템의 분석 단계

단계 주요역할

계산 단계• 시스템이 무엇을 수행하는가?• 무슨 문제를 해결하거나 극복하려고 하는가?• 왜 그렇게 하는가?

알고리즘(표상) 단계

• 수행하는 일을 어떻게 수행하는가?• 어떤 표상을 이용하며, 이 표상을 구성하고 조작할 때 무슨 과정을 거치는가?

구현 단계• 이 시스템은 물리적으로 어떻게 실현되는가?• 어떤 신경계의 구조와 활동이 그 과정을 구현하는가?

2. 컴퓨팅 기술의 변화

Page 23: 소프트웨어교육론 전체

[뉴로시냅틱 인지 컴퓨팅 시대로의 진화]

컴퓨팅 기술의 변화2.

Page 24: 소프트웨어교육론 전체

(6) 감성 컴퓨팅

• 인간의 감성을 인지·해석·처리할 수 있는 시스템과 장치 설계와 관련된 인공 지능을

연구하고 개발

[키보드를 통한 감정 상태 분석]

2. 컴퓨팅 기술의 변화

Page 25: 소프트웨어교육론 전체

(1) 소프트웨어의 중요성

㉮ 소프트웨어의 발달사

• 1940년대 : 개별 시스템에서 작동될 수 있는 주문형 방식으로 제작

• 1980년대~1990년대 : 소프트웨어가 상품으로 본격적으로 유통되기 시작

• 2000년대 : 인터넷의 폭발적 보급과 더불어 기존의 컴퓨터를 넘어 다양한 기기에 적용

시작

㉯ 소프트웨어의 영향력

• 양질의 일자리 창출 효과, 다른 산업의 고부가가치화를 선도하는 핵심 인프라

• 하드웨어적으로 구현되었던 부분이 소프트웨어로 대체되거나 소프트웨어에 의해 새로

운 기능이 실현

• 제품의 지능화 담당, 각종 기기의 중요 기능을 제어하는 데 사용

소프트웨어의 변화3.

Page 26: 소프트웨어교육론 전체

(2) 소프트웨어의 발전 방향

• 시장 요구 변화를 수용하는 방향으로 발전

• 사용자의 확대 방향으로 발전

• 정보를 이용하는 시장의 요구에 따라 발전

• 기계가 정보의 사용자로 자리 잡게 될 것으로 전망

소프트웨어의 변화3.

Page 27: 소프트웨어교육론 전체

㉮ 소프트웨어의 융합 기술

[소프트웨어 융합 기술]

3. 소프트웨어의 변화

Page 28: 소프트웨어교육론 전체

㉯소프트웨어 유통 과정의 변화

구분 방식 내용

1990년대 이전 Turn-Key컴퓨터 시스템 공급자가 하드웨어,소프트웨어,사용자 교육,그리고 사후 관리까지 제공하고 책임지는관리 방식

1990년대 전반 Package 오피스 등 이용도가 높은 프로그램이나 업무,업종에 적합한 프로그램을 묶어서 상품으로 제공하는 방식

1990년대 후반 ASP고가 하드웨어, 소프트웨어를 도입하지 않고도 네트워크 인프라를 이용하여 다양한 정보화 솔루션을 사용할 수 있는 애플리케이션 임대 서비스 방식

2000년대 후반 SaaS공급 업체가 하나의 플랫폼을 이용하여 다수 고객에게 SW서비스를 제공하고, 사용자는 이용한 만큼 돈을 지불하는 방식

2010년대 이후 Cloud iCloud 등 미디어 리소스를 서버에 놓고,위치에 관계없이 소프트웨어를 사용

3. 소프트웨어의 변화

Page 29: 소프트웨어교육론 전체

(3) 소프트웨어 중심 사회

▶소프트웨어에 의한 산업·시장·인력 환경의 변화

등장시기 1980년대 1990년대 2000년대 현재~

산업 컴퓨터 통신, 자동화 등의 장비 중간재로 부가 가치를 생산 중간재, 최종재로 생산 소프트웨어는 최종재로 생산

시장개인용 PC에 대한 소프트웨어의 인지 시장 활용을 위한 재화

전자 제품, 서비스 분야에 중간재로 거래

전통 산업의 제품, 서비스, 개인의 부가 가치를 상승시키는재화

산업, 서비스 고도화에 따른 융합화 적용 범위 확대 추세

인력 전문 인력 전문 인력전문 인력 및 일반 사용자 참여시작

일반 사용자 적극 참여

3. 소프트웨어의 변화

Page 30: 소프트웨어교육론 전체

1 아래 예시된 시각적 사고 도구(Visual Thinking Tool) 등을 사용하여 일상생활에서 소프트웨어 적용 사례를 찾

아 마인맵을 제작해 보고, 사례에서 각 개인이 보완 또는 생각하는 새로운 기능 등 아이디어를 제시해 보자.

2 임베디드 소프트웨어의 꽃인 자율 주행 자동차(Auto Driving Car)에 사용되는 소프트웨어의 종류에 대해 알아

보자.

3 2011년 미국의 유명한 TV 퀴즈 쇼 ‘제퍼디’에서 컴퓨터인 ‘왓슨’이 인간을 물리치고 우승하는 이변이 일어났다.

‘왓슨’ 컴퓨터가 지닌 능력에 대해 알아보자.

4 일상생활에서 소프트웨어가 갖는 막대한 영향력에 대해 알아보자.

프레지 http://prezi.com

프리마인드 http://freemind.sourceforge.net/wiki/

기타 인터넷을 통해 다른 시각적 사고 도구 검색하여 사용

[평가 문항]

Page 31: 소프트웨어교육론 전체

소프트웨어 교육의목적

소프트웨어 교육론

2.

Page 32: 소프트웨어교육론 전체

(1) 핵심 역량의 개념

• 조직 구성원 모두 반드시 지니고 있어야 할 최소한의 공통 필수 역량

• 미래 사회에서는 창의적 인재 양성을 위해 역량 중심 교육으로 전환 필요

• 학교 교육의 역할을 특정 개인이 타인과 더불어 온전한 삶을 영위할 수 있도록 개인의

역량을 강화하는 것으로 재해석 필요

미래 사회의 핵심 역량1.

Page 33: 소프트웨어교육론 전체

(2) 21세기의 핵심 역량

▶ 21세기의 핵심 역량 연구

미래 사회의 핵심 역량1.

연구자 범주 핵심 역량

유현숙(2004)

기초 문해력 3R(읽기, 쓰기, 셈하기)

핵심 능력 의사소통 능력, 문제 해결력, 자기 주도적 학습 능력

시민 의식 도덕성, 질서 의식, 책임감

직업 특수 능력 특정 직업에 필요한 지식, 기술, 태도 요인을 포함한 직무 수행 능력

21세기 스킬파트너십

(P21;Partnership for 21st Century Skills,

2011)

학습과 혁신 기술 창의성, 혁신, 비판적 사고 능력, 문제 해결 능력, 의사소통, 협력

생애와 경력 기술 융통성과 적응성, 주체성과 자기 주도성, 사회성과 다문화 수용성, 생산성, 리더십과 책무성

정보·매체·테크놀로지 기술 많은 정보에 대한 접근·선택·분석·활용 능력, 미디어 활용 능력, ICT 응용 능력

OECD DeSeCo 프로젝트

(2001)

자율적 행동 넓은 시각에서 행동하는 능력, 인생의 계획과 개인적인 관계를 설정하고 실행하는 능력

상호 작용을 위한 도구 활용 원활한 상호 작용을 위한 언어, 상징, 텍스트, 지식, 정보 활용 능력 및 기술 사용 능력

이질적 집단과의 사회적 상호 작용 원활한 대인 관계 형성 및 유지 능력, 협동 능력, 갈등을 관리하고 해결하는 능력

허희옥(2011)

기초 능력 개발 창의적 능력, 문제 해결력, 의사소통, 협력, 테크놀로지 리터러시, 예술적 사고 등

인성 개발 배려, 전심전력, 도전 의식, 윤리 의식 등

경력 증진 사회적 능력, 유연성, 자기 주도성, 리더십, 책무성 등

Page 34: 소프트웨어교육론 전체

(3) 학교 교육에서의 핵심 역량

▶ 국내외 학교 교육에 포함된 핵심 역량

1.

국가 및 기관 핵심 역량

OECD DeSeCo 프로젝트 자율적 행동하기, 양 방향으로 도구 활용하기

영국의사 소통(Communication), 수의 적용(Application of Number), 정보 기술(Information Technology), 협력(Working with Others), 학습 능력 개선(Improving Own Learning and Performance), 문제 해결(Problem Solving), 사고능력(Thinking Skill)

한국교육과정평가원창의력, 문제 해결 능력, 의사소통 능력, 정보 처리 능력, 대인 관계 능력, 자기 관리 능력, 기초 학습 능력, 시민 의식, 국제 사회와 문화 이해, 진로 개발 능력

한국과학창의재단 창의, 내용 융합, 소통, 배려

미래 사회의 핵심 역량

Page 35: 소프트웨어교육론 전체

▶ 국내외 학교 교육에 포함된 공통 핵심 역량

1. 미래 사회의 핵심 역량

Page 36: 소프트웨어교육론 전체

(4) 소프트웨어 교육과 핵심 역량

㉮ 소프트웨어 교육과 21세기 핵심 역량

▶ 소프트웨어 교육과 핵심 역량의 비교

1.

핵심 역량 소프트웨어 교육과 핵심 역량의 관계 소프트웨어 교육

대인 관계문제를 해결하는 과정에서 공유와 협업을 통해 소통하고, 결과를 확신시킬 수 있도록 하

며, 건전한 정보 공유와 다양성을 이해할 수 있는 능력대인 관계 능력

의사 소통문제를 발견하고 이해하며, 각각의 문제를 해결하는 과정에서 정보를 수집· 가공·교환할수 있는 능력

의사 소통 능력

정보 활용 능력 알고리즘적 사고를 위해 기본적으로 필요한 능력 알고리즘적 사고

정보 인성 문제 해결 과정의 협업과 공유를 통한 대인 관계 능력 대인 관계 능력

문제 해결력 알고리즘적 사고를 통한 문제 해결 과정 알고리즘적 사고

미래 사회의 핵심 역량

Page 37: 소프트웨어교육론 전체

㉯ 소프트웨어 교육과 창의적 문제 해결력

▶국내외 공통 핵심 역량을 기르기 위해 소프

트웨어 교육을 통해 길러야 할 핵심 역량

⇒ 창의적 문제 해결 능력

[소프트웨어 교육과 핵심 역량]

1. 미래 사회의 핵심 역량

Page 38: 소프트웨어교육론 전체

미래 사회의 인재2.

(1) 하이콘셉트와 하이터치

㉮ 하이콘셉트

• 사전적으로 ‘관객에게 폭넓은 호소력을 갖는다’라는 의미

• 인간의 창의성과 독창성을 기반으로 새로운 아이디어를 창출하고, 실현할 수 있는 능력

㉯ 하이터치

• 공감을 이끌어 내는 능력

• 하이콘셉트의 성공적 구현을 위해 하이터치가 중요

Page 39: 소프트웨어교육론 전체

미래 사회의 인재2.

(2) 미래 인재의 조건

㉮ 디자인

• 종합적 이해 능력, 지식 활용 능력, 변화와 개혁 창출 및 전문적 표현 능력 필요

㉯ 스토리

• 요약하고, 맥락을 만들고, 감정에 호소하는 능력은 미래 사회에 꼭 필요

㉰ 조화

• 큰 그림을 볼 수 있고, 새로 전체를 구성하며, 서로 결합시킬 수 있는 조화 능력 필요

Page 40: 소프트웨어교육론 전체

㉱ 공감

• 자신을 다른 사람의 입장에 놓고 그 사람의 느낌을 직관적으로 이해하는 능력

㉲ 비판

• 빅데이터 시대에 약과 독을 가려내기 위한 이성적 도구로, 정확한 정보를 바탕으로 명

확하고 합리적인 의사 결정과 정확한 문제 해결에 도움을 주는 사고

㉳ 창의성

(1) 개념

① 프레더릭 테일러(Frederic W. Taylor) : 스스로 돌파구를 찾아내고 탈출하는 재능

② 하워드 서스턴(Howard Thurston) : 평범한 것 이상의 발명이나 천재적 사고 외에 개인

의 자아실현, 자기 표현의 욕구에서 근원된 상상적 활동

③ 알렉스 오즈번(Alex F. Osborn) : 일상생활에서 부딪히는 여러 사태나 문젯거리를 자

기만의 새롭고 특유한 방법으로 해결해 나가는 활동

2. 미래 사회의 인재

Page 41: 소프트웨어교육론 전체

(2) 특성

• 민감성

• 유창성

• 융통성

• 독창성

• 개방성

• 기타 : 조직성, 정교성, 종합력

2. 미래 사회의 인재

Page 42: 소프트웨어교육론 전체

(1) 고차원적 사고 기술

㉮ 고차원적 사고의 정의

• 개념과 지식을 사고를 통해 구조를 형성하는 과정

• 비판적(Critical) 사고, 논리적(Logical) 사고, 반성적(Reflective) 사고, 메타인지적(Meta-

Cognitive) 사고, 창의적(Creative) 사고

㉯ 고차원적 사고와 정보 기술

• 일상생활에서 일어나는 복잡한 문제들에 대해 혁신적인 해결책을 찾을 필요가 있을 때

컴퓨터에게 많은 일들을 맡기면서 우리는 많은 뇌 공간을 자유롭게 할 수 있음.

미래 사회의 사고력3.

Page 43: 소프트웨어교육론 전체

(2) 컴퓨터 과학적 사고

㉮ 정의

연구자 정의

CSTA (2011) • 컴퓨터에서 구현되는 방법으로 문제를 해결해 가는 접근 방법

NRC (2010)• 피터 리(Peter Lee): 복잡성 관리를 돕고 작업의 자동화를 허용하는 추상화 도구에 의해 인간의 정신 능력을 확장시킴.

• 빌 울프(Bill Wulf): 프로세스와 프로세스를 가능하도록 추상적인 현상에 초점을 맞춤.

NRC (2011) • 피터 헨더슨(Peter Henderson): 제약 조건을 가진 일반화된 문제를 해결하는 사고

이은경 (2009) • 컴퓨터 과학의 기본 개념과 원리에 따라 문제 해결, 시스템 설계, 인간 행동의 이해를 포함하는 추상적 사고 능력

권대용 (2011)• 컴퓨터 과학의 기본 개념과 원리에 따른 문제 해결, 시스템 설계, 인간 행동의 이해를 포함하며, 컴퓨터 과학의 다양한 영

역을 반영하는 정신적 도구의 범위를 포함

김형철 (2011)• 좁은 의미: 계산 시스템(Computational System)을 활용해 효과적으로 작업하기 위해 습득해야 할 사고 방식이나 태도

• 넓은 의미: 세상을 이해하는 양식(단순한 방법을 초월한 양식, 광범위한 인간 노력에 두루 접목 가능한 양식)

김병수 (2014)

• 좁은 의미: 계산 시스템(Computational System)을 활용해 효과적으로 작업하기 위해 습득해야 할 사고방식이나 태도

• 넓은 의미: 일상생활에서부터 디지털 세계를 망라하여 자연적으로 또는 인간 사회에 존재하는 다양 한 현상 속의 계산을

계산 대행자(Computational Agent)를 이용하여 발견하거나 새롭게 창조하기 위해 습득해야 할 인간의 사고 양식과 태도

미래 사회의 사고력3.

Page 44: 소프트웨어교육론 전체

㉯ 구성 요소

▶ 논리적 사고, 비판적 사고, 창의적 사고, 알고리즘적 사고, 재귀적 사고

[컴퓨터 과학적 사고의 구성 요소]

미래 사회의 사고력3.

Page 45: 소프트웨어교육론 전체

(1) 논리적 사고

• 논리적으로 생각하는 능력으로 비판적 사고와 동일 개념으로 혼용

• 수리 논리적 측면과 언어 논리적 측면이 통합된 적용력을 가진 사고 유형에 대한 연구

와 훈련 추구

• 흩어진 정보를 논리적 사고를 통해 재조합할 때 새로운 정보 탄생

(2) 비판적 사고

• 특정 주장에 대한 판단을 수용하거나 거절 또는 보류할지에 대해 매우 신중하게 결정

하는 능력

미래 사회의 사고력3.

Page 46: 소프트웨어교육론 전체

▶ 비판적 사고의 절차

① 문제 인지

② 문제를 다룰 수 있는 적절한 수단 찾기

③ 문제와 관련된 정보 수집

④ 명시적이지 않은 가정과 가치 파악

⑤ 언어의 정확하고 명료한 사용

⑥ 자료의 해석

⑦ 증거와 논증에 대한 평가

⑧ 명제들 간의 논리적 관계 확인

⑨ 보증된 결론과 일반화의 도출

⑩ 자신이 얻어낸 결론과 일반화에 대한 검증

⑪ 폭넓은 경험을 기반으로 믿음의 패턴 재구성

⑫ 일상에서 특정 대상 및 성질에 대한 정확한 판단

3. 미래 사회의 사고력

Page 47: 소프트웨어교육론 전체

(3) 창의적 사고

• 새로운 생각이나 개념을 찾아내거나 기존에 있던 생각이나 개념들을 새롭게 조합해

내는 것과 연관된 정신적이고 사회적인 과정

(4) 시스템적 사고

• 시스템을 구성하는 대상이나 사물을 전체적으로 파악

(5) 재귀적 사고

• 컴퓨터 프로그래밍에서 반복 계산법에 의한 처리 과정에 유용

(6) 알고리즘적 사고

• 컴퓨터가 문제를 해결할 수 있도록 문제를 해결하는 데 필요한 과정을 순차적으로 나

열 및 적용하는 사고 과정

3. 미래 사회의 사고력

Page 48: 소프트웨어교육론 전체

㉰ 개발 방법

(1) 루브 골드버그 장치의 활용

[루브 골드버그 장치(Rube Goldberg Machine)]

3. 미래 사회의 사고력

Page 49: 소프트웨어교육론 전체

(2) 스크래치의 활용

컴퓨터 과학적 사고 스크래치를 활용한 학습 활동

절차 및 알고리즘 • 동작, 형태, 소리, 반복 등 블록들을 사용해 순차, 반복, 조건 등을 처리함.

병행화 및 동기화• 이벤트 블록을 사용하여 동시에 다수의 블록들이 수행되도록 함.

• 스프라이트(Sprite) 간에 방송 메시지를 교환해 동기화를 구현함.

자료 표현 • 데이터 블록의 변수와 리스트를 활용해 자료를 표현하고 관리함.

추상화 • 블록 추가를 통해 새로운 블록을 만들고 필요할 때 사용함.

문제 분해 • 자기 복제하기 블록을 사용해 복잡한 문제를 분해해 해결함.

시뮬레이션 • 블록에 다른 파라미터를 전달해 해당 파라미터에 대한 결과를 확인함.

3. 미래 사회의 사고력

Page 50: 소프트웨어교육론 전체

(3) 디자인적 사고

㉮ 정의

• 주어진 문제를 창조적으로 해결함으로써 혁신적인 디자인을 가능하게 하는 사고

의 과정 및 방법

㉯ 절차

3. 미래 사회의 사고력

[디자인적 사고의 절차]

Page 51: 소프트웨어교육론 전체

1 오늘날은 핵심 인재 1, 2명이 기업이나 국가를 먹여 살리는 시대이다. 미래 사회에서 요구되는 핵심 역량과 인

재 조건에 대해 알아보자.

2 소프트웨어 교육이 필요한 이유와 컴퓨터 과학적 사고(Computational Thinking)를 통해 얻고자 하는 것이 무

엇인지에 대해 알아보자.

3 로봇 팔을 움직이게 하는 루브 골드버그 장치를 설계해 보자.

[평가 문항]

4 디자인적 사고는 오른쪽 그림처럼 분석적 사고와 직관적 사

고가 50 : 50으로 섞인 것이다. 여기에 알고리즘적 사고를 더하

여 이들 간의 인과 관계를 분석해 보자.

Page 52: 소프트웨어교육론 전체

소프트웨어 교육의이해

소프트웨어 교육론

3.

Page 53: 소프트웨어교육론 전체

(1) 소프트웨어의 정의 및 특징

㉮ 소프트웨어의 정의

• 컴퓨터, 통신, 자동화등의장비와그주변장치에대하여명령, 입력, 처리, 저장, 출력,

상호작용이가능하도록하는지시・명령의집합과이를작성하기위하여사용된기술

서및기타관련자료

㉯ 소프트웨어의 특징

• 재료,에너지,물류,통관이불필요하여자원부족국가에적합

• 사람이직접개발하기때문에고용유발효과가큼.

• 동일한결과물을내더라도개발자에따라투입비용과성능및기능이차이가큼.

소프트웨어의 개념1.

Page 54: 소프트웨어교육론 전체

(2) 소프트웨어의 종류

㉮ 사용자에 따른 분류

1.

[소프트웨어의 종류]

소프트웨어의 개념

Page 55: 소프트웨어교육론 전체

㉯ 상업성에 따른 분류

• 상업용소프트웨어

• 개인용소프트웨어

㉰ 구매 형태에 따른 분류

• 셰어웨어(Shareware)

• 라이트웨어(Lightware)

• 프리웨어(Freeware)

• 프리소프트웨어(Free Software)

1. 소프트웨어의 개념

Page 56: 소프트웨어교육론 전체

㉱ 기타 소프트웨어

• 유틸리티(Utility)

• 애플릿(Applet)

• 펌웨어(Firmware)

1. 소프트웨어의 개념

Page 57: 소프트웨어교육론 전체

(3) 임베디드 소프트웨어

㉮ 개념

• 마이크로프로세서에내장되어특정기능을수행하도록지원하는소프트웨어

㉯ 활용 사례

영역 적용및 활용사례

기본 응용 멀티미디어 재생기, MAP Viewer, 브라우저 등

미들웨어 CORBA, COM, XML, TMO 등의 분산 미들웨어, JVM, J2ME 등 자바 미들웨어 등

시스템 소프트웨어 임베디드 OS, 디바이스 드라이버, 유•무선 통신 프로토콜 및 멀티미디어 프로토콜 지원 라이브러리 등

시스템 개발 도구 설계 도구, 시험 검증 도구, IDE, 타깃 시스템 재설정 도구, 각종 시뮬레이터, 크로스 컴파일러 등

소프트웨어 플랫폼 MS 닷넷 컴팩트 프레임워크, Sun ONE, Brew, WIPI 등

1. 소프트웨어의 개념

Page 58: 소프트웨어교육론 전체

(1) 지능형자동차

(2) 모바일플랫폼

• 스마트폰중심의모바일플랫폼에는애플의 iOS와구글의안드로이드가있음.

1.

[자동차 임베디드 소프트웨어]

소프트웨어의 개념

Page 59: 소프트웨어교육론 전체

소프트웨어 교육의 개념2.

(1) 소프트웨어 교육의 정의

㉮ 코딩 교육

• 미국은컴퓨터과학적사고방법을훈련시키는데주안점을둠.

• 영국도 컴퓨터 과학적 사고를 강조하고 있으며, 다양한 영역에 걸쳐 컴퓨터를 다루는

방법을배움.

㉯ 프로그래밍

• 컴퓨터에게수행할일을지시하는일련의명령어집합을생성하는활동

Page 60: 소프트웨어교육론 전체

소프트웨어 교육의 개념2.

[프로그래밍 절차]

Page 61: 소프트웨어교육론 전체

㉰ 소프트웨어 교육

• 소프트웨어개발메커니즘에대한이해

• 컴퓨터프로그램제작에대한이해

㉱ 소프트웨어 교육의 필요성

• 삶의질개선위해프로그램작성법학습필요

• 소프트웨어를개발할때문제를해결해나가는절차적인사고기술이미래사회에서요

구되는핵심역량

2. 소프트웨어 교육의 개념

Page 62: 소프트웨어교육론 전체

㉲ 초 • 중등교육에서의 소프트웨어 교육의 필요성

• 컴퓨터과학적사고는전이가가능

• 컴퓨터과학적사고는과학적(S),공학적(E),수학적(M)사고에통합적으로접근

• 컴퓨터과학적사고는현실에서다양하게적용, 현실문제를컴퓨터과학적사고로접

근하면쉽게해결할수있음.

• 컴퓨터과학적사고에대한교육은미래기술에대한접근방식을제공

2. 소프트웨어 교육의 개념

Page 63: 소프트웨어교육론 전체

소프트웨어 교육의 훈련3.

(1) 문제 해결 과정에서의 컴퓨터 과학적 사고

㉮ 문제 해결 과정

• 문제분석⇒해결방법탐색⇒해결방법설계⇒해결및구현⇒평가

문제 해결과정

알고리즘적사고

논리적사고

비판적사고

재귀적사고

창의적사고

시스템적사고

문제 분석 ◯

해결 방법 탐색 ◯ ◯

해결 방법 설계 ◯ ◯ ◯ ◯

해결 및 구현 ◯ ◯ ◯

평가 ◯ ◯ ◯ ◯ ◯ ◯

Page 64: 소프트웨어교육론 전체

㉯ 알고리즘적 사고 전략

(1)알고리즘의정의

• 문제에대한답을찾기위해계산하는절차

• 단계별로주의깊게설계된계산과정

(2)알고리즘의효과

• 알고리즘은기술방법과데이터의효과적처리방법에대한개발이주요목적

(3) 알고리즘의표기

• 복잡하지않으면서알고리즘의모든과정을사용자가이해하는데충분할정도

소프트웨어 교육의 훈련3.

[알고리즘과 프로그램 설계 과정]

Page 65: 소프트웨어교육론 전체

(4) 알고리즘의검증

• 알고리즘이 의도한 대로 정확히 수행되는지 검증해 보아야 함(알고리즘의 정확성

(Correctness))

(5) 알고리즘적사고

• 사고는주어진문제를해결하기위한문제해결절차를만들어내는능력

(6) 알고리즘적사고전략

①문제분석

②알고리즘선택

③알고리즘분석

3. 소프트웨어 교육의 훈련

Page 66: 소프트웨어교육론 전체

(2) 생각의 메이커, 프로그래밍

㉮ 생각하게 하는 교육

• 프로그래밍은 잠재된 사고력을 훈련시키기에 아주 적합한 수단으로, 어려서부터

자연스럽게이러한훈련을받는다면사고력을증진시킬수있을것

㉯ 생각을 이끌어 내는 교육

• 프로그래밍을한다는것은실제로컴퓨터언어를사용해명령어를만들어내는코

딩을하기전에무수히많은생각을해야한다는의미

3. 소프트웨어 교육의 훈련

Page 67: 소프트웨어교육론 전체

1 다음 주어진 튜링 머신 시뮬레이터를 사용하여 사칙 연산을 실행시켜 보자.

2 다음의 미로 찾기 문제를 해결해 보자.

3 과학, 수학 등과 같은 교과목을 통해 습득할 수 있는 컴퓨터 과학적 사고(CT)에 대해 기술해 보자.

[평가 문항]

• http://turingmaschine.klickagent.ch/

• 사용된 전략을 작성해 보자.

• 만든 해결책에 대한 평가는 어떻게 할 것인지 작

성해 보자.

Page 68: 소프트웨어교육론 전체

소프트웨어 교육과정

소프트웨어 교육론

4.

Page 69: 소프트웨어교육론 전체

(1) 교육 과정 고시에 의한 소프트웨어 교육

▶ 소프트웨어 교육 관련 교육 과정 변천사

국내의 소프트웨어 교육 과정1.

교육 과정 초등학교 중학교 일반계 고등학교

제3차•기술

–전자계산기의 구성 –전자계산기의 활용

제4차•산업 기술

–전자계산기의 개요 –전자계산기의 응용

제5차

•실과(4~6학년)

–컴퓨터와 일의 세계

–컴퓨터의 종류와 쓰임새

–컴퓨터와 생활

•기술

–컴퓨터의 이용

•상업

–상업 계산, 컴퓨터 및 진로

•기술

–컴퓨터

•상업

–계산과 컴퓨터 활용

•정보 산업: 선택 과목 신설

–정보와 정보 산업 –정보 통신

–컴퓨터와 정보 처리

제6차

•실과(5~6학년)

–컴퓨터 다루기

–컴퓨터 관리하기

–컴퓨터로 글쓰기

•기술산업

–컴퓨터의 이용

•컴퓨터: 선택 과목 신설

–컴퓨터의 이해

–컴퓨터의 조작

–컴퓨터의 이용

•실용 수학

–계산기와 컴퓨터

•기술

–정보 통신 기술

•상업

–컴퓨터

•정보 산업: 선택 과목

–정보와 산업 –정보 처리와 컴퓨터

–컴퓨터의 이용 –프로그래밍

–정보 통신과 뉴미디어

Page 70: 소프트웨어교육론 전체

국내의 소프트웨어 교육 과정1.

교육 과정 초등학교 중학교 일반계 고등학교

제7차

•국어

–컴퓨터로 글쓰기

•실과(5~6학년)

–컴퓨터 다루기

–컴퓨터 활용하기

•기술가정

–컴퓨터와 정보 처리

–컴퓨터와 생활

•컴퓨터: 선택 과목 유지

–인간과 컴퓨터 –컴퓨터의 기초

–워드 프로세서 –PC 통신과 인터넷

–멀티미디어

•법과 사회

–컴퓨터 범죄와 사생활권의 침해

•실용 수학

–계산기와 컴퓨터 –생활 문제 해결

•정보 사회와 컴퓨터: 일반 선택

–사회 발달과 컴퓨터 –컴퓨터의 운용

–워드 프로세서/스프레드시트

–컴퓨터 통신망 –멀티미디어

2007 개정•실과(5~6학년)

–정보 기기와 사이버 공간

–인터넷과 정보

•기술가정

–컴퓨터와 정보 처리 –컴퓨터와 생활

•컴퓨터: 선택 과목 유지

–인간과 컴퓨터 –컴퓨터의 기초

–워드 프로세서 –PC 통신과 인터넷

–멀티미디어

•정보: 선택 과목

–정보 기기의 구성과 동작

–정보의 표현과 관리

–문제 해결 방법과 절차

–정보 사회와 정보 기술

2009 개정

•실과(5~6학년군)

–생활과 정보

–생활과 전기전자

•기술가정

–정보 통신 기술

•정보: 선택 과목

–정보 기기의 구성과 동작

–정보의 표현과 관리

–문제 해결 방법과 절차

–정보 사회와 정보 기술

•정보: 심화 선택 과목

–정보 과학과 정보 윤리

–정보 기기의 구성과 동작

–정보의 표현과 관리

–문제 해결 방법과 절차

2015 개정

•실과(5~6학년군)

–소프트웨어 원리 교육

–소프트웨어 툴 활용을 통한 소프트웨어 코

딩 이해

•기술가정

–정보와 통신 기술

•정보: 선택 과목

–정보 과학과 정보 윤리

–정보 기기의 구성과 동작

–정보의 표현과 관리

–문제 해결 방법과 절차

•정보: 일반 선택 과목

–컴퓨터 융합 활동을 통한 창의적 산출물 제

작 및 대학 진로 연계 학습

–프로그래밍 언어 학습

Page 71: 소프트웨어교육론 전체

교육 과정 초등학교 중학교 일반계 고등학교

교육 목표

•소프트웨어 원리 교육

•소프트웨어 툴 활용을 통한 소프트웨어 코딩

이해

•소프트웨어 원리 교육

•소프트웨어 툴 활용을 통한 소프트웨어 코딩

이해

•컴퓨터 융합 활동을 통한 창의적 산출물 제

작 및 대학 진로 연계 학습

•프로그래밍 언어 학습

교과 내용

•놀이 중심 활동 학습(컴퓨터 사고 이해)

•소프트웨어 툴 활용 학습(문제 해결 방법 익

히기)

•놀이 중심 활동 학습(컴퓨터 사고 이해)

•창의적 아이디어 산출물 제작(프로그램 제작

심화)

•프로그래밍 언어 학습(심화 문제 해결 학습)

창의적 체험 활동•논리적 사고 체험 활동(소프트웨어 코딩 활

동)

•소프트웨어 툴 활용 학습(문제 해결 방법 익

히기)

•논리적 사고 체험 활동(소프트웨어 코딩 활

동)

•컴퓨터 시스템 융합 활동 (R&D 활동)

▶ 2015 개정 교육 과정의 소프트웨어 교육 관련 주요 내용

1. 국내의 소프트웨어 교육 과정

Page 72: 소프트웨어교육론 전체

(2) 운영 지침에 의한 소프트웨어 교육

㉮ 2000년 정보 통신 기술 교육 운영 지침

영역 1단계 2단계 3단계 4단계 5단계

정보의 이해

와 윤리

•정보 기기의 이해

•정보와 생활

•정보의 개념

•정보 윤리의 이해

•정보 활용의 자세와 태도

•올바른 정보 선택과 활용

•정보 윤리와 저작권•정보화 사회의 개념 이해

•건전한 정보의 공유

•정보화 사회와 일의 변화

컴퓨터 기초

•컴퓨터의 구성 요소

•컴퓨터의 기본 작동 방법

•컴퓨터와 건강

•컴퓨터 기본 관리

•운영 체제의 기초

•컴퓨터 바이러스의 이해

•하드웨어와 소프트웨어의

이해

•운영 체제 사용법 익히기

•유틸리티 프로그램 활용

•소프트웨어 업그레이드•운영 체제의 종류 알기

•프로그래밍의 기초

소프트 웨어

의 활용

•교육용 소프트웨어 활용

학습

•워드 프로세서를 이용한

자료의 작성과 관리

•멀티미디어의 기초

•프레젠테이션의 기본 기능

•워드 프로세서의 고급 기

능과 활용

•다양한 교육용 소프트웨

어 활용

•프레젠테이션 활용

•스프레드시트 활용•데이터베이스 기본 기능•멀티미디어 활용

•다양한 형태의 자료 통합

하기

•데이터베이스 활용

컴퓨터 통신 •인터넷 기본 사용 방법 •전자 우편과 정보 나누기•전자 우편 관리와 인터넷 환경 설정

•사이버 공간 참여 및 활동

•다양한 정보 검색 과 활용

종합 활동•통신을 이용한 자료 수집

과 활용

•정보 검색 및 활용

•협동 프로젝트 학습 제3차

•자료 형태 변환하기•홈페이지 작성

•인터넷 학급 신문 만들기

•홈페이지 유지 및 관리

1. 국내의 소프트웨어 교육 과정

Page 73: 소프트웨어교육론 전체

㉯ 2005년 정보 통신 기술 교육 운영 지침

영역 1단계 2단계 3단계 4단계 5단계

정보 사회의

생활

•정보 사회와 생활 변화

•컴퓨터로 만나는 이웃

•컴퓨터 사용의 바른 자세

•사이버 공간의 올바른 예

•사이버 공간의 이해

•네티켓과 대인 윤리

•인터넷과 게임 중독의 예

•정보 보호와 암호

•바이러스, 스팸으로부터의

보호

•정보 활용의 자세와 태도

•올바른 정보 선택과 활용

•사이버 기관과 단체•사이버 공간의 윤리와 필요성•암호화와 정보 보호 기술•지식 재산권의 이해와 보호•정보 산업의 발전과 미래

•올바른 네티즌 의식

•정보 보호 법률의 이해

•네트워크 속에서의 정보

보호

•정보 사회와 직업 선택

정보 기기의

이해

•컴퓨터 구성 요소의 이해

•컴퓨터의 조작

•운영 체제의 사용법

•컴퓨터의 관리

•소프트웨어의 이해

•유틸리티 프로그램 활용

•주변 장치의 활용

•하드웨어와 소프트웨어의

이해

•운영 체제 사용법 익히기

•유틸리티 프로그램 활용

•운영 체제의 이해•네트워크의 구성 요소와 원리•컴퓨터 내부 구조의 이해•자신의 컴퓨터 구성

•운영 체제의 동작 원리

•서버와 네트워크 구조

정보 기기의

이해

•다양한 정보의 세계

•재미있는 문제와 해결 방

•숫자와 문자 정보의 표현

•문제 해결 과정의 이해

•워드 프로세서의 고급 기

능과 활용

•다양한 교육용 소프트웨

어 활용

•프레젠테이션 활용

•알고리즘의 이해와 표현•간단한 데이터 구조•입출력 프로그래밍

•데이터베이스의 이해와

활용

•프로그램 제작 과정의 이

•응용 소프트웨어 제작

정보 가공과

공유

•생활과 정보 교류

•사이버 공간과의 만남

•사이버 공간에서의 정보

검색과 수집

•문서 편집과 그림 작성

•전자 우편과 정보 나누기

•정보 공유 및 협력•정보 교류 환경의 설정•웹 문서 제작•멀티미디어 자료의 활용

•멀티미디어 자료의 가공

•웹 사이트 운영 및 관리

종합 활동•정보 사회에 대한 올바른

인식과 이해

•문제 해결을 위한 정보의

수집, 생성 및 보호

•정보 검색 및 활용

•협동 프로젝트 학습 제3차

•다양한 멀티미디어 정보를활용한 정보 교류

•사이버 공간에서의 올바

른 정보 공유

1. 국내의 소프트웨어 교육 과정

Page 74: 소프트웨어교육론 전체

㉰ 2015년 소프트웨어 교육 운영 지침

영역 초등학교 중학교 고등학교

생활과

소프트웨어

•나와 소프트웨어

–소프트웨어와 생활 변화

•정보 윤리

–사이버 공간에서의 예절

–인터넷 중독과 예방

–개인 정보 보호

–저작권 보호

•소프트웨어의 활용과 중요성

–소프트웨어의 종류와 특징

–소프트웨어의 활용과 중요성

•정보 윤리

–개인 정보 보호와 정보 보안

–지식 재산의 보호와 정보 공유

•정보 기기의 구성과 정보 교류

–컴퓨터의 구성 –네트워크와 정보 교류

•컴퓨팅과 정보 생활

–컴퓨팅 기술과 융합 –소프트웨어의 미래

•정보 윤리

–정보 윤리와 지식 재산

–정보 보안과 대응 기술

•정보 기기의 동작과 정보 처리

–정보 기기의 동작 원리

–정보 처리 과정

알고리즘과

프로그래밍

•문제 해결 과정의 체험

–문제의 이해와 구조화

–문제 해결 방법 탐색

•알고리즘의 체험

–알고리즘의 개념

–알고리즘의 체험

•프로그래밍 체험

–프로그래밍의 이해

–프로그래밍의 체험

•정보의 유형과 구조화

–정보의 유형 –정보의 구조화

•컴퓨팅 사고의 이해

–문제 해결 절차의 이해

–문제 분석과 구조화 –문제 해결 전략의 탐색

•알고리즘의 이해

–알고리즘의 이해와 설계

•프로그래밍의 이해

–프로그래밍 언어의 이해 –프로그래밍의 기초

•정보의 표현과 관리

–정보의 표현 –정보의 관리

•컴퓨팅 사고의 실제

–문제의 구조화 –문제의 추상화

–모델링과 시뮬레이션

•알고리즘의 실제

–복합적인 구조의 알고리즘 설계

–알고리즘의 분석과 평가

•프로그래밍의 이해

–프로그래밍 언어의 분류

–문제 해결과 프로그래밍 –프로그래밍의 실제

컴퓨팅과

문제 해결

•컴퓨팅 사고 기반의 문제 해결

–일상생활의 문제 해결

–다양한 영역의 문제 해결

•컴퓨팅 사고 기반의 융합 활동

–프로그래밍과 융합

–팀 프로젝트의 제작과 평가

1. 국내의 소프트웨어 교육 과정

Page 75: 소프트웨어교육론 전체

국외의 소프트웨어 교육 과정2.

(1) 미국

▶ 미국 CSTA의 정보 과학 과목의 주요 내용

수준 수준명 주요 내용 학년

1 컴퓨터 과학과 나•컴퓨터 과학의 기초 개념•능동적인 학습, 창작, 탐구 활동에 초점•사회 과학, 언어, 수학, 과학 등 다른 교과와 연계

K-6

2 컴퓨터 과학과 커뮤니티•전산적 사고를 문제 해결 도구로 활용•의사소통과 협력을 촉진하는 방법을 습득•사회 과학, 언어, 수학, 과학 등 다른 교과와 연계

6-9

3

A 현대 사회에서의 컴퓨터 과학•컴퓨터 과학의 원리와 실제를 이해•현대 생활에서의 컴퓨팅과 그 영향을 이해•컴퓨팅 기술의 사회적•윤리적인 영향을 이해

9-10

B 컴퓨터 과학의 개념과 실제•알고리즘적 문제 해결력 향상•일상생활의 문제 해결을 위한 알고리즘적 사고를 적용•문제 해결을 위한 협력 방안 습득

10-11

C 컴퓨터 과학의 주제•AP 과정으로 선택적으로 운영•자바 프로그래밍과 프로젝트 기반 학습•전문적인 컴퓨팅 자격증 취득

11-12

Page 76: 소프트웨어교육론 전체

(2) 영국

▶ 영국의 컴퓨팅 과목의 주요 내용

국외의 소프트웨어 교육 과정2.

단계 주요 내용 학년

KS1

•알고리즘 및 정확한 지시에 의해 작동하는 컴퓨터 프로그램에 대한 기본적 이해•간단한 프로그램의 작성과 디버깅•간단한 프로그램의 실행을 예측하는 논리적 사고 활용•디지털 콘텐츠의 생성, 저장, 작동, 검색 등을 할 수 있는 기술 사용•사생활을 보호할 수 있는 안전하고 책임 있는 기술의 활용

1-6

KS2

•특정 목적을 달성할 수 있는 프로그램의 설계 및 작성•프로그램에서 순차, 선택, 반복, 변수와 입출력 활용•간단한 알고리즘 작동을 설명하는 논리적 사고 활용, 알고리즘의 오류 검출과 수정•인터넷 등 컴퓨터 네트워크의 이해•검색 기술의 효과적 활용•데이터, 정보 관련 특정 목적을 달성하기 위해 다양한 소프트웨어의 선택, 사용, 결합•정보 기술의 안전하고 책임감 있는 활용과 일탈 행동 인지

3-6

KS3

•실제 문제나 물리 시스템을 모델링하는 컴퓨터 추상 개념의 설계, 활용, 평가•핵심 알고리즘을 이해하고, 동일 문제 해결을 위한 다양한 알고리즘 비교•2개 이상의 프로그래밍 언어 사용, 데이터 구조의 적절한 사용, 모듈 프로그램의 설계, 개발•AND, OR, NOT 등 논리의 이해와 활용•컴퓨터 시스템을 구성하는 하드웨어, 소프트웨어 부품 및 상호 관계 이해•데이터의 작동 이해, 컴퓨터 시스템에서 명령의 저장 및 실행 이해•복수의 응용 프로그램을 사용•결합하여 창의적인 프로젝트 실행•정보 보안, 정보 보호, 부적당한 콘텐츠 인식 등 이해

7-9

Page 77: 소프트웨어교육론 전체

(3) 에스토니아

▶ 에스토니아의 소프트웨어 교육 과정과 주요 내용

구분 주요 내용 학년

통합 교육 과정

1단계 •컴퓨터를 이용한 창의적인 작업을 위해 정보 기술 활용법 습득

필수2단계•컴퓨터 기반의 학습을 위해 추천되는 학습 활동과 그룹 활동•다른 과목이나 취미 활동에서 정보 기술 적용

3단계•가정 학습과 외부 학습 활동에 필요한 ICT 자원 활용•수업 중 ICT 기반으로 다른 과목과 통합적인 활동 전개

정보학

2단계 •텍스트 처리, 파일 관리, 인터넷 정보 검색, 멀티미디어 파일 작업, 자료 처리, 프레젠테이션 편집, 문서 형식

선택

3단계•정보 사회의 기술, 의사소통과 작업 공간으로서의 인터넷•e-state와 e-services, 개인의 학습 환경 구성, 콘텐츠 생산과 재활용, 라이선스, 가상적인 커뮤니티 활동, 프로젝트 활동

2. 국외의 소프트웨어 교육 과정

Page 78: 소프트웨어교육론 전체

(4) 이스라엘

▶ 이스라엘의 컴퓨터 과학의 교수 요목

단원 교수 요목 시간

1단원 컴퓨터 과학의 기초

•컴퓨터 과학 소개 10

90•클래스, 변수, 입출력, 함수, 메소드 등 기본 개념 30

•조건문(불 대수, 논리 연산자, If문) 10

•반복문(For문, While문, 필터링, 문서화) 40

2단원 객체 지향 언어의 기초•순차 자료 구조(배열, 검색, 정렬) 46

90

•객체 지향 언어(객체, 속성, 생산자, 캡슐화, 인터페이스) 44

3단원 실험실•웹프로그래밍 환경(CS 환경, DB 서버, 보안) •컴퓨터 구조와 기계어(2진수, 어셈블리어, 인터럽트)•정보 시스템과 DB(모델링, 테이블, 키, SQL)

90

4단원 자료 구조와 비판적 사고

•재귀(재귀형, 정의, 백트래킹, 콜) 14

90

•복잡성(런타임 분석) 8

•스택(LIFO, 일반형, ADT) 12

•큐(FIFO) 8

•연결 리스트(노드, 리스트, 참조, 메모리 할당) 15

•자료 구조의 구현(추상 자료형, 스택과 큐 구현) 15

•이진 트리의 개념과 노드, 탐색, 검색 18

5단원 고급 프로그래밍•컴퓨터 시스템과 어셈블리(8086 CPU, 레지스터) •성능 분석(최적화, 알고리즘, 그래프)•전산적 모델(퍼즐, 오토마타, 튜링 머신) •객체 지향 언어(자바, C#, 유전, 상속, UML, 설계)

90

2. 국외의 소프트웨어 교육 과정

Page 79: 소프트웨어교육론 전체

(5) 일본

▶ 일본의 중학교 기술과 가정 과목에서의 정보 과학 교육

수업 내용수업 시간

1학년 2학년 3학년 합계

정보와 우리의 생활 1 1 2

컴퓨터와 정보 처리 2 2 4

정보 통신 네트워크의이용

3 2 5

네트워크와 정보 보안 3 2 5

정보 윤리와 지식 재산 3 3 6

디지털 작품의 설계와제작

8 8 16

프로그램을 이용한 설계, 제어

7 8 15

정보에 관한 기술과 우리들

1 1 2

합계 20 18 17 55

2. 국외의 소프트웨어 교육 과정

Page 80: 소프트웨어교육론 전체

(6) 인도

▶ 인도의 소프트웨어 교육 관련 교육 과정

학년 개념 사용 기술 사회적 측면

1•응용 프로그램의 구분•컴퓨터 구성 요소와 기능•파일 개념

•애플리케이션의 실행과 종료•단순한 애플리케이션 사용•파일 열기, 편집, 저장하기•윈도 구성 요소와 조작

•바른 자세로 컴퓨터 사용하기•컴퓨터를 청결하게 사용하기•공용 자원을 공평하게 공유하기

2 •아이템 구분과 조직화•문서 편집 기초(삽입과 삭제)•오리기, 복사, 붙여넣기, 이미지•폴더 생성, 파일 삭제, 저장

•컴퓨터 관리 방법 및 절차 기술•어깨, 손, 목, 눈을 위한 신체 운동•타인의 개인 정보 존중•안전한 컴퓨터 사용(비밀번호)

3•하위 요소의 과제로 분할 •단계별 사고 과정 적용•컴퓨터 프로그램의 목적과 요소

•스크래치 실행과 결과 해석•단순 프로그램(움직임, 제어, 블록)

•팀 학습 활동 •눈, 손목, 목 관리•컴퓨터 사용 시 신체 운동

4•문제 해결을 위한 논리적 추론•순차와 제어 프로그래밍•콘텐츠의 분류, 조직, 저장

•스크래치(동작, 제어, 블록, 명령)•스레드를 포함한 프로그램•파일과 폴더 분류, 확장자

•팀 학습 활동•반복적인 근육 부상 예방

5•목표 인식/분석, 정보 수집/분류•인터넷에서의 정보 생성과 공유•웹 사이트 주소의 필요성

•스크래치(게임 개발)•브라우저에서 하이퍼링크 사용•인터넷 정보 검색 엔진 사용•이메일을 통한 의사소통

•로그인과 비밀번호•올바른 컴퓨터 사용 자세 유지•인터넷 검색 시 지침 실천•이메일 신고와 스팸 메일 차단

6•사고 기술 적용•프레젠테이션, 스프레드시트•순서도 활용

•정보의 조직과 표현 도구 사용•순서도와 Pseudo-Code 작성•베이식(간단한 프로그램)

•온라인 의사소통 규범•책임감 있는 인터넷 활용

7

•이미지 편집에서의 픽셀 개념•스프레드시트로 데이터 처리•오픈소스 소프트웨어 확인•프로그램 작성 시 절차적 사고

•이미지 편집기 활용•스프레드시트에서 공식과 정렬•오픈소스 소프트웨어의 확인•베이식(조건, 반복, 리스트, 배열)

•책임감 있는 인터넷 활용•인터넷을 활용한 의사소통 능력

8•웹 2.0, 소셜 네트워크•블로그와 웹 사이트 설계 지침•2진수의 개념 •DB, 프라이머리 키, 퀴리 개념

•구글 문서 제작 및 출판•생산성 도구로 산출물 설계•베이식(고급 프로그램) •DB 생성 및 질의

•온라인 의사소통 시 보안 절차•SNS 안전 규칙

2. 국외의 소프트웨어 교육 과정

Page 81: 소프트웨어교육론 전체

(7) 기타 국가

• 오스트리아는 초등학교에서 각 학교의 컴퓨터 장비 보유 상황을 고려한 자체적인 ICT

관련 교육 프로그램을 운영, 중학교는 소프트웨어 관련 과목이 선택 과목으로 지정, 인

문계 고등학교는 컴퓨터 과학 과목을 필수 과목으로 지정 1주일에 최소 2시간 운영

• 독일은 중등학교(5~12학년) 선택 과목인 정보학(Informatik) 시간에 소프트웨어 작동 원

리와 데이터 처리, 프로그래밍 입문, 데이터 구조와 암호화, 소프트웨어 프로젝트 포함

• 핀란드는 ICT를 활용하는 데에만 치중하다가 2016년 교육 과정에 소프트웨어 제작 교

육과 관련된 내용을 수학이나 과학 등 다른 과목에 접목시키는 방법 고려

2. 국외의 소프트웨어 교육 과정

Page 82: 소프트웨어교육론 전체

미래형 소프트웨어 교육 과정3.

(1) 소프트웨어 교육의 개요

㉮ 목표

• 소프트웨어의 개념과 원리를 이해하고, 그것을 활용하여 자신의 생각을 표현, 공유하며,

컴퓨터 과학적 사고력을 기반으로 일상생활 문제를 창의적으로 해결할 수 있는 능력과

올바른 정보 생활을 영위할 수 있는 태도를 기르는 것

㉯ 내용 체계

영역적용 및 활용 사례 중학교

1단계 (이해와 체험) 2단계 (탐색과 표현) 3단계 (분석과 활용) 4단계 (설계와 평가)

소프트웨어 원리

•정보의 이해

•정보 기기의 구성

•네트워크의 체험

•정보의 종류

•정보 기기의 조작

•네트워크의 활용

•정보의 표현

•정보 기기의 활용

•네트워크의 설정

•멀티미디어 정보

•정보 기기의 구조

•네트워크의 관리

소프트웨어 활용•그림 그리기

•운영 체제의 체험

•문서 작성

•운영 체제의 실행

•멀티미디어 제작

•운영 체제의 활용

•생산성 도구 활용

•운영 체제의 관리

소프트웨어 제작

•알고리즘의 이해

•프로그램의 이해

•로봇의 체험

•알고리즘의 표현

•프로그램의 작성

•로봇의 제작

•알고리즘의 분석

•프로그램의 제작

•로봇의 제어

•알고리즘의 개발

•프로그램의 설계

•로봇의 설계

소프트웨어 생활•문제의 이해

•정보와 생활

•문제 해결의 탐색

•정보와 윤리

•문제 해결 방법의 개선

•정보와 범죄

•문제 해결 방법의 평가

•정보와 진로

Page 83: 소프트웨어교육론 전체

(2) 소프트웨어 원리 교육

㉮ 정보의 이해와 표현

• 우리 생활에서 사용되는 정보의 특징과 종류를 이해하고, 정보의 종류와 쓰임에 따라

그것을 표현하고 처리할 수 있는 능력을 기른다.

㉯ 정보 기기의 활용과 구조

• 컴퓨터를 포함한 각종 정보 기기의 작동 방법과 동작 원리를 이해하여 학생들의 일상생

활과 교과 활동에서 컴퓨터 과학적 사고력을 통한 문제 해결 능력을 기른다.

㉰ 네트워크의 구성과 관리

• 정보 시스템에서 네트워크의 원리를 이해하며, 네트워크를 원활하게 이용하는 데 필요

한 환경을 설정하고 관리할 수 있는 능력을 기른다.

미래형 소프트웨어 교육 과정3.

Page 84: 소프트웨어교육론 전체

(3) 소프트웨어 활용 교육

㉮ 생산성 도구의 활용

• 간단한 문서와 발표 자료를 작성할 수 있으며, 다양한 멀티미디어 자료를 만들 수 있는

능력을 기른다.

㉯ 운영 체제의 활용과 관리

• 정보 기기의 운영 체제의 개념과 종류, 기능을 이해하고, 사용자의 파일과 폴더 관리, 디

스크와 주변기기, 프로세스 등을 효과적으로 관리할 수 있는 능력을 기른다.

3. 미래형 소프트웨어 교육 과정

Page 85: 소프트웨어교육론 전체

(4) 소프트웨어 제작 교육

㉮ 알고리즘의 이해와 개발

• 알고리즘의 의미를 이해하고, 문제 해결 위해 간단한 알고리즘을 작성하고, 알고리즘의

오류를 찾아 수정하거나 알고리즘을 비교, 평가, 선택할 수 있는 능력을 기른다.

㉯ 프로그램의 이해와 설계

• 일상생활에서 프로그래밍의 원리를 이해하고, 문제 해결 위해 프로그램을 작성하고, 프

로그래밍 도구를 활용하여 간단한 프로그램을 설계, 개발할 수 있는 능력을 기른다.

㉰ 로봇의 제어와 설계

• 로봇의 부품과 센서의 활용, 로봇의 구조적 설계, 제어를 위한 프로그래밍이 서로 융합

된 영역으로, 창의적 문제 해결 능력을 기른다.

3. 미래형 소프트웨어 교육 과정

Page 86: 소프트웨어교육론 전체

(5) 소프트웨어 생활 교육

㉮ 문제 해결의 탐색과 평가

• 정보 기술로 해결할 수 있는 문제를 인식, 이해, 분석하여 문제 해결 전략을 수립할 수

있으며, 일상생활의 문제를 해결하기 위한 방법을 평가, 선택할 수 있는 능력을 기른다.

㉯ 정보 윤리와 진로 활동

• 올바른 자세로 정보 기기를 사용하고, 과다 사용으로부터 자신을 보호하며, 정보 윤리

와 정보 보호, 정보 보안에 대한 이해, 실천 태도를 기르고, 미래 소프트웨어 중심 사회

에서 요구되는 직업 인식 능력을 기른다.

3. 미래형 소프트웨어 교육 과정

Page 87: 소프트웨어교육론 전체

1 제7차 교육 과정부터 2015 개정 교육 과정까지에서 제시된 초•중•고 소프트웨어 교육 관련 교과(실과, 정보 사

회와 컴퓨터, 컴퓨터, 정보)의 주요 내용과 특징을 서술해 보자.

2 ‘2015 개정 교육 과정’의 소프트웨어 교육에 제시된 초•중등학교에서의 교육 목표와 교과 내용, 창의적 체험

활동의 주요 내용을 서술해 보자.

3 소프트웨어 교육의 영역을 ‘원리 교육, 활용 교육, 제작 교육, 생활 교육’의 4가지로 구분하고, 초등학교와 중학

교에서 가르쳐야 할 내용 체계를 단계별로 제시해 보자.

[평가 문항]

Page 88: 소프트웨어교육론 전체

소프트웨어 교수법

소프트웨어 교육론

5.

Page 89: 소프트웨어교육론 전체

(1) 메릴의 교수 설계 원리

㉮ 교수 기본 원리

• 일상생활의문제를직접해결

• 새로운지식을위한기초로기존지식사용

• 새로운지식에대한교수자의시범

• 새로운지식을적용할수있는기회제공

• 새로운지식을일상생활과통합

교수·학습 이론1.

Page 90: 소프트웨어교육론 전체

교수·학습 이론1.

[메릴(Merrill)의 과제 중심 교수 전략]

Page 91: 소프트웨어교육론 전체

㉯ 교수 설계 모형

③요소분석단계 :문제해결과관련된구성요소를면밀히분석

[ Pebble 모형의 구성 요소]

①문제명시단계 : 학습자에게제시할현

실의문제를미리구성

②문제분해단계 : 어렵고복잡한문제를

작은문제로분해하여확장하는단계

교수·학습 이론1.

Page 92: 소프트웨어교육론 전체

④전략수립단계 : 학습자들의문제해결력을높이기위한교수전략을결정하고, 문제

해결을위한알고리즘설계

⑤교수설계단계 : 이전단계의결과물을종합하여교수설계방법을작성및시스템이

나구조물등을설계

⑥매체개발단계 :최종산출물인교수・학습자료와매체의효과성,효율성등을한후,

최종적으로산출물을수정・보완

교수·학습 이론1.

Page 93: 소프트웨어교육론 전체

㉰ 적용 방안

• 학습자들의참여,컴퓨터과학적원리이용,문제해결과정에대한시범

• 시범을통해배운해결방법을문제에적용,유사문제에응용할수있는능력지도

• 과제는쉬운것에서시작하여점차난이도를높여가되, 학습자스스로사고하고해결

할수있도록다양한매체제공

초보자에게도움말충분히제공

따라하기식의시범교육

프로그래밍언어의전이성

교수·학습 이론1.

Page 94: 소프트웨어교육론 전체

(2) 인지적 도제 이론

㉮ 개념

• 전통적인도제교육방법인시범,감독,스캐폴딩,일임(Fading) 방법적용

• 교수자의사고활동과정을직접눈으로확인

• 학습자들이체험을통해지식습득

• 스스로문제해결과정을거치면서고차원적인사고활동및자아성찰

• 학습을통해습득한사고능력다양한상황에적용

교수·학습 이론1.

Page 95: 소프트웨어교육론 전체

㉯ 단계 및 절차

①시연하기 :실제과제수행과정을안내하는단계

②코칭하기 :교수자의도움을받을수있는기회를제공하는단계

③스캐폴딩하기 :학습자가학습과정어려움을겪을경우,교수자의도움을받는단계

④명료화하기 : 학습자스스로자신이습득한지식과문제해결과정등을명료히설명

하는단계

⑤성찰하기 :학습자스스로문제해결과정을비교하는단계

⑥탐구하기 :학습자스스로자율적으로문제해결과정을수행하는단계

교수·학습 이론1.

Page 96: 소프트웨어교육론 전체

㉰ 적용 방안

• 지식을스스로습득할수있는기회제공

• 습득된지식과전략을 내면화하는기회제공

• 동료학습자들의다양한의견을듣고비교할수있는기회제공

• 일상생활속문제해결

교수·학습 이론1.

Page 97: 소프트웨어교육론 전체

(3) 의사소통 교수 이론

㉮ 개념

• 프로그래밍언어교육의주목적은컴퓨터와의원활한의사소통능력개발

• 다양한 상황에서 컴퓨터와의 의사소통 능력 개발을 위한 여러 가지 언어와

규칙수업제공

교수·학습 이론1.

Page 98: 소프트웨어교육론 전체

㉯ 단계 및 절차

①짧고간단한여러개의프로그램제시

②제시한명령문을그대로프로그래밍하여실행

③결과에대한문답활동전개

④프로그램의일부수정시나타날결과값을경험에근거하여제시

⑤유사문제해결능력및새로운문제적용력기르기

⑥학습자들의수준에따라프로그램양이나복잡도달리제공

⑦프로그램으로점차난이도와복잡도를높여, 일상생활문제해결능력기르기

⑧처음부터끝까지혼자또는그룹별로하나의프로그램을완성해볼수있는기회제공

⑨오류발생시학습자스스로해결하도록하고, 프로그래밍과정중에생긴오류는전

체학습자를대상으로수정

교수·학습 이론1.

Page 99: 소프트웨어교육론 전체

㉰ 적용 방안

• 용법위주에서사용위주로

• 일부구문중심의프로그래밍교육에서전체프로그램중심의프로그래밍교육으로

• 정확성중심에서유창성중심으로

교수·학습 이론1.

Page 100: 소프트웨어교육론 전체

교수·학습 모형2.

(1) 4C/ID 모형

㉮ 개념

[4C/ID 모형의 개념도]

Page 101: 소프트웨어교육론 전체

(1) 학습과제 : 학습자가학습할과제나수행할프로젝트

(2) 지원정보 : 학습과제를해결하는데필요한정보제공

(3) 절차정보 : 학습과제를수행하는방법을구체적으로제시또는시연

(4) 과제연습 : 학습과제를능숙하게해결하기위해학습과제중일부를포함한연습문

제를추가적으로제시

구분 내용

영역 정보 과제 영역에 대한 개념과 구조, 인과 관계에 관한 것

접근 정보 각 단계별로 전문가가 해결한 방법을 예로 제시하고 설명하는 것

피드백 정보 문제 해결 방법과 결과를 전문가나 동료 학습자들의 것과 비교하게 하는 것

교수·학습 모형2.

Page 102: 소프트웨어교육론 전체

㉯ 교수 설계 절차

[4C/ID 모형의 개념도]

교수·학습 모형2.

Page 103: 소프트웨어교육론 전체

① 학습과제 : 학습자들이지시에따라수행할하나이상의전형적인학습과제들 명시

② 학습과제나열하기 : 학습과제를각각다른난이도로등급을매겨나열

③ 평가목표설정하기 : 학습자들이반드시도달해야하는기준을정하는단계

④ 지원정보설계하기 : 학습자들의수행과제의해결을도와주는단계

⑤ 인지전략분석하기 : 그분야에서능률적인과제수행자들이문제를해결하기위해

사용하는인지전략분석

⑥ 정신모형분석하기 : 정의적영역이어떻게조직되었는지묘사

교수·학습 모형2.

Page 104: 소프트웨어교육론 전체

⑦ 절차정보설계하기 : 학습과제를반복적으로수행하기위한절차들이어떻게수행되

는지를정확히명시

⑧ 인지규칙분석하기 : 일상적인행동들에서도출되는자극-반응모형을명시하는인

지원리를분석하는단계

⑨ 배경지식분석하기 : 인지원리의정확한사용에관한배경지식을분석하는단계

⑩ 과제연습설계하기 : 추가적인연습을통해기계적인수준의반복적인복합적기술을

습득하는단계

교수·학습 모형2.

Page 105: 소프트웨어교육론 전체

㉰ 적용 방안

• 일상생활과관련된문제제시

• 모듈별프로그램제시

• 모듈별프로그램을작성하는데필요한지원정보를제공

• 모듈내의프로그램을작성하는데필요한절차정보제공

• 모듈에대한정보나단서를점차줄여나가기

• 모듈에서핵심적인부분은반복적으로연습

교수·학습 모형2.

Page 106: 소프트웨어교육론 전체

(2) 창의적 문제 해결 학습 모형

㉮ 개념

• 특정한문제상황에서발산적사고와수렴적사고를번갈아사용해문제발견과정의,

창의적해결방안및아이디어,적절한해결안등을도출하는일련의사고과정

• 문제해결과정중에다양한탐구과정과활동을경험할수있으며,발산적사고와비판

적사고를통해학습자의탐구능력을향상

교수·학습 모형2.

Page 107: 소프트웨어교육론 전체

㉯ 교수 • 학습 절차

① 목표발견하기

② 사실발견하기

③ 문제발견하기

④ 아이디어발견하기

⑤ 해결책발견하기

⑥ 수용안발견하기

교수·학습 모형2.

Page 108: 소프트웨어교육론 전체

㉰ 적용 방안

• 교수자는학습자들의목표설정이도움을주거나문제상황을충분히인지할수있도록

관련자료를충분히제공

• 브레인스토밍환경조성

• 프로그래밍전에실행결과를예측하여최적의방법찾기

교수·학습 모형2.

Page 109: 소프트웨어교육론 전체

(3) 순환 학습 모형

㉮ 개념

• 학습자스스로구체적인경험을통해개념을획득하고사고력을증진하는데도움을주

는모형

• 학습자스스로새로운개념발견및새로운개념을형성하는데유용

• 학습단계에서구체적경험제공

• 어린학습자들에게적합할뿐만아니라과도기에있는학습자들에게도적합

교수·학습 모형2.

Page 110: 소프트웨어교육론 전체

㉯ 절차

① 개념탐색 : 새로운문제상황에서학습자들의행동과반응을통해문제에내재한규

칙성을발견하는단계

② 개념도입 : 개념탐색단계에서발견된규칙성과관련있는개념, 원리들을도입하는

단계

③ 개념적용 : 개념탐색및도입단계를통해학습한개념, 원리또는사고방식을새로

운상황과문제에적용하고발전시키는단계

교수·학습 모형2.

Page 111: 소프트웨어교육론 전체

㉰ 적용 방안

• 순환학습모형을소프트웨어교육에접목시킬경우, 각단계가서로단절되지않도록

순환적・반복적으로적용

• 새로운개념을도입하는데중점을두고,상황에따라질문수적절히조절

교수·학습 모형2.

Page 112: 소프트웨어교육론 전체

교수•학습 방법3.

(1) 생활 속 알고리즘

㉮ 알고리즘의 특징

• 유한성:반드시종료

• 명확성:모호하지않게

• 효과성:알고리즘을통해해결

• 일반성:다른문제에적용

• 맥락성:특정상황에서해석

Page 113: 소프트웨어교육론 전체

㉯ 알고리즘의 표현 방법

• 자연어로표현하기

• 의사코드(Pseudo Code)로표현하기

• 그림으로표현하기

• 기호로표현하기

• 프로그래밍언어로표현하기

교수·학습 방법3.

Page 114: 소프트웨어교육론 전체

• 순서도로표현하기

▶순서도의기호와의미

기호 이름 의미

단자(Terminal) 순서도의 시작과 끝을 표시

준비(Preparation) 변수의 선언 및 초깃값 부여, 배열 선언

처리(Process) 값을 계산하거나 대입하는 기호

판단(Decision) 참과 거짓을 판단하거나 조건에 맞는 경로로 분기

입출력(Input/Output) 데이터의 입력과 출력

문서(Document) 처리된 결과를 프린터로 출력

흐름선(Flow Line) 각종 처리 기호의 처리 흐름을 연결

연결자(Connector) 다른 곳으로의 연결을 표시

순환 구조(Loop)우측 상단의 i=1, 100, 1은 i= 초기화, 최종값, 증가치를 의미.

즉, 1부터 100까지 1씩 증가하라는 의미

교수·학습 방법3.

Page 115: 소프트웨어교육론 전체

㉰ 적용 방안

• 일상생활과관련있는알고리즘

• 학습자에게적합한알고리즘

• 기본적인알고리즘개념을익히기

• 구체적인활동가능

교수·학습 방법3.

Page 116: 소프트웨어교육론 전체

(2) 언플러그드 활동

㉮ 특징

• 컴퓨팅교육을통해컴퓨터를전혀사용하지않고도알고리즘과컴퓨터의작동원

리를이해하도록구체적인조작활동형태의놀이학습자료활용

• 개인의경쟁보다협업을중시하며,짧은시간에문제를파악하고해결

• 컴퓨터의작동원리이해,기본적인알고리즘교육

교수·학습 방법3.

Page 117: 소프트웨어교육론 전체

㉯ 교육 절차

• 문제제시하기 :해결하고자하는문제상황제시

• 활동안내하기 :학습자에게구체적으로안내

• 해결방법찾기 :문제인지, 문제해결방법을찾는단계

• 해결방법나누기 :모둠에서찾은해결방법발표,문제해결단계

• 일반화하기: 유사한문제에적용

교수·학습 방법3.

Page 118: 소프트웨어교육론 전체

㉰ 적용 방안

• 학습자를고려한추상화수준을설정,다양한난이도의교육내용준비

• 활동주제측면에서학습효과를고려하여소프트웨어교육과언플러그드활동주

제연결

• 언플러그드활동이더효과적이라고생각된다면소프트웨어교육을할때컴퓨터

를활용하지않기

• 수업시간측면에서학습자들의사고를촉진할수있는최소시간확보

• 교육자료측면에서학습자들이쉽게접할수있는자료준비, 학습자들의활동규

모를고려하여자료준비

교수·학습 방법3.

Page 119: 소프트웨어교육론 전체

(3) 문제 해결 학습

㉮ 특징

• 문제를중심으로교수・학습활동전개

• 교수자중심의수업이아닌학습자중심활동

• 학습자스스로문제를해결하는자기주도적인활동

• 교수자의치밀한계획과충분한준비

교수·학습 방법3.

Page 120: 소프트웨어교육론 전체

㉯ 교육 방법 및 절차

▶생각을설계하는문제해결학습

• 생각쪼개기

• 생각그리기

• 생각바꾸기

• 생각넓히기

단계 구체적인 활동 문제 해결 학습

생각 쪼개기 문제 인식하기, 문제 분해하기, 지식 탐구하기 문제 분석

생각 그리기 유형화하기, 추상화하기, 알고리즘 만들기 전략 수립

생각 바꾸기 결과 예측하기, 오류 수정하기, 방법 개선하기 최적화

생각 넓히기 방법 적용하기, 방법 응용하기, 방법 발전시키기 일반화

교수·학습 방법3.

Page 121: 소프트웨어교육론 전체

㉰ 적용 방안

• 학습자스스로가관심있는영역의문제제기

• 상대방의해결방법검토

• 학습자의능력,흥미,경험등을고려하여문제상황설정

• 문제해결결과보다문제해결과정중시

교수·학습 방법3.

Page 122: 소프트웨어교육론 전체

1 메릴의 교수 기본 원리를 바탕으로 개발된 Pebble 모형은 조약돌을 연못에 던져 물결이 치는 모양을 도식화한

것으로, 학습자들이 문제를 해결하는 과정을 문제 명시, 문제 분해, 요소 분석, 전략 수립, 교수 설계, 매체 개발

의 6단계로 구분하였다. 각 단계에 대해 설명해 보자.

2 인지적 도제 이론은 전통적인 도제 제도를 현 시대에 맞는 교수 형태로 발전시킨 이론으로, 실습을 중심으로

한 소프트웨어 활용 교육이나 제작 교육을 하는 데 있어 기본 원리로 활용할 수 있다. 소프트웨어 교육에서 인

지적 도제 이론을 적용할 때 고려해야 할 사항을 서술해 보자.

3 언플러그드 활동은 컴퓨터 없이 소프트웨어 교육의 원리를 학습할 수 있는 교수•학습 방법이다. 언플러그드

활동을 적용할 때 고려할 점을 교육 내용 측면, 교육 방법 측면, 교육 자료 측면에서 서술해 보자.

[평가 문항]

Page 123: 소프트웨어교육론 전체

소프트웨어 교재6.

소프트웨어 교육론

Page 124: 소프트웨어교육론 전체

(1) 교재의 개념

㉮ 교재의 정의

• 소프트웨어 교육의 목적을 효과적으로 달성할 수 있도록 교수・학습 활동에

직・간접적으로 도움을 주는 교과서, 도서류, 모형, 괘도, 사진, 비디오, 텔레비전,

컴퓨터, CD-ROM, DVD,소프트웨어,멀티미디어자료,인터넷사이트등을모두포함

㉯ 교재의 특징

• 학생들의흥미와호기심을자극

• 교수・학습과정중의각종상호작용에대한피드백체계적제공

• 디지털매체를통해언제어디서든지접근

• 교수・학습활동에대한최소한의가이드라인제공

교재의 개념과 유형1.

Page 125: 소프트웨어교육론 전체

(2) 교재의 유형

㉮ 인쇄 매체형 교재

• 전통적인서책교과서와같이종이위에문자나그림중심의자료를인쇄하여제작

• 증강현실(Augmented Reality)기술을인쇄매체형교재와결합하는사례증가

증강현실은실제환경에가상사물이나정보를합성하는컴퓨터그래픽기술로, 학습

만화책에 특정한 표시를 하고, 그것을 증강 현실 프로그램이 설치된 스마트폰으로

보면,책위에 3D애니메이션이보이고,교재내용을음성으로설명

증강현실기술은시각적정보만전달하던인쇄매체형교재와더불어다양한시청각

정보를 함께 제공함으로써 제한된 지면의 한계를 극복할 수 있게 하였으나 증강 현

실을구현하는데많은시간과비용이발생하는단점

교재의 개념과 유형1.

Page 126: 소프트웨어교육론 전체

[증강현실을활용한학습 만화책]

교재의 개념과 유형1.

Page 127: 소프트웨어교육론 전체

㉯ 시청각 매체형 교재

(1) 오디오매체형교재 : 글로표현하기어려운내용을말을통해쉽게전달

(2) 영상매체형교재 : 다양한시청각자료를전달할수있고, 생생한영상과음향에

의해학습자들의호기심을자극

Page 128: 소프트웨어교육론 전체

㉯ 시청각 매체형 교재

[영상매체형교재-IPTV 서비스개념도]

1. 교재의 개념과 유형

Page 129: 소프트웨어교육론 전체

㉰ 디지털 매체형 교재

(1) 디지털매체형교재의특징

• 마우스클릭만으로원하는자료와정보를쉽게얻음.

• 디지털매체형교재에있는자료는참조를통해중복을최소화할수있음.

• 디지털매체형교재는여러명이함께협동작업을하는데용이

(2) 디지털매체의종류

①텍스트

②멀티미디어

③하이퍼텍스트

④하이퍼미디어

1. 교재의 개념과 유형

Page 130: 소프트웨어교육론 전체

㉱ 디지털 교과서형 교재

서책교과서에용어사전, 멀티미디어자료, 평가문항, 보충・심화학습자료포함

분류 서책교과서 디지털교과서

교수 설계•직선형 설계•단방향 학습•단일 교재

•직선형, 분지형, 하이퍼링크형 설계•쌍방향 개별 학습•능력에 따른 단계별 학습

자료 형태

•텍스트와 이미지 위주, 인쇄기반•직접 손에 넣거나 넘기고 운반함.•책의 형태로 보존되고 관리함.•최신 정보 제공이 어려움.

•멀티미디어 위주, 인터넷 기반•모니터와 터치스크린을 이용•버전별 관리와 플랫폼 관리 필요함.•최신 정보로 갱신할 수있음.

자료 관리•편집이 불가능함.•많은 양의 정보 보관이 어려움.•보급 시간과 비용이 많이 소요됨.

•내용 편집 및변환이 용이함.•많은 양의 정보 보관이 가능함.•보급 절차가 간편하고 재고 없음.

자료 접근

•읽기 쉽고, 별도 장비가 필요 없음.•한 명이 한곳에서만 활용함.•특정 장치와의 호환성이 상관 없음.•다른 교과와의 연계를 위해 별도구입•장애인에게 맞는 서책을 별도 개발함.

•별도의 단말기와 SW 등이필요함.•다수가 여러 곳에서 접속 가능함.•HW와 SW의호환이 중요함.•다른 교과와 링크를 통해 참조 가능함.•별도 개발 없이 보조 공학 장치활용

상호 작용성•원하는 정보를 볼수만 있음.•의사소통의 역할이 불가능함.

•정보 검색 및피드백이 빠름.•다양한 의사소통 기능을 제공함.

저작권과 비용•저작권에 대한 규정이 명확함.•학생 수가 증가할수록 비용 증가

•저작권의 범위가 다소 모호함.•학생 수가 증가할수록 비용 저렴

1. 교재의 개념과 유형

Page 131: 소프트웨어교육론 전체

(1) 디지털교과서의속성

[서책교과서와디지털교과서의속성비교]

1. 교재의 개념과 유형

Page 132: 소프트웨어교육론 전체

(2) 디지털교과서의기능

교수·학습자원연계

기록처리 의사소통 학습관리 학습보조

•내용보기•내용감추기•멀티미디어보기•계열확인하기

•페이지이동•페이지바로가기•차례•서고•찾기•내자료함•하이퍼링크

툴박스

•펜•형광펜•지우개•마우스•올가미•글상자•도형

학습관련공간

•토론방•상담방•질문방•자료방

플랫폼

•학생관리•시간표•사용자관리•오류신고•학급운영

교과서보기

•보기모드•확대/축소•맞춤모드•확대보기•미니맵•고정핀

학습내용기록

•캡처•메모•노트•마인드맵•교과기능•녹음/녹화

의사소통공간

•블로그•SNS•자유방•쪽지•알림장

학습이력관리

•평가•숙제방•학습지도•포트폴리오•학습꾸러미•노트모음•학습지도안

환경설정

•메뉴모드•툴박스모드•환경설정

자료공유

•전송•화면공유

실시간수업공간

•화상커뮤니티•협업기능•커뮤니티

제어•화면제어•미디어제어

자료관리

•내보내기•불러오기•인쇄•동기화책갈피

1. 교재의 개념과 유형

Page 133: 소프트웨어교육론 전체

①교수·학습기능 :교수・학습활동을위해기본적으로요구

②자원연계기능 :하이퍼링크를이용하여자료와정보를연결하고검색

③ 기록처리기능 : 펜, 형광펜, 지우개, 마우스, 올가미, 글상자, 도형, 캡처, 메모, 노트,

마인드맵,녹음및녹화,책갈피,전송,화면공유가있음.

④ 의사소통기능 : 토론방, 상담방, 질문방, 자료방, 블로그, SNS, 자유방, 쪽지, 알림장,

화상커뮤니티,협업기능,커뮤니티가있음.

⑤학습관리기능 :수업및학생들의학습에관한전반적인부분을관리할수있는기능

⑥학습보조기능 :서책교과서의화면을학습자가원하는모양으로자유롭게변형가능

1. 교재의 개념과 유형

Page 134: 소프트웨어교육론 전체

(1) 교재의 제작 원리

㉮ 설계 방향

디지털매체형교재를개발하는데가장많이활용되는교수설계이론은존켈러(John

M. Keller)의동기유발이론

교재의 제작2.

[학습동기 유발및 유지방안]

Page 135: 소프트웨어교육론 전체

(1) 주의집중 : 소프트웨어교육을처음접하는학습자에게는주의집중이요구

(2) 관련성 : 소프트웨어 교육의 학습 목표와 학습 내용이 학습자의 흥미나 목적과

관련성이높을때학자의학습동기가높아짐.

(3) 자신감 : 교재시작부에는쉽고재미있는활동을제시하여학습자가소프트웨어교육에

대한자신감을가질수있도록하고, 이후에는점차어려운활동을제시

(4) 만족감 : 학습자의학습동기를유발하지는않지만, 그것을유지할수있게함. 특히

이전학습에대한만족감이높으면, 다음학습에대한기대와동기유발에도도움

Page 136: 소프트웨어교육론 전체

㉯ 개발 원칙

(1)인접성 : 관련된 자료를 서로 가깝게 위치

(2) 다중성 :텍스트보다는음성으로표현

(3) 유일성 :특정내용에대한중복피하기

(4) 일관성 :불필요한효과피하기

(5) 개별성 :대화형태로내용제시

(6) 통제성 :학습자가스스로통제

교재의 제작2.

Page 137: 소프트웨어교육론 전체

(2) 교재의 제작 절차

• 분석단계: 교재개발과관련된요인을분석하는단계

• 설계단계: 교재에포함될교수・학습전략을수립하는단계

• 개발단계: 설계단계에서산출된설계서에따라실제로교재를개발

• 실행단계: 개발된교재를실제수업에투입한후학생들과교사의반응을살핌.

• 평가단계: 실행단계에서나타난결과를준거에따라평가하여순환하는단계

[ADDIE 모형에 따른 교재 개발 절차]

교재의 제작2.

Page 138: 소프트웨어교육론 전체

(3) 교재의 제작 도구

㉮ 전자 문서형 도구

• 텍스트나이미지를포함하고있는인쇄물이나전자문서를제작하는데가장많이사용

되는도구는워드프로세서

• 최근소프트웨어교육용교재에QR 코드를추가하여동영상강의와관련교재, Q&A와

연동해학습자가관련지식과정보를쉽게얻을수있도록도와줌.

[QR 코드를 이용한 자료 연계]

교재의 제작2.

Page 139: 소프트웨어교육론 전체

㉯ 발표 자료형 도구

• 발표 자료형 교재를 만드는 데 가장 많이 사용되는 도구는 마이크로소프트(Microsoft)

사의파워포인트(Powerpoint)와피터할라시(Peter Halacsy)등이개발한프레지(Prezi)

[파워포인트와 프레지]

교재의 제작2.

Page 140: 소프트웨어교육론 전체

㉰ 화면 캡처형 도구

• 소프트웨어교육용동영상강의자료를제작할때가장많이사용하는도구중의하나

는테크스미스(TechSmith)사의캠타시아(Camtasia)

[캠타시아를 활용한 비디오 편집]

교재의 제작2.

Page 141: 소프트웨어교육론 전체

[동영상 강의 자료 제작 절차]

• 간단한 동영상 강의 자료를 만드는 또 다른 방법은 스마트 기기 위에 PDF 문서를

띄우고, 그 위에 필기하면서 녹화하는 방법이 있음. 이러한 필기형 동영상 제작

도구에는쇼미(Show Me)와익스플레인에브리싱(Explain Everything)

교재의 제작2.

Page 142: 소프트웨어교육론 전체

㉱ 저작 도구형 도구

• 저작도구는텍스트나그래픽, 음성, 효과음, 배경음, 동영상등여러가지형태의자료

를하나의교육용콘텐츠로만드는데도움을주는프로그램을의미

• 교육용웹콘텐츠를만드는데많이사용하는저작도구중하나는어도비(Adobe) 사의

플래시(Flash)

[플래시의 메인 화면]

교재의 제작2.

Page 143: 소프트웨어교육론 전체

㉲ 직접 촬영형 도구

• 칠판에 필기하면서 동영상을 촬영하거나

교실수업장면을그대로촬영하기위해사

용할수있는도구에는스위블(Swivl)장비

• 녹화된 동영상 파일은 캠타시아나 윈도 무

비메이커(Window Movie Maker)로불필요

한 부분을 제거하거나 동영상 위에 자막이

나화면전환효과추가

[윈도 무비 메이커의 메인 화면]

[스위블 장비]

교재의 제작2.

Page 144: 소프트웨어교육론 전체

(1) 교재의 선정

㉮ 교재의 선정 기준

• 소프트웨어교육용교재는인쇄매체보다디지털매체가더효율적

• 소프트웨어교육용교재는정보기기를활용한실습중심의자료여야함.

• 실습에필요한소프트웨어는충분히검토한후선정

• 소프트웨어 교육용 교재에서 다루는 내용은 가급적 표준화된 용어와 공통적인

기능을제시

교재의 선정 및 평가3.

Page 145: 소프트웨어교육론 전체

㉯ 교재의 선정 절차

• 학습자분석(Analyze Learner)

• 목표진술(State Objectives)

• 교수방법과교재선정(Select Methods, Media and Materials)

• 교재활용(Utilize Media and Materials)

• 평가와개선(Evaluate and Revise)

교재의 선정 및 평가3.

Page 146: 소프트웨어교육론 전체

[ASSURE 모형의절차]

교재의 선정 및 평가3.

Page 147: 소프트웨어교육론 전체

(2) 교재의 평가 기준

▶소프트웨어교육용교재의평가기준

평가영역 평가지표 평가문항

교육

과정의 준수

목표의 충실성

내용의 충실성

방법의 충실성

평가의 충실성

•교과 교육 과정에 제시된 ‘목표’를 충실히 반영하였는가?

•교과 교육 과정에 제시된 ‘내용’을 충실히 반영하였는가?

•교과 교육 과정에 제시된 ‘교수·학습 방법’을 충실히 반영하였는가?

•교과 교육 과정에 제시된 ‘평가’를 충실히 반영하고 있는가?

내용

선정과 조직

내용의 공정성

내용 수준의 적절성

내용 범위의 적절성

내용 구성의 적절성

자료의 다양성

•특정 지역, 종교, 성, 상품 등을 비방 또는 옹호하였는가?

•학습자의 특성을 고려하여 내용의 수준을 구성하였는가?

•학습자의 특성을 고려하여 내용의 범위를 구성하였는가?

•학습자 스스로 학습하기에 적절하게 구성되어 있는가?

•학습 활동에 필요한 다양한 정보와 자료를 제시하였는가?

내용의

정확성

자료의 정확성

자료의 적절성

표현의 정확성

표기의 정확성

출처의 명확성

•제시된 사실, 개념, 이론 설명이 정확한가?

•제시된 자료가 내용에 적합한 최신 것을 사용하였는가

•용어, 지도, 통계, 지명, 계량 단위 등의 표현이 정확한가

•오탈자, 문법 오류, 비문 등 표기상의 오류는 없는가?

•제시된 자료의 출처를 분명하게 제시하고 있는가?

기능의

적절성

기능의 편의성

활동의 효과성

상호 작용의 효과성

외부 자료의 연계성

화면 구성의 편의성

디자인의 효과성

•교재가 오류 없이 정상적으로 작동하고 편리한가?

•교과 특성을 반영한 교수·학습 활동을 효과적으로 지원하는가?

•다양한 상호 작용이 효과적으로 구현되어 있는가?

•교수·학습에 필요한 외부 자료의 사용이 용이한가?

•화면이 사용자의 편의성을 고려하여 구성되어 있는가?

•디자인은 심미성을 고려하여 효과적으로 구현되어 있는가?

교재의 선정 및 평가3.

Page 148: 소프트웨어교육론 전체

1 소프트웨어 교육용 교재의 개념과 특징을 서술해 보자.

2 소프트웨어 교재를 개발하기 위한 모형 중에서 일반적으로 많이 사용되는 ADDIE 모형 대해 간단히 서술해

보자.

3 소프트웨어 교육용 교재를 선정하고 활용하기 위한 절차는 학습자 분석, 목표 진술, 교수 방법과 교재 선정, 교

재의 활용, 학습자 참여 유도, 평가와 개선 등 6단계로 구분할 수 있다. 각 단계에 대한 설명을 간단히 서술해

보자.

[평가 문항]

Page 149: 소프트웨어교육론 전체

소프트웨어 교육의평가와 분석

7.

소프트웨어 교육론

Page 150: 소프트웨어교육론 전체

(1) 학생 평가의 개념

㉮ 학생 평가의 목적

• 학생의발달정도를결정하기위함.

• 교육효과가어떠한지를판단하기위함.

• 교수・학습과정과방법을결정하기위함.

• 학생들의선별과배치를위함.

㉯ 학생 평가의 방향

• 소프트웨어를 이해, 활용, 제작하는 과정에서 컴퓨터 과학적 사고력이 얼마만큼

증진되었고, 일상생활에서얼마만큼적용할수있는지평가하는것이중요

• 컴퓨터 과학적 사고력과 적용 능력을 평가할 수 있는 도구를 활용하고, 장기적이고

지속적인평가가필요

학생 평가1.

Page 151: 소프트웨어교육론 전체

㉰ 학생 평가의 기능

• 학생의교육목표달성도를확인할수있음.

• 학생자신을진단하고보완할수있음.

• 학생의학습동기를유발할수있음.

• 교사의교수전략과방법을개선할수있음.

• 학생들의성취도수준에따라학생들을선별하거나배치할수있음.

• 미래의직업에대해이해하고, 필요한핵심역량을기를수있음.

학생 평가1.

Page 152: 소프트웨어교육론 전체

(2) 학생 평가의 내용

㉮ 학교급별 목표

• 초등학교-알고리즘과프로그래밍을체험하여일상생활의다양한문제를이해

• 중학교-간단한알고리즘을설계하고프로그램을개발,창의적으로문제를해결

• 고등학교-효율적인알고리즘을설계하고다양한분야와융합하여문제를해결

학생 평가1.

Page 153: 소프트웨어교육론 전체

㉯ 영역별 평가 내용

(1) 생활과소프트웨어

• 초등학교 -소프트웨어가가져온우리생활의변화모습을사례로들어설명,사이버공

간에서의예절을실천할수있는지평가

• 중학교 - ‘기본 과정’에서는 소프트웨어의 종류와특징, 우리 생활에 미치는 영향과중

요성을설명하고 ,소프트웨어와관련한진로와직업세계를알고있는지평가

• 중학교 - ‘심화과정’에서는개인정보침해에대한예방방법과지식재산권의올바른

공유방법을알고있는지평가

학생 평가1.

Page 154: 소프트웨어교육론 전체

(2)알고리즘과프로그래밍

• 초등학교 - 문제해결과정과알고리즘, 프로그래밍을체험해보고컴퓨팅사고를이해

하고있는지평가

• 중학교 - ‘기본 과정’과 ‘심화 과정’을 통해 다양한 문제를 이해・분석하고 구조화하여

알고리즘으로설계할수있는지,프로그래밍으로구현 ,분석할수있는지평가

• 고등학교 - 일상생활 문제와 다양한 영역의 문제를 알고리즘 설계와 프로그래밍으로

해결할수있는지평가

(3)컴퓨팅과문제해결

• 일상생활의 문제를 문제 해결 절차에 따라 해결 방법을 찾고, 이를 논리적으로 설계하

여프로그램으로개발할수있는능력을평가

학생 평가1.

Page 155: 소프트웨어교육론 전체

(3) 학생 평가의 유형

㉮ 수행 평가와 총괄 평가

• 수행 평가 - 학생들의 학습 진전 상황을 수시로 점검, 교수・학습 방법을 개선하고

학생들의성취도를향상시키려는데목적이있음.

• 총괄 평가 - 소프트웨어 교육 활동이 종료되는 시점에서 학생들의 최종적인 성취도를

확인하여교수・학습과정의전반적인효과성을확인하는데목적이있음.

㉯ 절대 평가와 상대 평가

• 소프트웨어교육에서관련자료를공유하고협조할수있는분위기를조성해야하므로

절대평가가더효과적임.

• 학생들의 역량을 진단하여 소프트웨어 교육 질을 향상시키는 데 목적이 있으므로

가급적상대평가보다절대평가를하는것이바람직함.

학생 평가1.

Page 156: 소프트웨어교육론 전체

(4) 학생 평가의 도구

㉮ 평가 도구의 유형

• 선택형평가

• 워크시트평가

• 포트폴리오평가

• 보고서평가

• 실습평가

• 자기평가

학생 평가1.

Page 157: 소프트웨어교육론 전체

㉯ 평가 도구의 선택

• 평가하려는것이무엇인지를분명하게명시

• 평가의신뢰도와타당도가적절한지를분석

• 평가내용이학생의연령에적절한지를판단

• 상대평가인경우,비교할만한집단이적절한지를판단

• 평가의목적이무엇인지를명확히함.

학생 평가1.

Page 158: 소프트웨어교육론 전체

㉰ 평가 도구의 개발

• 성취기준과평가기준에근거하여개발

• 새로운지식을창출하는창의적인사고력을평가할수있도록개발

• 소프트웨어교육의지식과기능,태도등모든영역을평가할수있는도구를개발

• 학교현장에서실제활용할수있어야함.

• 실제적인교수・학습상황을고려하여평가도구를개발

• 평가도구는교사의교수・학습방법을개선할수있는방향으로개발

학생 평가1.

Page 159: 소프트웨어교육론 전체

(1) 수업 분석의 개념

㉮ 수업 분석의 특징

• 수업분석의목적은수업의방해요인과촉진요인을확인하는것

• 누가, 어떤목적에의해, 어떤관점으로실시하느냐에따라분석방법이나결과가다를

수있음.

• 수업분석에필요한도구와준거가일정하지않음.

• 동일한 수업 분석 결과일지라도 분석자의 의도에 따라 다양하게 해석되고, 여러

목적으로활용될수있음.

수업 분석과 학습 분석2.

Page 160: 소프트웨어교육론 전체

㉯ 수업 분석의 구성 요소

• 전문적지식영역

• 교실환경영역

• 수업의실제영역

• 전문적인책임감영역

수업 분석과 학습 분석2.

Page 161: 소프트웨어교육론 전체

(2) 수업 분석의 방법

㉮ 양적 분석

• 양적분석은대부분구조화된체크리스트를사용

• 플랜더스(N. A. Flanders)의언어상호작용분석법,수업분위기분석법이있음.

㉯ 양적 분석

①면담법

②녹음·녹화법

③중요사태분석법

④비언어적

⑤일화기록법

수업 분석과 학습 분석2.

Page 162: 소프트웨어교육론 전체

(3) 수업 분석의 실제

㉮ 언어 상호 작용 분석법

(1) 신뢰도 계수 산출 방법 : 2인 이상이

관찰하고, 분류 항목별 빈도수의 일치

여부를 스콧 계수(Scott’s Coefficient)를

이용하여판단

(2) 수업 분석 툴 : 수업 분석의 편의성을

높이기 위해 에듀트레인과 같은 수업

분석툴을활용 [에듀트레인을 활용한 수업 분석]

수업 분석과 학습 분석2.

Page 163: 소프트웨어교육론 전체

㉯ 시간 분할 분석법

• 질의응답 유형은 개방형, 선택형, 호명형, 지명형, 자문자답형으로 구분하여 기록한 후

그빈도와비율을분석

• 모둠활동유형은전체활동과모둠활동, 개별활동으로구분하여기록한후각각의빈

도와비율을분석

수업 분석과 학습 분석2.

Page 164: 소프트웨어교육론 전체

(4) 학습 분석의 개념과 단계

㉮ 학습 분석의 개념과 단계

• 학습자들이 학습 과정에서 산출되는 각종 데이터를 수집, 분석, 체계화해 학습자들의

교육적 수요를 신속하고 정확하게 파악해 학습자 개개인에게 적합한 교수 전략 및

내용을제공하기위한활동

[에듀트레인을 활용한 수업 분석]

수업 분석과 학습 분석2.

Page 165: 소프트웨어교육론 전체

㉯ 학습 데이터 분석 단계

• 관계분석

• 평가분석

• 예측분석

• 적응분석

• 정보분석

수업 분석과 학습 분석2.

Page 166: 소프트웨어교육론 전체

1 소프트웨어 교육에 참여하고 있는 학생들을 평가하기 위한 도구를 개발할 때 고려할 사항을 서술해 보자.

2 소프트웨어 교육에서 활용될 수 있는 수업 분석과 학습 분석의 개념을 비교하여 서술해 보자.

3 빅데이터를 활용한 학습 분석 단계는 관계 분석, 평가 분석, 예측 분석, 적응 분석, 정보 분석의 5가지로 구분할

수 있다. 각 단계에 대해 설명해 보자.

[평가 문항]

Page 167: 소프트웨어교육론 전체

자료

소프트웨어 교육론

8.

Page 168: 소프트웨어교육론 전체

(1) 자료와 정보

• 자료(Data) :가공되지않은상태의관찰이나측정을통해얻은값

• 정보(Information): 자료를특정목적을위해의미있게정리하고가공하여유용한형태

로처리한것

• 자료처리(Data Processing): 컴퓨터로자료를입력하고처리하여정보를산출해내는

과정

자료의 이해1.

[정보의 생성 과정]

Page 169: 소프트웨어교육론 전체

(2) 아날로그와 디지털 자료

• 아날로그: 연속적으로 변하는 값을 가진 자료

• 디지털 자료: 불연속적인 값을 가진 자료

자료의 이해1.

[아날로그 자료의 디지털화]

Page 170: 소프트웨어교육론 전체

자료의 표현2.

(1) 디지털 자료의 표현

㉮ 수치 자료

• 소수점이없는정수형자료

• 소수점이있는실수형태의자료 [정수의 표현법]

10진수 2진수

+13 0 000 1101

-13 1 111 0011

8비트 2진수 1 1 1 1 1 1 1 1

자리값7

26

25

24

23

22

21

20

2

10진수값 128 64 32 16 8 4 2 1

[비트와 값의 표현]

Page 171: 소프트웨어교육론 전체

자료의 표현2.

㉯ 문자 자료

(1) ASCII(American Standard Code for Information Interchange)코드

문자 ASCII 문자 ASCII 문자 ASCII 문자 ASCII

공백 010 0000 6 011 0110 G 100 0111 Q 101 0001

( 010 1000 7 011 0111 H 100 1000 R 101 0010

+ 010 1011 8 011 1000 I 100 1001 S 101 0011

. 010 1110 9 011 1001 J 100 1010 T 101 0100

0 011 0000 A 100 0001 K 100 1011 U 101 0101

1 011 0001 B 100 0010 L 100 1100 V 101 0110

2 011 0010 C 100 0011 M 100 1101 W 101 0111

3 011 0011 D 100 0100 N 100 1110 X 101 1000

4 011 0100 E 100 0101 O 100 1111 Y 101 1001

5 011 0101 F 100 0110 P 101 0000 Z 101 1010

Page 172: 소프트웨어교육론 전체

2.

(2)유니코드(UNICODE)

U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F

0000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI

0010 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

0020 ! " # $ % & ' ( ) * + , - . /

0030 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

0040 @ A B C D E F G H I J K L M N O

0050 P Q R S T U V W X Y Z [ \ ] ^ _

0060 ‵ a b c d e f g h i j k l m n o

0070 P q r s t u v w x y z { | } ~ DEL

자료의 표현

Page 173: 소프트웨어교육론 전체

자료의 표현2.

㉰ 그래픽 자료

(1) 비트맵방식

• 픽셀(Pixel)이라불리는작은점이모여그림을이루는방식

(2)벡터방식

• 점이나선등과같은수학적수식정보를이용하여이미지를표현하는방식

[비트맵 방식(왼쪽)과 벡터 방식(오른쪽)]

Page 174: 소프트웨어교육론 전체

자료의 표현2.

㉱ 소리 자료

(1) 표본화

[소리 자료의 표본화]

Page 175: 소프트웨어교육론 전체

자료의 표현2.

(2)양자화

(3)부호화

• 양자화된신호들을 2진수인 0과 1로표현하는단계

[소리 자료의 양자화]

Page 176: 소프트웨어교육론 전체

㉲ 영상 자료

• 동영상은사람눈의착시효과를이용하여여러장의정지된이미지(Frame)를연속적으

로빠르게보여주어실제로움직이는것처럼보이도록한것이다.

• 동영상은초당프레임수에따라품질이달라진다.

• 코덱(Codec)은 코더(Coder)와 디코더(Decoder)의 합성어로, 동영상 파일을 압축하거

나재생할수있도록압출을풀때사용된다.

자료의 표현2.

Page 177: 소프트웨어교육론 전체

(2) 교육의 실제

2.

내용 영역 교육 내용 수준

자료의 표현

1. 수의체계와 진법변환 하

2. 수치자료의 표현 하

3. 문자자료의 표현 중

4. 그래픽 자료의 표현 중

5. 소리자료의 표현 상

6. 영상자료의 표현 상

자료의 표현

Page 178: 소프트웨어교육론 전체

자료의 구조화3.

(1) 자료 구조

㉮ 선형 구조

(1)배열

[1차원 배열의 논리적 구조]

[2차원 배열의 논리적 구조]

Page 179: 소프트웨어교육론 전체

(2)연결리스트

(3)스택

• 후입선출(LIFO; Last In First Out)구조

• 가장나중에들어온자료가가장먼저삭제

자료의 구조화3.

[연결 리스트의 논리적 구조]

Page 180: 소프트웨어교육론 전체

(4)큐

• 선입선출(FIFO; First In First Out)구조

• 가장먼저들어온자료가가장먼저삭제

• enqueue : 큐에빈공간이있는지를확인하고, 있을시 rear를 1 증가시킨후 rear의

위치에자료를저장.빈공간이없을경우오버플로오류를발생

• dequeue: 큐에 삭제할 자료가 있는지를 확인하고, 삭제할 자료가 있을 경우에는

front 위치의자료를삭제한후 front 값을 1 증가시킨다. 삭제할자료가없을경우언

더플로오류를발생

3.

[선형 큐의 구조와 연산]

자료의 구조화

Page 181: 소프트웨어교육론 전체

① 선형큐

• 막대구조

• 크기가제한,삽입삭제가계속일어날경우,자료가한쪽방향으로몰리게되는경우

가발생

② 원형큐

• 삽입이계속일어나더라도전체큐의크기만큼자료가가득차지않는한오버플로가

발생하지않음.

3. 자료의 구조화

Page 182: 소프트웨어교육론 전체

㉯ 비선형 구조

(1) 트리

• 부모 노드(Parent Node): 계층 구조에서 위쪽에 위치한 노드

• 자식 노드(Child Node): 아래쪽에 위치한 노드

• 형제 노드(Sibling Node): 같은 부모를 가진 노드

• 단말 노드(Terminal Node 또는 Leaf Node): 자식이 없는 노드

3.

[트리의 구조]

자료의 구조화

Page 183: 소프트웨어교육론 전체

(2) 그래프

• 정점(vertex)과 정점을 잇는 간선(edge)로 구성

• 무방향 그래프(Undirected Graph): 두 정점을 연결하는 방향이나 순서가 없음.

• 방향 그래프(Directed Graph): 두 정점 간에 방향이 있는 간선이 있음.

• 그래프의 표현: 인접 행렬과 인접 리스트

3.

[무방향 그래프(왼쪽)와 방향 그래프(오른쪽)]

자료의 구조화

Page 184: 소프트웨어교육론 전체

① 인접 행렬로 그래프 표현

② 인접 리스트로 그래프 표현

3. 자료의 구조화

Page 185: 소프트웨어교육론 전체

(2) 교육의 실제

내용 영역 교육내용 수준

자료의 구조화

1. 배열의표현과활용 하

2. 연결리스트의표현과활용 중

3. 스택자료의표현과활용 중

4. 큐자료의표현과활용 중

5. 트리자료의표현과활용 상

6. 그래프자료의표현과활용 상

3. 자료의 구조화

Page 186: 소프트웨어교육론 전체

1 10진수 17과 -17을 컴퓨터에 저장되는 2진수로 표현해 보자(2바이트 이용).

2 다음과 같이 세 사람의 점수를 입력 받아 2차원 배열에 저장하고, 합과 평균을 계산한 후 출력하는 프로그램을

작성해 보자.

3 다음 수식을 후위 표기법으로 나타내고, 스택에 값이 저장되어 계산되는 과정을 그림으로 나타내 보자.

[평가 문항]

4 다음과 같은 그래프를 인접 행렬로 나타내 보자.

Page 187: 소프트웨어교육론 전체

문제 해결과언플러그드 활동

소프트웨어 교육론

9.

Page 188: 소프트웨어교육론 전체

(1) 문제 해결의 개념

• 문제:해답을요구하는물음

• 문제해결: 문제의상황과조건을분석하고이를구조화하여문제를해결할수있는다

양한방법들을생각해내고,그중가장적합한해결방법을찾아문제를해결하는것

(2) 문제 해결 과정

• 문제해결과정: 문제를접하고, 결과나답을찾아내기까지의일련의활동

문제 해결의 이해1.

[문제 해결 과정]

Page 189: 소프트웨어교육론 전체

㉮ 문제 이해 및 분석

• 문제를 해결하기 위해서는 먼저 문제를 정확하게 이해하는 것이 중요

– 문제에 주어진 상황과 조건은 무엇인가?

– 문제를 해결했을 때 나타나야 할 결과물은 무엇인가?

– 문제를 분석하여 알아낸 사실은 무엇이고, 더 필요한 정보는 무엇인가?

㉯ 문제 해결 방법 설계

• 문제에 대한 이해 및 분석이 끝나면, 문제를 해결할 수 있는 방법을 다양하게

생각해 보고 가장 효율적인 방법을 선택하여 실행 계획을 체계적으로 설계

문제 해결의 이해1.

Page 190: 소프트웨어교육론 전체

㉰ 문제 해결 방법 실행

• 문제 해결 방법 설계의 단계에서 계획하고 설계한 것을 토대로 실전 문제 해결에

적용

㉱ 평가

• 문제를 해결한 후에 결과를 평가하는 단계

– 계산 횟수가 적고 처리 속도가 빨라야 한다.

– 다양한 상황에서 사용할 수 있는 일반적인 것이어야 한다.

– 이해하기 쉬워야 하며, 유지 및 보수가 쉬워야 한다.

– 기능별로 모듈화되어 일부 수정이 가능해야 한다.

문제 해결의 이해1.

Page 191: 소프트웨어교육론 전체

(1) 수학과 연계한 활동

• 최대공약수구하기

• 암스트롱수찾기

(2) 체육과 연계한 활동

• 체질량지수와비만도구하기

(3) 창의적 체험 활동과 연계한 활동

• 목표 수 피하기 게임

• 윤년과 평년 구하기

문제 해결의 실제2.

Page 192: 소프트웨어교육론 전체

(1) 언플러그드 활동의 개념

컴퓨터과학의개념이나원리를학생들에게쉽게전달하는방법으로컴퓨터를직접이용

하지않고활동을통해이루어지도록하는것

㉮ 언플러그드 활동의 특징

(1)기회성: 컴퓨터를 이용하지 못하는 학생들에게 컴퓨터 과학의 원리를 가르칠 수

있는 기회를 제공함을 의미

(2)수단성: 언플러그 활동 자체가 목적이라기보다는 컴퓨터 과학적 사고를 기르기

위한 과정이나 절차임을 의미

(3)협력성: 학생들의 개별 활동도 중요하지만 협력 활동을 통해 학생과 학생,

학생과 집단간의 아이디어 교환에 중점을 두는 것을 의미

언플러그드 활동3.

Page 193: 소프트웨어교육론 전체

(4) 도전성: 적절한 개별 활동 또는 그룹별 경쟁 활동을 통해 협력과 의사소통, 문제

해결을 촉진하는 것을 의미

(5) 유연성: 특별한 장비가 필요한 것이 아니라 일상생활에서 활동하는 것들을

활용할 수 있고, 특정한 형태의 언플러그드 활동은 지역 문화와 접목하여 그

형태를 조금씩 변경하면서 활용할 수 있음을 의미

㉯ 언플러그드 활동의 장단점

• 장점

– 항상 고가의 장비가 필요한 것은 아니다.

– 재미있게 배울 수 있다.

– 부담이 없으면서, 컴퓨터 과학의 원리를 깨달을 수 있다.

언플러그드 활동3.

Page 194: 소프트웨어교육론 전체

– 개인의 경쟁보다는 협업을 중시하고, 친구들 간의 의사소통뿐만 아니라 그것을

통해 다양한 사고를 할 수 있도록 한다.

– 간단한 도구만으로도 수업이 가능하다.

• 단점

– 교사는 소프트웨어 교육에 대한 깊이 있는 이해를 하고 있어야 한다.

– 준비하는 데 시간이 많이 요구된다.

– 학생들의 언플러그드 활동 시간을 충분히 확보해야 한다.

– 다양한 수준의 활동을 제시해야 한다.

3. 언플러그드 활동

Page 195: 소프트웨어교육론 전체

㉰ 언플러그드 활동 절차

(1) 준비하기: 해결할 문제를 제시하는 단계

(2) 해결책 찾기: 문제를 쪼개어 구체적인 해결 방안을 찾는 단계

(3) 해결책 나누기: 각자가 찾은 해결 방법에 대해 공유하여 최선의 방법을 찾는

단계

(4) 활동하기: 구안된 문제 해결 방법을 놀이 활동을 통해 확인하는 단계

(5) 일반화하기: 놀이를 통해 학습한 개념을 정리하고, 유사한 문제에 적용하는

단계

(6) 실습하기: 알고리즘으로 만들어 컴퓨터를 활용하여 해결 방법을 검증하는 단계

3. 언플러그드 활동

Page 196: 소프트웨어교육론 전체

3.

과정 주요 활동 교수전략

준비하기 •동기 유발

•학습 문제 제시•일상생활과관련된 문제 상황 제시

해결책찾기•문제 탐색 활동

•사고 활동•모둠별 토의

•문제를 쪼개어 파악하기

•쪼개진 문제의 해결책 찾기•모둠별 토의를 통한 해결책 찾기

해결책나누기•의견 나누기

•의견 종합하기•더 좋은 해결책 찾기

•모둠별의견을 발표하기

•의견을 종합하여 해결책 알기•더 좋은 해결책이 있는지 찾기

활동하기 •놀이 안내 및 활동하기

•해결 여부 판단하기

•문제 해결과 관련된 놀이 활동하기

•문제 해결 여부를 판단하기

일반화하기 •개념 정리하기

•일상생활에 적용하기

•개념을 정확하게 인지하도록 하기

•일상생활에서어떻게 적용되는지 알기

실습하기 •알고리즘으로 만들기

•실습하며 확인하기

•일반화한 것을 알고리즘으로 표현해 보기

•실제 컴퓨팅을 통해 확인해 보기

[언플러그드 활동 절차]

언플러그드 활동

Page 197: 소프트웨어교육론 전체

(2) 언플러그드 활동의 사례

3.

영역 세부 활동 내용

자료(Data)2진수 체계(Binary Numbers), 이미지 표현(Image Representation), 문자 압축(Text Compression), 에러 검출(Error Detection), 정보 이론(Information Theory), 소리 표현(Sound Representation), 데이터베이스(Database)

알고리즘(Algorithms)

검색 알고리즘(Searching Algorithms), 정렬 알고리즘(Sorting Algorithms), 정렬 망(Sorting Networks), 최소 생성 나무(Minimal Spanning Trees), 라우팅과 병목 현상(Routing and Deadlock), 네트워크 프로토콜(Network Protocols), 계통학 (Phylogenetics), 분할정복(Divide and Conquer), 선그리기(Line Drawing)

절차(Procedures)유한 상태 오토마타(Finite State Automata), 프로그래밍 언어(Programming Languages), 클래스 시뮬레이션(Class Sim

ulation of a Computer)

난해한 문제(Intractability) 그래프컬러링(Graph Coloring), 지배 집합(Dominating Sets), 슈타이너 트리(Steiner Trees)

암호화(Cryptography) 정보은닉(Information Hiding), 암호화프로토콜(Cryptographic Protocols), 공개키암호화(Public Key Encryption)

인간과 컴퓨터(Human Face of Computing)

휴먼인터페이스설계(Human Interface Design), 튜링테스트(Turing Test), 인공지능(Artificial Intelligence)

협력 활동(Community Activities)

계통학(Phylogenetics), 컴퓨터 구조(Class Simulation of a Computer), 로봇(Harold the Robot), 모뎀(Modems Unplugged), 분할정복(Divide and Conquer), 데이터베이스(Databases), 선그리기(Line Drawing), 암호(Scout Patro)

언플러그드 활동

Page 198: 소프트웨어교육론 전체

㉮ 컴퓨터 과학의 원리 이해하기

(1) 2진수로 표현하기

(2) 이미지 표현하기

(3) 치환하기

(4) 정렬하기

(5) 탐색하기

㉯ 프로그래밍의 개념 이해하기

(1) 말이나 글로 표현하기 (4) 반복문 사용하기

(2) 단순화하기 (5) 함수문 사용하기

(3) 쪼개어 생각하기

3. 언플러그드 활동

Page 199: 소프트웨어교육론 전체

1 문제 해결 과정 4단계를 쓰고, 각 단계에서 하는 일을 간단히 설명해 보자.

2 A, B, C 세 수를 입력 받아 가장 큰 수를 출력하는 알고리즘을 자연어로 표현해 보자.

3 다음은 무엇을 하기 위한 순서도인지 설명해 보자.

[평가 문항]

4 언플러그드 활동의 장단점에 대해 간단히 정리해 보자.

Page 200: 소프트웨어교육론 전체

알고리즘

소프트웨어 교육론

10.

Page 201: 소프트웨어교육론 전체

(1) 알고리즘과 문제 해결

㉮ 알고리즘의 개념

• 알고리즘: 어떤 목표를 달성하기 위해 실제로 수행할 수 있는 구체적인 명령의 유한한

순서와 실행 절차

– 입력: 외부에서 제공되는 자료가 0개 이상 존재

– 출력: 적어도 1개 이상의 출력 결과

– 명확성: 수행 과정은 명확하고 모호하지 않은 명령어로 구성

– 유한성: 유한 번의 명령어를 수행하고, 유한 시간 내에 종료

– 효율성: 모든 과정은 명백하게 실행 가능하고, 검증 가능해야 함.

알고리즘의 이해1.

Page 202: 소프트웨어교육론 전체

㉯ 문제 해결 방법

• 하나의 문제를 해결하기 위한 다양한 알고리즘 존재

예) 1+2+3+4+5+ … +n 계산 문제

(1) 차례대로 더하기

(2) 가우스 계산법으로 계산하기

(2) 알고리즘의 평가

(1) 정확성: 적당한 입력에 대해서 유한 시간 내에 올바른 답을 산출하는가를 판단

(2) 작업량: 전체 알고리즘에서 수행되는 기본 연산들만으로 작업량을 측정

(3) 기억 장소 사용량: 필요한 기억 장치의 크기를 계산

알고리즘의 이해1.

Page 203: 소프트웨어교육론 전체

㉮ 알고리즘의 복잡도

(1) 시간 복잡도

• 프로그램을 직접 실행해 보지 않고 소스 코드를 분석하거나, 소스 코드의 작성 없

이 대략적인 알고리즘 설계만을 분석하여 프로그램의 수행 시간을 나타내는 것

(2) 점근적 표기법

• Big O 표기법: 함수의 점근적인 상한을 나타내는데 사용

예) O(n): 입력 자료의 크기가 n일 경우 n번의 수행 시간을 가진다.

1.알고리즘의 이해

Page 204: 소프트웨어교육론 전체

㉯ 수행 시간 측정

(1) Windows 환경

• 헤더 파일 Windows.h에 있는 GetTickCount() 함수를 이용

1.알고리즘의 이해

Page 205: 소프트웨어교육론 전체

(2) Linux 또는 Unix 환경

• Time 명령어를 이용하여 수행 시간을 측정

• real: 프로그램을 호출하여 시작한 시각부터 종료한 시각까지 흐른 시간

• user: 사용자 모드에서 보낸 시간

• sys: 커널 모드에서 보낸 시간

1.알고리즘의 이해

Page 206: 소프트웨어교육론 전체

(3) 알고리즘의 표현

㉮알고리즘의 복잡도

예) 유클리드 호제법으로 최대 공약수를 구하는 알고리즘을 자연어로 표현

• 자연어로 표현하는 방법은 알고리즘을 정확하게 이해하는 데 어려움이 있고 다른 의미

로 해석될 수 있는 단점이 있다.

1.알고리즘의 이해

Page 207: 소프트웨어교육론 전체

㉯ 순서도로 표현하기

1.

[최대 공약수를 구하는 순서도]

알고리즘의 이해

Page 208: 소프트웨어교육론 전체

㉰ 의사 코드로 표현하기

• 의사 코드: 특정 프로그래밍 언어의 문법과 상관없이 일반적인 언어로 코드를 흉

내 내어 알고리즘을 써 놓은 코드

예) 유클리드 호제법으로 최대 공약수를 구하는 알고리즘

1.알고리즘의 이해

Page 209: 소프트웨어교육론 전체

(1) 선형 검색

• 리스트에서 찾아야 하는 값과 리스트에 있는 값이 같은지를 리스트의 처음부터 끝까지

비교

검색 알고리즘2.

[선형 검색 과정]

Page 210: 소프트웨어교육론 전체

• 선형 검색 알고리즘

• 데이터의 개수가 n개이면 O (n)의 수행 시간이 필요

검색 알고리즘2.

Page 211: 소프트웨어교육론 전체

(2) 이진 검색

• 이미 정렬된 리스트에서 특정 값을 찾는 알고리즘

- 중간 값을 임의의 값으로 선택, 찾고자 하는 값과 비교

- 중간 값보다 크면 그 수보다 큰 수들 중에서 중간 값을 선택하여 비교, 작으면 그 수보다

작은 수들 중에서 중간 값을 선택하여 비교

- 일치할 경우 종료

[이진 검색으로 8을 찾는 과정]

검색 알고리즘2.

Page 212: 소프트웨어교육론 전체

• 이진 검색 알고리즘

• 데이터의 개수가 n개이면 O (log2n)의 수행 시간이 필요

검색 알고리즘2.

Page 213: 소프트웨어교육론 전체

(3) 교육의 실제

• 수 스무 고개 게임 만들기

[스무고개 게임]

검색 알고리즘2.

Page 214: 소프트웨어교육론 전체

(1) 선택 정렬

• 배열이 정렬되지 않은 부분에서 가장 작거나 큰 값을 찾은 다음, 배열이 정렬된 부분으

로 옳기는 작업을 반복하는 정렬 방법

정렬 알고리즘3.

[선택 정렬 과정]

Page 215: 소프트웨어교육론 전체

• 선택 정렬 알고리즘

• 데이터의 개수가 n개이면 O (n2) 의 수행 시간이 필요

정렬 알고리즘3.

Page 216: 소프트웨어교육론 전체

(2) 버블 정렬

• 배열의 첫 부분부터 순서대로, 끝에 도달하면 다시 처음부터 계속 반복해서, 인접한 두

원소가 올바른 순서가 되도록 교환하는 작업을 수행

[버블 정렬 과정 중 7이 정렬된 상태]

3. 정렬 알고리즘

Page 217: 소프트웨어교육론 전체

• 버블 정렬 알고리즘

• 데이터의 개수가 n개이면 O (n2) 의 수행 시간이 필요

정렬 알고리즘3.

Page 218: 소프트웨어교육론 전체

(3) 삽입 정렬

• 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자

신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘

[삽입 정렬]

3. 정렬 알고리즘

Page 219: 소프트웨어교육론 전체

• 삽입 정렬 알고리즘

• 데이터의 개수가 n개이면 O (n2) 의 수행 시간이 필요

정렬 알고리즘3.

Page 220: 소프트웨어교육론 전체

(4) 퀵 정렬

• 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬

- 리스트 가운데서 하나의 원소(피벗)을 선택

- 피벗 앞에는 피벗보다 값이 작은 모든 원소들이 오고, 피벗 뒤에는 피벗보다 값이 큰 모든 원소들

이 오도록 피벗을 기준으로 리스트를 둘로 나누고, 해당 피벗을 고정.

- 분할된 두 개의 작은 리스트에 대해 재귀적으로 위의 과정을 반복(리스트의 크기가 0이나 1이 될

때까지)

3. 정렬 알고리즘

Page 221: 소프트웨어교육론 전체

3.

[퀵 정렬 과정]

정렬 알고리즘

Page 222: 소프트웨어교육론 전체

• 퀵 정렬 알고리즘

• 데이터의 개수가 n개이면 최악의 경우 O (n2) 의 수행 시간이 필요, 평균적으로 O

(nlog2n)의 수행 시간이 필요

3. 정렬 알고리즘

Page 223: 소프트웨어교육론 전체

(5) 교육의 실제

• 성적 순으로 정렬하기

[삽입 정렬 과정]

3. 정렬 알고리즘

[선택 정렬 과정]

Page 224: 소프트웨어교육론 전체

(1) 압축의 이해

㉮ 압축의 정의

• 압축: 원래의 데이터를 특정한 규칙에 따라 크기를 줄이는 것

압축 알고리즘4.

[텍스트 자료 압축 사례]

Page 225: 소프트웨어교육론 전체

㉯ 압축의 종류

(1) 비손실 압축: 압축한 내용을 해체했을 때 내용이 보존되는 압축 방식

(2) 손실 압축: 압축한 내용을 해체했을 때 내용이 바뀌는 압축 방식

(2) 런 렝스 부호화

• 데이터에서 같은 값이 연속해서 나타나는 것을 그 개수와 반복되는 값만으로 표

현하는 방법

(3) 교육의 실제

• 자료 압축 프로그램

압축 알고리즘4.

Page 226: 소프트웨어교육론 전체

1 어떤 양의 정수 n이 입력되었을 때 1+2+3+4 +5+ …+n의 값을 출력하는 프로그램을 생각해 보자. n이 1일

때는 결과 1, n이 10일 때는 결과 55, n이 100일 때는 결과 5,050이 반환되어야 한다. 다음 두 가지 경우에

시간 복잡도를 Big O 표기법으로 나타내 보자.

[평가 문항]

Page 227: 소프트웨어교육론 전체

2 표준 라이브러리 함수에는 qsort() 함수가 있다. 이 함수는 퀵 정렬 알고리즘을 적용한 것이다. qsort() 함수를

이용하여 다음 수를 정렬하여 보자.

3 표준 라이브러리 함수에는 bsearch() 함수가 있다. 이 함수는 binary search 알고리즘을 적용한 것이다. 위의 데

이터에서 숫자를 찾는 프로그램을 작성해 보자.

[평가 문항]

Page 228: 소프트웨어교육론 전체

프로그래밍 언어

소프트웨어 교육론

11.

Page 229: 소프트웨어교육론 전체

(1) 프로그래밍 언어의 역사

㉮ Fortran

• 수식(Formular)과 변환기(Translator)의 약자로, 알골(Algol)과 함께 주로 과학 계산용으

로사용

㉯ C와 Object C

• C 언어: Unix 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어

• C++: C에서 객체 지향형 언어로 발전된 것

• Object C: C 언어에 Smalltalk 형식의 메시지 구문을 추가한 객체 지향 언어

프로그래밍 언어의 이해1.

Page 230: 소프트웨어교육론 전체

㉰ Java와 C#

• Java: 컴파일된 코드가 플랫폼에 독립적인 객체 지향적 프로그래밍 언어

• C#: 닷넷(.NET) 플랫폼을 직접적으로 반영하고, 닷넷 플랫폼에 강하게 의존하는

프로그래밍 언어

(2) 프로그래밍 언어의 종류

㉮ 프로그램의 인식 대상에 따른 분류

(1) 기계어: 2진수나 8진수 형태로 부호화된 일련의 명령어를 지원하는 언어

(2) 어셈블리어: 기계어에서의 수치 주소를 대신하여 주소 이름을 사용하는 방식으

로 확장된 언어

(3) 고급 언어: 사용자 중심의 언어로, 우리가 사용하는 대부분의 프로그래밍 언어

프로그래밍 언어의 이해1.

Page 231: 소프트웨어교육론 전체

㉯ 프로그램의 구성 형태에 따른 분류

(1) 명령형 언어: 명령의 순차적 실행, 기억 장소의 위치를 표현하는 변수의 사용, 변

수의 값을 조작하여 계산 과정을 수행하는 언어

(2) 함수형 언어: 실행할 함수가 기본 단위이며, 프로그램의 구성이 함수의 호출(Call)

과 실행(Execution)으로 이루어진 언어

(3) 논리형 언어: 계산 문제를 해결하기 위해 규칙(Rule)과 활성화 조건(Activation

Condition)을 이용하는 언어

(4) 객체 지향 언어: 주어진 문제와 관련된 객체를 만든 후에 이들 객체 간의 상호 작

용을 통해 문제를 해결하는 언어

– 추상화: 어떤 객체의 필요 부분의 속성과 기능만을 표현한다는 것을 의미

– 캡슐화: 객체의 속성은 외부로부터 숨기고, 메소드는 다른 객체에서 사용할 수 있도

록 공개하는 것을 의미

1.프로그래밍 언어의 이해

Page 232: 소프트웨어교육론 전체

– 상속성: 한 클래스로부터 속성과 메소드를 그대로 물려받아 또 다른 클래스를 정의

하는 것을 의미

– 다형성: 하나의 메소드가 클래스에 따라 다른 형태로 동작하는 것을 의미

1.

[다형성의 개념]

프로그래밍 언어의 이해

Page 233: 소프트웨어교육론 전체

(3) 프로그래밍 언어의 처리

㉮ 프로그램의 작성

(1) 자료형: 변수에저장되는숫자, 문자, 문자열등과같은자료의형태

-변수: 프로그램에서처리될자료나결과값을저장하는기억장소

(2) 연산자: 산술, 관계, 논리연산자로구분

1.

구분 C Python

산술 연산자 +, -, *, /, %, ++, -- +, -, *, /, %, **

관계 연산자 >, >=, <, <=, ==, != >, >= ,< ,<=, ==, !=

논리 연산자 &&, , ! and, or, not

프로그래밍 언어의 이해

Page 234: 소프트웨어교육론 전체

(3) 입출력문

(4) 제어문

① 조건문: 프로그램의 흐름을 선택할 수 있도록 지원하는 구문

1.

구분 C Python

입력문 scanf("%d",&a); a=input()

출력문 printf("%d",a); print a

C Python

if(조건식1)

명령문1;else if(조건식2)

명령문2;else

명령문3;

if 조건식1:

명령문1elif 조건식2:

명령문2 else:명령문3

프로그래밍 언어의 이해

Page 235: 소프트웨어교육론 전체

② 반복문: 어떤 조건을 만족하는 동안 일정한 구간을 반복해서 처리하도록 구성하

는 구문

(4) 함수

• 특정한 기능을 가진 독립적인 프로그램(정의-호출 과정이 필요)

1.

C Python

while(조건식){명령문

}

while 조건식:

명령문

for(초기식;조건식;증감식){명령문

}

for 변수 in 배열(문자열):

명령문

구분 C Python

함수 정의

자료형 함수명(매개 변수){

명령문1;

명령문2;return 수식(값);

}

def 함수명(매개 변수) :

명령문1;명령문2;

return 수식(값)

함수 호출 함수명(인수) 함수명(인수)

프로그래밍 언어의 이해

Page 236: 소프트웨어교육론 전체

① 전역 변수: 함수 밖에서 선언된 아래에 정의된 모든 함수에서 참조 가능한 변수

② 지역 변수: 함수 내에서 선언된 사용할 수 있는 범위가 변수를 선언한 함수 내부

로 한정된 변수

㉯ 프로그램의 번역

(1) 인터프리터: 중간 언어를 입력 받아 목적 언어로 변환하지 않고 직접 수행해서

그 결과를 출력해 주는 프로그램

1.

[인터프리터의 실행 과정]

프로그래밍 언어의 이해

Page 237: 소프트웨어교육론 전체

(2) 컴파일러: 컴파일을 수행하는 프로그램

• 컴파일(Compile): 프로그램을 완성한 후 컴퓨터가 이해할 수 있는 기계어나 어셈

블리어로 변화하는 과정

• 어휘 분석: 문법적으로 의미 있는 일련의 문자로 분할해 내는 것

• 구문 분석: 개별 문법 요소 단위로 분해하고, 이 문법 요소들을 해석하여 구문 트

리를 생성

• 최적화: 도달 불가한 코드를 식별 또는 상수 표현식을 미리 계산, 루프 풀기 등의

최적화 단계

• 코드 생성: 최적화된 구문 트리로부터 목적 코드 생성

1.

[컴파일러의 실행 과정]

프로그래밍 언어의 이해

Page 238: 소프트웨어교육론 전체

(1) 교육용 프로그래밍 언어의 개념

㉮ 정의

• 현실세계에서활용되는응용프로그램을작성하기위한언어가아니라,주로프로그래

밍을가르치고배우기위한학습도구로설계된언어

㉯ 특징

교육용 프로그래밍 언어2.

구분 일반 프로그래밍 언어 교육용 프로그래밍 언어

인터페이스 대부분 텍스트 기반 대부분 비주얼 기반

문법 구조 복잡함 간단함

적용 범위 하드웨어 제어 ~ 애플리케이션 애플리케이션

사용 목적 소프트웨어 개발 프로그래밍 교육

Page 239: 소프트웨어교육론 전체

㉰ 조건

• 단순하고 명료해야 한다.

• 흥미를 끌 수 있어야 한다.

• 이해하기 쉬워야 한다.

• 복잡한 문제를 쉽게 해결 가능해야 한다.

• 새로운 언어로서의 전이가 쉬워야 한다.

• 상호 작용성이 강조되어야 한다.

• 좋은 프로그래밍 환경을 갖고 있어야 한다.

교육용 프로그래밍 언어2.

Page 240: 소프트웨어교육론 전체

(2) 교육용 프로그래밍 언어의 종류

㉮ Scratch

• 스퀵(Squeak) 기반으로 Smalltalk라는 언어로 작성되었으며, 블록 조각을 조립하

는 형태로 프로그래밍할 수 있는 대표적인 교육용 프로그래밍 언어

[Scratch 개발 환경과 실행 화면]

교육용 프로그래밍 언어2.

Page 241: 소프트웨어교육론 전체

㉯ Logo와 Dolittle

(1) Logo: MIT 대학의 인공 지능 연구실에서 개발된 교육용 프로그래밍 언어

• 거북의 움직임을 학습자가 직접 통제함으로써 원하는 그림을 그리도록 하여 흥미

유발

• 쉬운 영어와 일상적인 생활 언어로 프로그래밍 가능

• 명령형 언어

• 상호 작용적 언어로써, 명령어를 화면상에서 즉각적으로 확인가능하며 오류 수정

도 바로 가능

• 순환적 언어, 과제 수행을 위해 긴 프로그램을 일렬로 쓰지 않고 반복되는 프로그

램을 짧게 줄일 수 있음.

교육용 프로그래밍 언어2.

Page 242: 소프트웨어교육론 전체

(2) Dolittle: 현대 프로그램 언어가 가지고 있는 고급 기능들을 프로토타입(Prototype)

방식을 통해 학습자가 쉽고 간결하게 프로그램할 수 있고, 1:N 방식의 한글 명령어

로 어린 초등학생들도 쉽게 다룰 수 있는 프로그래밍 언어

[Logo 소스 프로그램과 출력 화면]

[Dolittle 편집 화면]

교육용 프로그래밍 언어2.

Page 243: 소프트웨어교육론 전체

㉰ 파스칼

• 1970년에 스위스의 니클라우스 비르트(Niklaus Wirth)가 개발

[애플의 오브젝트 파스칼]

교육용 프로그래밍 언어2.

Page 244: 소프트웨어교육론 전체

㉱ Python

• 1991년 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어로, 플

랫폼에서 독립적이며 인터프리터식, 객체 지향적, 대화형 언어

예) 피보나치 수열

교육용 프로그래밍 언어2.

Page 245: 소프트웨어교육론 전체

(3) 프로그래밍 교육 플랫폼

㉮ Code.org

[Code.org의 개발 환경]

교육용 프로그래밍 언어2.

Page 246: 소프트웨어교육론 전체

㉯ Codecademy

[Codecademy의 개발 환경]

교육용 프로그래밍 언어2.

Page 247: 소프트웨어교육론 전체

㉰ Blockly

[Blockly의 개발 환경]

교육용 프로그래밍 언어2.

Page 248: 소프트웨어교육론 전체

㉱ 엔트리

[엔트리의 개발 환경]

교육용 프로그래밍 언어2.

Page 249: 소프트웨어교육론 전체

(1) Scratch 프로그래밍

㉮ 개발 환경

(1)무대:스프라이트가명령어블록에의해실행되는주무대이자프로그램이실행되는화

프로그래밍의 실제3.

[Scratch의 무대 방향과 좌푯값]

Page 250: 소프트웨어교육론 전체

(2) 스프라이트: 무대에나타난등장인물

(3) 명령어블록: 프로그래밍언어에서사용되는각종명령어에해당

㉯ 프로그래밍의 실제

• Scratch를 이용한 디지털 피아노 만들기

[Scratch에서 제공하는 스프라이트]

프로그래밍의 실제3.

[Scratch의 명령어 블록 쌓기]

Page 251: 소프트웨어교육론 전체

(2) Python 프로그래밍

㉮ 개발 환경

[Python의 셸과 통합 개발 환경]

프로그래밍의 실제3.

Page 252: 소프트웨어교육론 전체

(1) 변수와연산식: 형선언없이사용가능

(2) 리스트: 배열과비슷하지만더욱강력하며, 자료형이서로다르더라도저장할수있음.

프로그래밍의 실제3.

Page 253: 소프트웨어교육론 전체

(3) 조건문: 조건을만족할경우와그렇지않을경우를구분하여처리

프로그래밍의 실제3.

Page 254: 소프트웨어교육론 전체

(4) 반복문: while 문은조건식이참일때구문을반복하는명령문

프로그래밍의 실제3.

Page 255: 소프트웨어교육론 전체

(5) 함수

• 함수선언은def로시작해서콜론(:)으로나타낸다.

• 함수의시작과끝은코드의들여쓰기로구분한다.

예)팩토리얼계산

프로그래밍의 실제3.

Page 256: 소프트웨어교육론 전체

(6)모듈:프로그래밍에필요한기능을모아둔것(impor를이용하면다양한모듈을불러올

수있다.)

㉯ 프로그래밍의 실제

• 리스트와반복문을이용한체조경기심사하기

프로그래밍의 실제3.

Page 257: 소프트웨어교육론 전체

1 Scratch를 이용하여 수를 정렬하는 프로그램을 작성해 보자.

2 Scratch를 이용하여 가위바위보 게임을 하는 프로그램을 작성해 보자.

3 Scratch를 이용하여 [조건]을 만족하는 정N각형 그리기 프로그램을 작성해 보자.

[평가 문항]

Page 258: 소프트웨어교육론 전체

4 Python을 이용하여 이진 탐색 또는 순차 탐색으로 원하는 값을 찾는 프로그램을 작성해 보자.

5 Python을 이용하여 무작위 팀 배정 프로그램을 작성해 보자.

[평가 문항]

Page 259: 소프트웨어교육론 전체

융합 과학과소프트웨어

소프트웨어 교육론

12.

Page 260: 소프트웨어교육론 전체

(1) 융합 과학 기술과 교육

㉮ 융합 과학 기술

• 하나의목표를이루기위해과학, 수학, 기술및인문사회과학의융합

㉯ 융합 과학 인재 교육

• STEM: 과학, 기술, 공학, 수학을 통틀어 일컫는 말

• 우리나라에서는 예술을 추가하여, 창의적인 과학 교육의 한 방법으로 STEM

교육을 중요시하고 있다.

융합 과학 기술과 소프트웨어1.

Page 261: 소프트웨어교육론 전체

(2) 사물 인터넷과 소프트웨어

㉮ 사물 인터넷

• 각종 사물에 센서(Sensor)와 통신 기능을 내장하여 인터넷에 연결하는 기술

㉯ 임베디드 소프트웨어

마이크로프로세서에 내장되어 제한된 자원을 최적으로 활용하여 특정 기능을 수

행하도록 지원하는 소프트웨어

(1) 특성

① 고신뢰성을 갖는다. ② 제한된 시간성을 갖는다.

③ 하드웨어를 최적화한다.

(2) 개발 과정

• PC에서 프로그램을 개발하고 그것을 임베디드 기기에 전송하여 실행한다.

융합 과학 기술과 소프트웨어1.

Page 262: 소프트웨어교육론 전체

(1) 로봇 교육

㉮ 로봇의 발전

• 강제노역을의미하는‘로보타(Robota)’에서처음유래

• 초창기에로봇은사람이하기힘든일이나위험한일을대신하는기계

• 현대의 로봇은 외부 환경을 인식하고 스스로 판단하고 제어하면서 언제, 어디에서나

이용자가원하는서비스를제공하는지능형로봇

로봇 프로그래밍2.

Page 263: 소프트웨어교육론 전체

㉯ 로봇의 구조

• 주 제어 장치: 각종 주변 환경을 판단하고 행동에 대한 명령을 내리는 역할

• 센서 장치: 각종 물리량이나 화학량을 전기 신호로 변환해서 검출하는 부분

• 구동 장치: 로봇이 실질적으로 일을 수행하는 장치

로봇 프로그래밍2.

[로봇의 구조]

Page 264: 소프트웨어교육론 전체

㉰ 교육용 로봇

(1) Mindstorms

(2) Vex Robotics

2.

[레고 마인드스톰]

[벡스 IQ와 Ollo 자동차]

로봇 프로그래밍

Page 265: 소프트웨어교육론 전체

㉱ 외국의 로봇 교육

(1) 미국

(2) 일본

2.

[Robotics Academy]

[일본 중・고등학교의 이족 보행 연구]

로봇 프로그래밍

Page 266: 소프트웨어교육론 전체

(3) 영국

• Roamer: Valiant Technology가 어린 학생들을 위해 만든 교육용 로봇

• Beetbot: 기초적인 명령어를 활용하여 다양한 과제를 해결할 수 있는 로봇

• Probot: Beetbot이 지니고 있던 기능이 발전된 형태의 로봇

(4) 이스라엘

• 1970년대 중반부터 고등학교에서 필수 교과로 배우고 있으며, 알고리즘에 중점

을 둔 수준 높은 프로그래밍 교육 실시

(5) 중국

2.

[톈진 국제 학교의 로봇]

로봇 프로그래밍

Page 267: 소프트웨어교육론 전체

(2) 프로그래밍의 실제

• 로봇 프로그램의 특징

- 로봇의 움직임은 시간이 걸린다.

- 로봇의 센서와 구동에는 시간 지연이 발생한다.

- 로봇의 입력 값은 정확하지 않다.

2.로봇 프로그래밍

Page 268: 소프트웨어교육론 전체

㉮ Mindstorms의 구성

2.

[Mindstorms EV3 구성]

로봇 프로그래밍

Page 269: 소프트웨어교육론 전체

㉯ 제어 프로그래밍

(1) 모터 제어 프로그래밍

(2) 센서 프로그래밍

① 터치 센서

2.로봇 프로그래밍

Page 270: 소프트웨어교육론 전체

② 초음파 센서

• 초음파 센서가 감지할 수 있는 거리: 3~250m

2.로봇 프로그래밍

Page 271: 소프트웨어교육론 전체

③ 소리 센서

④ 빛 센서

2.로봇 프로그래밍

Page 272: 소프트웨어교육론 전체

(3) 교육의 실제

2.

[Mindstorms EV3가 구별할 수 있는 색상]

ㅁㅁ내용 영역 교육 내용 수준

마인드스톰 활용로봇 프로그래밍

1. 모터 동작을 제어하여 직진, 후진, 회전하기 하

2. 모터 엔코더를 활용하여 로봇이 움직이는 거리 제어하기 중

3. 모터 엔코더를 활용하여 로봇의 회전각 제어하기 중

4. 터치 센서 활용하기 중

5. 빛센서 활용하기 중

6. 소리 센서 활용하기 중

7. 초음파 센서 활용하기 중

8. 센서를 활용하여 미로 탈출하기(프로젝트) 상

9. 센서를 활용하여 라인 트레이싱하기(프로젝트) 상

로봇 프로그래밍

Page 273: 소프트웨어교육론 전체

(1) 아두이노

오픈소스를기반으로한단일보드마이크로컨트롤러(Micro controller)

㉮ 구성 요소

(1) 아두이노 통합 개발 환경

• 프로그래밍, 컴파일 및 업로드를 지원

(2) 아두이노 보드

• 신호 제어 및 반응 수행

① 아두이노 우노

아두이노 프로그래밍3.

[아두이노 우노]

Page 274: 소프트웨어교육론 전체

② 아두이노 메가

③ 아두이노 마이크로

아두이노 프로그래밍3.

[아두이노 MEGA 2560]

[아두이노 MICRO]

Page 275: 소프트웨어교육론 전체

④ Lily Pad

(3) 브레드 보드

• 전자 부품으로 회로를 구성하는데 있어, 이들을 끼울 수 있는 보드

[Lily Pad]

[브레드 보드]

아두이노 프로그래밍3.

Page 276: 소프트웨어교육론 전체

(4) 저항

• 도체에 흐르는 전류량을 조절하는 기능

[저항 색상 코드]

아두이노 프로그래밍3.

Page 277: 소프트웨어교육론 전체

(5) LED

• 순방향으로전압을가했을때발광하는반도체소자

(6) 빛 센서

• 광량에 따라 내부 저항이 변하는 소자

(7) 초음파 센서

• 주변에 있는 물체를 감지할 수 있는 소자

[LED]

아두이노 프로그래밍3.

Page 278: 소프트웨어교육론 전체

㉯ 동작 과정

[아두이노의 동작 과정]

아두이노 프로그래밍3.

Page 279: 소프트웨어교육론 전체

(1) 회로 구성하기

• 센서와부품이올바르게동작하기위해서는적합한회로를구성해야한다.

(2) 프로그래밍하기

• 동작이 한 번만 수행되거나 초기 설정인 경우는 setup() 함수에 기술하고, 반복되

는 동작은 loop() 함수에 작성한다.

[아두이노 회로]

아두이노 프로그래밍3.

Page 280: 소프트웨어교육론 전체

(2) 프로그래밍의 실제

㉮ LED에 불 켜기

• 회로를 다음 그림(좌)과 같이 구성하고 LED에 불이 켜지도록 프로그램(우)을 작

성하고 보드에 업로드 한다.

[LED 회로 구성]

아두이노 프로그래밍3.

Page 281: 소프트웨어교육론 전체

㉯ 빛 센서 활용하기

• 회로를 다음 그림(좌)과 같이 구성하고 LED에 불이 켜지게 하는 프로그램(우)을

작성한다.

[ 빛 센서의 회로 구성]

아두이노 프로그래밍3.

Page 282: 소프트웨어교육론 전체

㉰ 초음파 센서 활용하기

• 회로를 다음 그림과 같이 구성한다.

[IR LED와 Receiver의 회로 구성]

[IR LED와 Receiver의 회로]

아두이노 프로그래밍3.

Page 283: 소프트웨어교육론 전체

• 초음파 센서를 이용하여 LED에 불이 켜지게 하는 프로그램은 다음과 같이 작성

할 수 있다.

아두이노 프로그래밍3.

Page 284: 소프트웨어교육론 전체

㉱ 온도 센서 활용하기

• 회로를 그림과 같이 구성한다.

• 저항형 온도 센서에서 읽어온 값을 섭씨온도로 계산하는 함수 및 이를 호출하는

프로그램은 다음과 같다.

[온도 센서의 회로 구성]

아두이노 프로그래밍3.

Page 285: 소프트웨어교육론 전체

(3) 교육의 실제

내용 영역 ; 교육 내용 수준ㅣ;

아두이노 프로그래밍

1. LED 깜박이기 하

2. 어두워지면 LED에 불켜기 중

3. 버튼으로 LED에 불켜기 중

4. 온도 센서를 활용하여 LED에불켜기 중

5. 스피커로 음악 연주하기 중

6. 초음파 센서로 물체 감지하기 중

7. 모터로 로봇 움직이기 중

8. 모터와 센서를 활용하여 안전한 자동차 설계하기(프로젝트) 상

아두이노 프로그래밍3.

Page 286: 소프트웨어교육론 전체

1 마인드스톰의 터치 센서와 초음파 센서를 활용하여 미로를 탈출하는 프로그램을 작성해 보자.

2 마인드스톰을 활용하여 라인 트레이싱을 하는 로봇 프로그래밍을 작성해 보자.

[평가 문항]

Page 287: 소프트웨어교육론 전체

3 아두이노의 빛 센서가 측정한 결과에 따라 LED 대신 전등에 불이 켜지도록 해 보자.

4 아두이노와 스피커를 활용하여 다음과 같은 음악을 연주하는 프로그램을 작성해 보자.

[평가 문항]

Page 288: 소프트웨어교육론 전체

정보 윤리와 저작권

소프트웨어 교육론

13.

Page 289: 소프트웨어교육론 전체

(1) 정보 사회의 윤리적 문제

㉮ 해킹과 개인 정보 유출

• 해킹(Hacking): 컴퓨터 통신망으로 연결된 다른 사람의 컴퓨터에 허가 없이 침입하여

프로그램이나데이터를열람하거나변경시키는행위

㉯ 인터넷 사기

• 피싱(Phishing): 금융 기관 등의 웹 사이트나 그곳에서 보내온 이메일로 위장하여

개인의 비밀 정보를 빼내 불법적으로 이용하는 사기 수법

• 스미싱(Smishing): 문자 메시지를 이용해 개인 및 금융 정보를 탈취하는 휴대폰

해킹 기법

정보 윤리1.

Page 290: 소프트웨어교육론 전체

㉰ 사이버 폭력

• 정보나 정보 통신 기술을 이용하여 개인이나 집단이 다름 사람에게 해를 입힐

목적으로 고의적, 반복적, 적대적 행동을 하는 행위

• 다른 사람에게 해를 입힐 목적으로 정보 통신 기술을 이용하는 행위

• 다른 사람에게 해를 입힐 목적으로 인터넷 서비스와 모바일 기술를 이용하는

행위

㉱ 저작권 침해

• 저작권자가 아닌 다른 사람이 저작권자의 저작물을 이용할 때에는 정당한 대가를

지불하거나 허가를 받아야 한다.

• 창작물을 다른 사람이 사용하도록 공유하거나 전송하는 것은 저작권을 침해하는

행위가 된다.

정보 윤리1.

Page 291: 소프트웨어교육론 전체

(2) 개인 정보 보호

㉮ 개인 정보의 수집

• 개인 정보 처리자는 개인 정보 보호법에 따라 특정 조건에 해당하는 경우 개인 정

보를 수집할 수 있으며 그 수집 목적의 범위에서 이용할 수 있다.

㉯ 개인 정보의 처리 제한

• 개인 정보 처리자는 다음의 경우를 제외하고는 고유 식별 정보를 처리할 수 없다.

- 법령에서 구체적으로 주민 등록 번호의 처리를 요구하거나 허용한 경우

- 정보 주체 또는 제 3자의 급박한 생명, 신체, 재산의 이익을 위하여 명백히 필

요하다고 인정되는 경우

- 주민 등록 번호 처리가 불가피한 경우로서 안전행정부령으로 정하는 경우

1.정보 윤리

Page 292: 소프트웨어교육론 전체

(3) 정보 보안

정보의 수집, 가공, 저장, 검색 및 송수신 과정에서 정보가 훼손, 변조, 유출되는 것

을 막기 위한 기술 관리

㉮ 정보 보안의 목표

• 기밀성: 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것

으로 비밀 보장을 의미

• 무결성: 허락되지 않은 사용자 또는 객체가 정보를 함부로 수정할 수 없도록 하는

• 가용성: 허락된 사용자 또는 객체가 정보에 접근하고자 할 때 이것이 방해받지 않

도록 하는 것

• 부인 방지: 정보를 보낸 사람이 나중에 정보를 보냈다는 것을 부인하지 못하도록

하는 것

1.정보 윤리

Page 293: 소프트웨어교육론 전체

㉯ 악성 코드

사용자 컴퓨터에 악의적인 영향을 끼칠 수 있는 모든 소프트웨어의 총칭

(1) 컴퓨터 바이러스

• 정상적인 파일이나 시스템 영역에 침입하여 자신의 코드를 삽입하거나 설치하는

프로그램으로 사용자 몰래 자기 복제를 하며, 컴퓨터 시스템을 파괴하거나

작업을 지연 또는 방해하는 악성 프로그램

(2) 웜

• 자기 자신을 레지스트리에 등록하거나 복사본을 생성하여 전파하는 등 독자적으

로 실행되는 악성 코드

(3) 트로이 목마

• 컴퓨터 시스템에서 정상적인 기능을 하는 프로그램으로 가장해 다른 프로그램

안에 숨어 있다가 그 프로그램이 실행될 때 자신을 활성화 시키는 악성 프로그램

1.정보 윤리

Page 294: 소프트웨어교육론 전체

(4) 스파이웨어

• 사용자의 PC에서 사전 동의 없이 설치되어 컴퓨터의 정보와 개인 정보를

수집하는 악성 코드

(5) 애드웨어

• 상업용 광고를 목적으로 만들어진 악성 코드

㉰ 해킹 기법

(1) 취약점 공격

• 컴퓨터 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품 버그, 보안 취약점 등의

설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나

일련의 명령, 스크립트, 프로그램 또는 특정한 데이터 조작을 말하며, 이러한

것들을 사용한 공격 행위

1.정보 윤리

Page 295: 소프트웨어교육론 전체

(2) 분산 서비스 거부 공격

• 서비스 공격을 위한 도구들을 여러 대의 컴퓨터에 심어 놓고, 공격 목표 시스템을

대상으로 대량의 패킷을 동시에 발생시켜 네트워크의 성능을 저하시키거나 시스

템을 마비시키는 방식

1.

[DDoS 흐름도]

정보 윤리

Page 296: 소프트웨어교육론 전체

(3) 키로거

• 컴퓨터가 입력받는 정보를 기록하는 것으로 그중에서도 주로 키보드를 통한 메시

지를 중간에 가로채서 기록하는 형태를 말함

(4) 루트킷

• 루트 권한을 획득한 공격자가 심어 놓은 프로그램을 숨기기 위한 목적으로 사용

되는 프로그램

(5) 스니핑

• 네트워크상에서 자신이 아닌 다른 상대방들의 패킷을 엿듣는 행위

(6) 스푸핑

• 타인의 시스템 자원에 접근할 목적으로 IP를 날조하여 정당한 사용자인 것처럼

보이게 하거나 승인받은 사용자인 체하여 시스템에 접근함으로써 추적을 피하는

고급 해킹 수법

1.정보 윤리

Page 297: 소프트웨어교육론 전체

(7) 파밍

• 합법적인 사용자의 도메인을 탈취하거나 도메인 네임 시스템 또는 프락시 서버의

주소를 변조함으로써 사용자들로 하여금 진짜 사이트로 오인하여 접속하도록 유

도한 뒤 개인 정보를 탈취하는 방법

㉱ 정보 보안 기술

(1) 암호화

• 특별한 지식을 소유한 사람들을 제외하고는 아무나 읽어 볼 수 없도록 알고리즘

을 이용하여 정보를 전달하는 과정

1.정보 윤리

Page 298: 소프트웨어교육론 전체

① 대칭 키 암호화

• 암호문을 생성할 때 사용하는 키와 암호문을 복호할 때 사용하는 키가 동일한 암

호화 방식

1.

[대칭 키 암호화 방식]

정보 윤리

Page 299: 소프트웨어교육론 전체

② 비대칭 키 암호화

• 공개 키 암호라고도 하며, 송신자는 공개된 암호화 키를 이용하여 정보를 암호화

하여 보내고, 수신자는 자신만이 가진 개인 키를 이용하여 수신된 정보를 해독할

수 있도록 한 암호화 방식

1.

[비대칭 키 암호화 방식]

정보 윤리

Page 300: 소프트웨어교육론 전체

(2) 인증

• 여러 사람이 공유하고 있는 컴퓨터 시스템이나 통신망인 경우, 이를 이용하려는

사람이나 응용 프로그램의 신분을 확인하여 불법적인 사용자가 들어올 수 없도록

시스템 보안을 유지하는 방법

(3) 방화벽

• 인터넷과 특정 조직의 개별 네트워크 사이의 정보 흐름을 관리하는 하드웨어 또

는 소프트웨어 체제

1.정보 윤리

Page 301: 소프트웨어교육론 전체

(4) 침입 탐지 시스템과 침입 방지 시스템

• 침입 탐지 시스템: 일반적으로 시스템에 대한 원치 않는 조작을 탐지

• 침입 방지 시스템: 적극적인 보안 솔루션으로서 인터넷 웜, 악성 코드 및 해킹 등

에 기인한 유해 트래픽을 차단하는 네트워크 보안 기술 중 예방적 차원의 시스템

㉲ 정보 보안 수칙

• 운영 체제에서 제공하는 최신 보안 패치를 적용한다.

• 로그인 계정의 패스워드를 자주 변경하고 영문, 숫자, 특수 문자를 조합하여 8자

리 이상 설정한다.

• 신뢰할 수 있는 기관의 서명이 없는 Active-X 보안 경고 창이 뜨면 동의 및 설치

하지 말고 창을 닫는다.

• 이메일을 확인할 때 발신인이 불분명하거나 수상한 첨부파일은 모두 삭제한다.

1.정보 윤리

Page 302: 소프트웨어교육론 전체

• 메신저 프로그램에 첨부된 URL이나 첨부 파일에 대하여 메시지를 보낸 이가

직접 보낸 것이 맞는지 확인한다.

• P2P 프로그램에서 파일을 다운로드할 때 반드시 보안 검사를 한 후에 사용한다.

• 공유 권한을 ‘읽기'로 설정하고, 사용 후에는 공유를 해제한다.

• 보안 제품은 항상 최신 버전의 엔진을 유지한다.

(3) 교육의 실제

1.

내용 영역 교육 내용 수준

정보 윤리 1. 정보 윤리적 문제

2. 개인 정보와 개인 정보 보호법 이해하기하 중

정보 보안1. 악성 코드, 해킹과 디도스

2. 보안 기술, 암호의 역사와 암호화 방식3. 암호화프로그래밍

중 중 중

정보 윤리

Page 303: 소프트웨어교육론 전체

(1) 저작권의 개념

㉮ 지적 재산권

• 인간의창조적활동또는경험등을통해창출하거나발견한지식, 정보, 기술, 표현, 표

시, 그밖에무형적인것으로서제산적가치가실현될수있는지적창작물에부여된재

산에관한권리

저작권2.

[지식 재산권]

Page 304: 소프트웨어교육론 전체

㉯ 저작권

• 지적 창작물 중에서 인간의 사상 또는 감정을 표현한 창작물에 대하여 주어진 독

점적 권리

저작권2.

보호받는 저작물(저작권법 제4조) 보호받지 못하는 저작물(저작권법 제7조)

•소설·시·논문·강연·연설·각본·그 밖의 어문 저 작물•음악 저작물

•연극 및 무용·무언극·그 밖의 연극 저작물

•회화·서예·조각·판화·공예·응용 미술 저작물·그밖의 미술 저작물

•건축물·건축을 위한 모형 및 설계 도서·그 밖의 건축저작물•사진 저작물

•영상 저작물

•지도·도표·설계도·약도·모형·그 밖의 도형 저작물

•컴퓨터 프로그램 저작물

•헌법·법률·조약·명령·조례 및 규칙

•국가 또는 지방 자치 단체의 고시·공고·훈령·그 밖 에 이와유사한것

•법원의 판결·결정·명령 및 심판이나 행정 심판 절 차·그 밖에이와 유사한 절차에 의한 의결·결정 등

•국가 또는 지방 자치 단체가 작성한 것으로서 제1호 내 지 제3호에 규정된 것의 편집물 또는 번역물

•사실의 전달에 불과한 시사 보도

Page 305: 소프트웨어교육론 전체

㉰ 저작권의 구성

(1) 저작 인격권

• 공표권: 저작물을 일반에게 공표하거나 공표하지 않을 권리

• 성명 표시권: 저작자 자신이 그 저작물에 자신의 이름을 표시하거나 표시하지 않

을 권리

• 동일성 유지권: 저작물의 내용, 형식 및 제호 등이 부당하게 바뀌지 않도록 금지

할 수 있는 권리

(2) 저작 재산권

• 복제권: 저작자가 자신의 저작물을 인쇄, 사진 촬영, 복사, 녹음, 녹화, 그 밖의 방

법으로 유형물에 고정하거나 유형물을 다시 제작할 권리

• 공연권: 저작자가 자신의 저작물을 상영, 연주, 연설 등의 방법으로 일반 공중에

게 공개할수 있는 권리

2.저작권

Page 306: 소프트웨어교육론 전체

• 전시권: 저작자가 자신의 미술・사진 및 건축 저작물의 원본이나 그 복제물을 일

반 공중이 관람할 수 있도록 전시할 수 있는 권리

• 배포권: 저작자가 저작물의 원작품 혹은 그 복제물을 일반 공중에게 양도 혹은 대

여할 권리

• 공중 송신권: 저작자가 자신의 저작물, 실연, 음반, 방송 또는 데이터베이스를 공

중이 수신 하거나 접근하게 할 목적으로 무선 또는 유선 통신의 방법에 의하여 송

신하거나 이용에 제공할 권리

• 2차적 저작물 작성권: 저작자가 자신의 원저작물을 번역, 편곡, 변형, 각색, 영상

제작, 그 밖의 방법으로 독창적인 저작물로 제작하고 이를 이용할 권리

(3) 저작 인접권

• 실연자: 저작물을 연기, 무용, 연주, 가창, 구연, 낭독, 그 밖의 예능적 방법으로

표현하거나 저작물이 아닌 것을 이와 유사한 방법으로 표현하는 자, 실연을 지휘,

연출 또는 감독하는 자

2.저작권

Page 307: 소프트웨어교육론 전체

• 음반 제작자: 음을 음반에 고정하는 데 전체적으로 기획하고 책임지는 자

• 방송 사업자: 방송을 업으로 하는 자

㉱ 저작 재산권의 제한

(1) 학교 교육 목적 등에의 이용

(2) 사적 이용을 위한 복제

㉲ 소프트웨어 지식 재산권

특허권(Patent): 발명에 관하여 발생하는 독점적, 배타적 지배권으로 법에 정해진

절차에 의해 출원을 하여야 하며, 심사를 통해 부여되는 권리

(1) 소프트웨어 라이선스

• 다양한 필요에 의해 권리자가 다른 사람들에게 일정한 내용을 조건으로 특정 행

위를 할 수 있는 권한

2.저작권

Page 308: 소프트웨어교육론 전체

(2) 소프트웨어 저작권 침해

• 정당한 라이선스 취득 없이 무단으로 사용하는 행위

• 보유한 소프트웨어 상위 버전을 사용하는 행위

• 보유 수량을 초과하여 사용하는 행위

• 별도의 라이선스 취득 없이 네트워크를 통해 다수의 사용자가 보유하는 행위

• 번들 소프트웨어를 다른 하드웨어 장치에서 사용하는 행위

• 프리웨어와 셰어웨어의 사용 조건을 위반하는 행위

2.저작권

Page 309: 소프트웨어교육론 전체

(2) 저작권 보호

㉮ 정보 공유 라이선스

• CCL(Creative Commons License): 저작물에 대한 모든 이의 이용을 허락하되

반드시 지켜야 하는 조건을 부가하는 것

2.

라이선스 유형 내용 라이선스 유형 내용

저작자표시이용자는 저작물을 이용하려면 반 드시 저작자를 표시해야 한다.

비영리저작물의 이용을 영리를목적으로 사용하지 않는다.

변경금지

저작물을 이용하여 새로운 2차적 저작물을 작성하는 것뿐만 아니라 저작물의 내용, 형식 등의 단순한 변경도 금지한다.

동일 조건변경 허락

저작물을 이용한 2차적저작물의 작성을 허용하되, 그 2차적 저작물 에대하여는 원저작물과 동일한 내 용의 라이선스를적용해야 한다.

저작권

Page 310: 소프트웨어교육론 전체

㉯ 공개 소프트웨어 활용

(1) 오픈 소스 소프트웨어

• 소스 코드를 최초로 작성한 프로그래머가 소스 코드를 모든 사람에게 공개하여,

누구나 사용, 복제, 배포, 수정할 수 있는 자유가 부여된 소프트웨어

(2) 프리웨어

• 프로그램 저작권자가 자신의 저작 재산권의 전부 또는 일부의 행사를 유보한 프

로그램

(3) 셰어웨어

• 보통 체험판 또는 평가판이라 불리며, 구매하기 전에 미리 써보도록 하는 마케팅

의 일종으로 활용

2.저작권

Page 311: 소프트웨어교육론 전체

(3) 저작권 교육의 실제

내용 영역ㅁㅁ 교육 내용 수준

저작권

1. 저작권의 개념과 범위 하

2. 저작권 침해 중

3. 저작물의 올바른 이용 방법 중

4. 저작권 보호 프로젝트 중

2.저작권

Page 312: 소프트웨어교육론 전체

1 Ddos의 개념과 특징을 설명하고 대처 방법에 대하여 작성해 보자.

2 대칭 키 암호화 비대칭 키 암호화 방식의 차이점을 설명하고, 비대칭 키 암호 기법 중 하나인 RSA 암호에 대해

설명해 보자.

3 저작권법에서 보호받는 저작물과 보호받지 못하는 저작물을 구분하여 나타내 보자.

4 오픈 소스 소프트웨어란 무엇이고, 대표적인 오픈 소스 소프트웨어는 어떤 것이 있는지 작성해 보자.

[평가 문항]