서브메뉴

본문

실용적 컴퓨팅 사고와 소프트웨어
실용적 컴퓨팅 사고와 소프트웨어
저자 : 김원|김진환|김한숙|문정경|민연아
출판사 : 생능출판사
출판년 : 2018
정가 : 22000, ISBN : 9788970509532

책소개


컴퓨팅 사고와 소프트웨어의 기본서

우리는 이 책에서 프로그래밍 언어, 알고리즘, 대형 SW 개발 과정 및 SW 구조 등에 스며들어 있는 공통된 개념들을 모은 것을 ‘컴퓨팅 사고’라고 정의한다. 컴퓨팅 사고는 모든 IT 분야에서 개발하고 설계할 때 필요한 개념이다. 코딩할 때, SW 구조나 SW 설계 및 개발 과정에도 적용된다. 학생들이 컴퓨팅 사고를 학습함으로써 논리적이고 창의적으로 문제를 해결하는 능력을 키우는 것을 돕고자 하였다. 프로그래밍과 알고리즘 예제는 상황에 맞추어 스크래치 언어와 유사 코드(pseudocode)로 표현하였다. 컴퓨팅 사고의 영역을 알고리즘과 대형 SW 설계 및 구현에 적용하는 것을 소개하였다.

이론도 핵심을 꿰뚫어 일상생활과 연결해 쉽게 이해하고 창의력을 잘 발휘할 수 있게 실습 내용 위주로 구성하였다. 우리의 이러한 경험을 바탕으로 학생들이 컴퓨팅 사고의 본질을 이해하고, 컴퓨팅 사고의 요소들을 쉽게 배울 수 있도록 일상적인 언어로 설명하였다. SW에 대한 기본적인 이해가 필요한 시대에, SW비전공 대학생들과 SW 기초교육을 운영해야 할 초중등 교사 및 강사들이 컴퓨팅 사고를 쉽게 이해하고 적용하는데 도움이 되도록 집필하였다.

목차


PART 01 스크래치로 배우는 컴퓨팅 사고
CHAPTER 01 컴퓨팅 사고
1.1 컴퓨팅 사고
1.2 프로그래밍을 통한 문제 해결
1.2.1 기본 기능
1.2.2 스크래치 블록으로 기능 엮기
1.2.3 순차적으로 처리하기
1.2.4 반복하기
1.2.4 조건 처리하기
■ 연습문제

CHAPTER 02 스크래치로 배우는 컴퓨팅 사고(1)
2.1 순차와 반복
2.1.1 스크래치로 배우는 순차와 반복 처리
2.2 조건 처리
2.2.1 스크래치로 배우는 조건 처리
2.3 변수
2.3.1 변수의 개념
2.3.2 변수의 사용
2.3.3 스크래치로 배우는 변수
■ 연습문제

CHAPTER 03 스크래치로 배우는 컴퓨팅 사고(2)
3.1 리스트
3.1.1 리스트의 개념
3.1.2 스크래치로 배우는 리스트
3.2 함수
3.2.1 문제 나누기
3.2.2 함수
3.2.3 스크래치로 배우는 함수
3.3. 분산 및 병렬 처리
3.3.1 분산 및 병렬 처리
3.3.2 분산 및 병렬 처리의 사례
3.3.3 스크래치로 배우는 분산 및 병렬 처리
3.4 추상화
3.4.1 추상화와 사용자
3.4.2 계층 구조에서 관계 추상화
3.4.3 소프트웨어의 추상화
3.4.4 스크래치 프로그래밍 언어의 추상화
■ 연습문제

PART 02 소프트웨어 기초 알고리즘
CHAPTER 04 검색하기
4.1 반씩 나누어 검색하기
4.1.1 일상 생활에서 검색하기
4.1.2 컴퓨터처럼 검색하기
4.2. 글자 검색하기
■ 연습문제

CHAPTER 05 정렬하기
5.1 최솟(최댓)값 찾아 순서대로 나열하기
5.1.1 순서대로 나열하기
5.1.2 컴퓨터처럼 순서대로 나열하기
5.2 두 그룹씩 합치면서 순서대로 나열하기
5.2.1 순서대로 나열하기

■ 연습문제
CHAPTER 06 기타 주요 알고리즘
6.1. 암호
6.1.1 일상 생활에서 보안
6.1.2 시저 암호 알고리즘
6.1.3 컴퓨터처럼 암호 해독하기
6.2 동시 사용자 알고리즘
■ 연습문제

PART 03 심화
CHAPTER 07 데이터 구조와 알고리즘
7.1 리스트
7.2 배열
7.2.1 배열에 데이터 추가하기
7.2.2 배열에서 데이터 삭제하기
7.3 연결 리스트
7.3.1 연결 리스트에 데이터 추가하기
7.3.2 연결 리스트에서 데이터 삭제하기
7.4 스택과 큐
7.4.1 배열로 구현된 스택에 데이터 추가하기
7.4.2 배열로 구현된 스택에서 데이터 삭제하기
7.4.3 연결 리스트로 구현된 스택에 데이터 추가하기
7.4.4 연결 리스트로 구현된 스택에서 데이터 삭제하기
7.4.5 배열로 구현된 큐에 데이터 추가하기
7.4.6 배열로 구현된 큐에서 데이터 삭제하기
7.4.7 연결 리스트로 구현된 큐에 데이터 추가하기
7.4.8 연결 리스트로 구현된 큐에서 데이터 삭제하기
■ 연습문제

Chapter 08 소프트웨어 개발과 구조
8.1 소프트웨어 개발
8.1.1 소프트웨어의 생명 주기
8.1.2 규모가 큰 소프트웨어의 개발
8.1.3 소프트웨어 개발 과정
8.1.4 사용자 요구 분석
8.1.5 설계 및 구현
8.2 소프트웨어 구조
8.2.1 소프트웨어의 종류와 구조
■ 연습문제

PART 04 부록
1. 스크래치
1. 스크래치 설치하기
1) 온라인에서 프로그램 사용하기
2) 오프라인 프로그램 설치하기
3) 스크래치 실행하기
2. 스크래치 화면 구성
1) 메뉴 및 툴바
2) 무대
3) 무대 설정/스프라이트
4) 블록 팔레트
5) 스크립트 코딩 창
6) 스크래치 무대 영역에 대한 좌표
3. 스크래치 블록 모음
2. 용어집