분야별도서 > 컴퓨터공학 > 컴퓨팅사고

분야별도서

컴퓨팅 사고: 인공지능 컴퓨터처럼 생각하기 (2판)

  • 저자안성진, 오경선
  • 발행일2022-08-30
  • 정가26,000원
  • 페이지520 페이지
  • ISBN979-11-92373-09-6
  • 책소개
  • 저자소개
  • 목차
  • 출판사 서평

컴퓨터처럼 생각하여 문제를 창의적으로 해결해보자!

 

이 책은 인공지능 시대에 필요한 컴퓨팅 사고를 소개하고 데이터 수집, 데이터 분석, 문제분해 등 컴퓨팅 사고의 9가지 역량을 각 장으로 구성하였다. 컴퓨팅 사고 기반으로 다양한 문제를 해결해볼 수 있도록 실습문제와 도전문제를 배치하였다.

 

1~2장은 인공지능과 컴퓨팅 사고를 설명하였고 3~4장은 데이터 수집, 데이터 분석, 데이터 표현 방법을 다루었다. 5장에서는 소프트웨어 개발 문제를 다루기 위해 교육용 프로그래밍 언어인 러플을 설명하였다. 6~9장은 문제분해, 추상화, 알고리즘, 자동화, 시뮬레이션을 설명하고 10~15장까지 파이썬 문법과 활용에 대해 설명한다. 마지막 16장은 시뮬레이션과 병렬화에 대해 학습한다. 일반적인 문제와 소프트웨어 개발 문제로 구분하여 실습해볼 수 있도록 구성하였다.



안성진

안성진 교수는 현재 성균관대학교 사범대학 컴퓨터교육과 교수로 재직 중이며, 한국산업보안연구학회 회장을 맡고 있다. 성균관대학교 정보공학과에서 학사, 석사, 박사 학위를 취득하고 KIST/시스템공학연구소 연구원으로 근무를 했었다. 한국정보통신보안윤리학회 회장, 한국컴퓨터교육학회 회장, 한국정보과학교육연합회 회장을 역임하였으며, 성균관대 입학처장, 사범대학 학장, 교육대학원 원장을 지냈다. 네이버 소프트웨어교육 자문위원도 하였으며, AI윤리, 컴퓨팅 사고, 네트워크, 보안, 빅데이터 등 다양한 분야의 저서를 보유한 전문가이다.

 

오경선

오경선 교수는 성균관대학교에서 컴퓨터교육전공 박사 학위를 취득하였으며, 2017~2019년에 단국대학교 SW중심사업단 강의전담 조교수를 거쳐 2019년부터 현재까지 건국대학교 상허교양대학 조교수로 재직 중이다. 컴퓨팅 사고, 프로그래밍, 데이터 분석 등 다양한 분야의 저서를 집필하였다.

Part 01 컴퓨팅 사고와 문제해결

 

Chapter 01 인공지능 세상과 컴퓨팅 사고

1.1 인공지능

1.2 컴퓨팅 사고

[실습1] 알람설정 챗봇

도전문제1

도전문제2

도전문제3

 

Chapter 02 문제해결 과정과 컴퓨팅 사고

2.1 문제해결

2.2 컴퓨팅 사고 기반의 문제해결 과정

[실습1] 컴퓨팅 사고 기반의 문제해결

도전문제1

도전문제2

도전문제3

도전문제4

 

Part 02 문제 분석과 추상화

 

Chapter 03 데이터 수집

3.1 데이터 수집의 필요성

3.2 데이터 수집

[실습1] 브레인스토밍

[실습2] 마인드맵

[실습3] 데이터 필터링

[실습4] 데이터 수집

[실습5] 트렌드

[실습6] 네이버 데이터랩

3.3 데이터 전처리

도전문제1

도전문제2

도전문제3

 

Chapter 04 데이터 분석과 표현

4.1 데이터 분석과 표현의 이해

4.2 데이터 분석

[실습1] 워드클라우드

[실습2] 군집화1

[실습3] 군집화2

[실습4] 분류1

[실습5] 분류2

4.3 데이터 분석 방법과 표현

[실습6] 통계1

[실습7] 통계2

[실습8] 시각화1

[실습9] 시각화2

[실습10] 시각화3

[실습11] 속성 간의 관계 분석

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

 

Chapter 05 러플

5.1 러플 화면구성

[실습1] 함수를 이용한 로봇 조작1

[실습2] 함수를 이용한 로봇 조작2

5.2 러플 문법

[실습3] 단순 선택문

[실습4] if~elif~else

[실습5] if~if~else

[실습6] 클론 로봇

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

도전문제7

도전문제8

 

Chapter 06 문제분해

6.1 문제분해의 이해

[실습1] 문제분해1

6.2 문제분해 방법

[실습2] 문제분해 방법

[실습3] 전제 집합 구하기

6.3 문제분해와 소프트웨어

[실습4] 코딩과 문제분해

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

 

Chapter 07 추상화

7.1 추상화의 이해

7.2 추상화의 종류

[실습1] 스토리 추상화

[실습2] 데이터 추상화 수준

[실습3] 사용자 인터페이스 제작

[실습4] 기능 추상화와 자동화

[실습5] 기능 추상화와 프로그래밍

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

도전문제7

도전문제8

도전문제9

 

Chapter 08 알고리즘

8.1 알고리즘의 이해

8.2 알고리즘의 구성요소와 표현

[실습1] 순차 구조

[실습2] 선택 구조1

[실습3] 선택 구조2

8.3 알고리즘 표현과 설계

[실습4] 두 수 중 큰 수 출력하기

[실습5] 1부터 100까지 홀수 출력하기 for

[실습6] 3개의 점수를 입력받아 계산하기

[실습7] 176cm1m 76cm로 변환하기

[실습8] 키를 입력받아 변환하기

[실습9] 홀수/짝수 알아내기

8.4 문제해결 전략

[실습10] 다익스트라 알고리즘

[실습11] 선택 정렬

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

도전문제7

도전문제8

도전문제9

도전문제10

 

Part 03 자동화

 

Chapter 09 자동화의 이해

9.1 자동화 과정

도전문제1

9.2 인공지능과 자동화

 

Chapter 10 변수와 연산자, 입출력

10.1 상수와 변수

10.2 연산자와 문제해결

[실습1] 할당된 숫자 덧셈과 곱셈 산술 연산

[실습2] 총점과 평균 구하기

[실습3] 시간 단위 변환

[실습4] 식사비용 구하기

10.3 입력과 출력

[실습5] input() 사용

[실습6] 초 단위의 시간을 시간, , 초로 변환하기

[실습7] 몸무게와 키를 입력받아 BMI 구하기

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

 

Chapter 11 여러 가지 자료형

11.1 리스트

도전문제1

11.2 튜플

11.3 세트

11.4 딕셔너리

11.5 문자열

도전문제2

도전문제3

도전문제4

도전문제5

 

Chapter 12 조건문

12.1 관계 연산자와 논리 연산자

12.2 조건문

[실습1] if 문으로 출력하기

[실습2] 박물관 무료 관람 여부 확인하기

[실습3] 마음에 드는 게임 유무 확인하기1

[실습4] 성인 나이인지 확인하기

[실습5] 나이에 따른 승차권 발급하기

[실습6] 우산 준비 여부 알려주기

[실습7] 입력값에 문자만 있는지 확인하기

[실습8] 과목 유무 확인하기

[실습9] 놀이기구를 탈 수 있는지 확인하기

[실습10] 자격증 취득 여부 확인하기

[실습11] 조건에 맞게 회원가입하기

[실습12] 나이에 맞는 시기 확인하기

[실습13] 로그인하기

[실습14] 시험점수에 따라 성적주기

[실습15] 마음에 드는 게임 유무 확인하기2

[실습16] TV 채널 출력하기

[실습17] 학생수준 평가시험 합격 여부 확인하기

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

도전문제7

도전문제8

도전문제9

도전문제10

 

Chapter 13 반복문

13.1 반복 구조

[실습1] 1부터 100까지 홀수의 합 출력하기 while

[실습2] 1부터 입력한 수까지 합계 구하기

[실습3] 1부터 10까지 출력하기

[실습4] 두 수 사이의 모든 정수값 더하기

[실습5] 약수 구하기

도전문제1

도전문제2

도전문제3

도전문제4

 

Chapter 14 프로그램 단위의 반복의 반복

14.1 프로그램 단위의 반복 종류

실습1 연산의 반복

실습2 행동의 반복

실습3 반복의 반복

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

 

Chapter 15 함수

15.1 내장 함수

15.2 사용자 정의 함수

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

도전문제6

도전문제7

 

Chapter 16 시뮬레이션과 병렬화

16.1 시뮬레이션의 이해

[실습1] 테스트와 디버깅

[실습2] 산술 연산 퀴즈 프로그램

[실습3] 재사용과 재구성

[실습4] 31아이스크림 게임

16.2 병렬화의 이해

[실습5] 최소 작업 시간 구하기

도전문제1

도전문제2

도전문제3

도전문제4

도전문제5

4차 산업혁명 기술발전으로 많은 일자리가 사라지고 새로운 직업이 창출될 것으로 예측하고 있다. 이러한 시대에 필요한 역량은 자신의 분야에 컴퓨터 과학 원리와 개념을 활용하여 효율적으로 문제를 해결하는 것이다.

이 책은 프로그래밍 기반의 컴퓨팅 사고가 아닌 컴퓨팅 사고 기반의 다양한 학문적 접근을 할 수 있도록 구성하였다. 각 장마다 학습한 내용을 바탕으로 직접 실습해볼 수 있도록 하여 문제해결에 접근하는 방식을 체득하고 응용력을 기를 수 있다.

 

이 책의 특징

컴퓨팅 사고의 9가지 영역(데이터 수집, 데이터 분석, 데이터 표현, 문제분해, 추상화, 알고리즘, 자동화, 시뮬레이션, 병렬화)을 각 장으로 구성하여 쉽고 자세하게 설명하였다.

데이터 수집, 데이터 분석과 표현은 일반적인 문제 중심으로 구성하여 컴퓨팅으로 해결할 수 있도록 하였다.

문제분해, 추상화, 알고리즘, 자동화, 병렬화는 일반적인 문제와 소프트웨어 개발 문제로 구분하여 두 가지 관점으로 이해를 높이고자 하였다.

소프트웨어 개발(프로그램 단위) 문제를 다루기 위해 이 책에서는 교육용 프로그래밍 언어인 RUR-PLE과 파이썬을 사용하였다.