도서 소개
좁은 의미에서의 소프트웨어 교육은 알고리즘과 코딩을 중심으로 한 프로그래밍 교육을 의미하지만 컴퓨터 과학의 원리를 이해하고, 그것을 기반으로 컴퓨터 과학적 사고력(Computational Thinking)을 기르기 위해서는 소프트웨어에 대한 활용 능력도 필요하다.
특히 프로그래밍 교육에서는 알고리즘을 잘 만드는 것도 필요하지만 관련 소프트웨어 또한 능숙하게 다룰 수 있어야 하며, 프로그램 개발 과정에서 습득한 고차원적인 사고력을 일상생활에서 적용하고 응용할 수 있는 능력도 길러야 한다. 따라서 이 책에서는 소프트웨어 교육에 대한 개념을 넓은 의미로 확장하여 프로그래밍 교육 이외에도 기존의 ICT 교육을 포함하였으며, 타 교과와의 접목과 생활 속에서의 다양한 적용을 위해 융합 교육을 포함하였다.
출판사 리뷰
미래 사회 인재가 갖추어야 할 핵심 역량,
컴퓨터 과학적 사고를 교육한다.
컴퓨터와 인터넷 활용 중심의 ICT 교육에서 벗어나, 컴퓨터와 직접 소통할 수 있는 소프트웨어 교육이 시작된다. 이 책에서는 컴퓨터 과학의 원리와 개념을 기반으로 생활 속 문제를 효과적으로 해결할 수 있는 컴퓨터 과학적 사고를 키우기 위해 소프트웨어 교육에 대한 기본 개념과 목적을 정립하고, 그것을 기반으로 한 구체적인 교육 내용과 방법을 제시하고 있다.
모든 학생들이 프로그래머가 될 필요가 없지만, 모든 학생들에게 프로그래밍 교육을 받을 기회는 주어야 한다. 컴퓨터와 통섭(統攝)하는 소프트웨어 중심 사회에서 프로그래밍 언어는 제 3 외국어이기 때문이다.
예비 교원과 현직 교원을 위한 소프트웨어 교육 교재
이 책은 활용 중심의 ICT 교육용 교재에서 탈피하여 사고 중심의 소프트웨어 교육용 교재로 사용하기 위하여 우리나라에서 처음으로 시도되었다. 이 책은 초?중등학교의 예비 교원이나 현직 교원을 대상으로 소프트웨어 교육을 하고자 하는 전국의 사범대학이나 교육대학교, 교원연수원 등에서 활용할 것을 전제로 개발하였다.
영국은 2014년부터 만 5~14세의 모든 학생들이 컴퓨터 프로그래밍을 배울 수 있도록 기존의 ICT 과목을 컴퓨팅(Computing) 과목으로 변경하고, 프로그램을 사용하는 방법보다는 만드는 방법을 배울 수 있도록 결정하였다. 우리나라 또한 2000년부터 시작된 활용 중심의 ICT 교육에서 벗어나, 직접 컴퓨터와 소통할 수 있는 소프트웨어 교육을 준비하고 있다. 그러나 그동안 ‘소프트웨어 교육(Software Education)’이라는 용어를 사용한 적이 없었기 때문에 소프트웨어 교육에 대한 개념이나 내용, 방법 등이 정립되지 못하여 당장 2016년도부터 초.중등학 교에서 소프트웨어 교육을 어떻게 시작해야 할지 난감해 하고 있다.
이 책에서는 소프트웨어 교육에 대한 기본 개념과 목적을 정립하고, 그것을 기반으로 구체적인 교육 내용과 방법을 제시하려고 노력하였다.
이 책의 구성과 특징
좁은 의미에서의 소프트웨어 교육은 알고리즘과 코딩을 중심으로 한 프로그래밍 교육을 의미하지만 컴퓨터 과학의 원리를 이해하고, 그것을 기반으로 컴퓨터 과학적 사고력(Computational Thinking)을 기르기 위해서는 소프트웨어에 대한 활용 능력도 필요하다. 특히 프로그래밍 교육에서는 알고리즘을 잘 만드는 것도 필요하지만 관련 소프트웨어 또한 능숙하게 다룰 수 있어야 하며, 프로그램 개발 과정에서 습득한 고차원적인 사고력을 일상생활에서 적용하고 응용할 수 있는 능력도 길러야 한다. 따라서 이 책에서는 소프트웨어 교육에 대한 개념을 넓은 의미로 확장하여 프로그래밍 교육 이외에도 기존의 ICT 교육을 포함하였으며, 타 교과와의 접목과 생활 속에서의 다양한 적용을 위해 융합 교육을 포함하였다.
제1부는 소프트웨어 교육에 대한 이론 중심으로 구성하였다.
소프트웨어 교육이 왜 필요한지, 소프트웨어 교육에 대한 목적이 무엇인지를 제시하였고, 소프트웨어 교육이 무엇인지, 소프트웨어 교육을 통해 기르려는 컴퓨터 과학적 사고력이 무엇인지를 설명하였다. 또한 소프트웨어 교육의 교수법, 교육 과정, 교재, 평가와 분석 등을 제시하였다.
제2부는 소프트웨어 교육의 주요 내용을 중심으로 교육의 실제와 사례를 제시하였다.
자료의 표현과 문제 해결, 알고리즘, 프로그래밍, 융합 과학, 정보 윤리 등 소프트웨어 교육을 통해 가르쳐야 할 주요 내용을 제시하였고, 그것을 가르치기 위한 기초 지식과 교수법을 구체적인 사례를 들어 설명하였다.
작가 소개
저자 : 정영식
고려대학교 수학과 졸업(이학사)고려대학교 전산과학과(전산학 석사)고려대학교 전산과학과(전산학 박사)현 원광대학교 컴퓨터공학과 조교수
저자 : 유정수
저자 : 임진숙
저자 : 손유경
목차
제1부 소프트웨어 교육의 이론
제1장 소프트웨어 교육의 환경
1. 사회 패러다임의 변화
2. 컴퓨팅 기술의 변화
3. 소프트웨어의 변화
제2장 소프트웨어 교육의 목적
1. 미래 사회의 핵심 역량
2. 미래 사회의 인재
3. 미래 사회의 사고력
제3장 소프트웨어 교육의 이해
1. 소프트웨어의 개념
2. 소프트웨어 교육의 개념
3. 소프트웨어 교육의 훈련
제4장 소프트웨어 교육 과정
1. 국내의 소프트웨어 교육 과정
2. 국외의 소프트웨어 교육 과정
3. 미래형 소프트웨어 교육 과정
제5장 소프트웨어 교수법
1. 교수.학습 이론
2. 교수.학습 모형
3. 교수.학습 방법
제6장 소프트웨어 교재
1. 교재의 개념과 유형
2. 교재의 제작
3. 교재의 선정 및 평가
제7장 소프트웨어 교육의 평가와 분석
1. 학생 평가
2. 수업 분석과 학습 분석
제2부 소프트웨어 교육의 실제
제8장 자료
1. 자료의 이해
2. 자료의 표현
3. 자료의 구조화
제9장 문제 해결과 언플러그드 활동
1. 문제 해결의 이해
2. 문제 해결의 실제
3. 언플러그드 활동
제10장 알고리즘
1. 알고리즘의 이해
2. 검색 알고리즘
3. 정렬 알고리즘
4. 압축 알고리즘
제11장 프로그래밍 언어
1. 프로그래밍 언어의 이해
2. 교육용 프로그래밍 언어
3. 프로그래밍의 실제
제12장 융합 과학과 소프트웨어
1. 융합 과학 기술과 소프트웨어
2