본문바로가기

실용

파이썬으로 배우는 소프트웨어와 인공지능

지은이조행래 윤종희 서영석 김영탁

출판일2022-03-15

쪽 수446

판 형46배판

I S B N978-89-7581-851-6

판매가25,000원

구매수량

책소개

빅데이터와 인공지능, 기계학습, 파이썬 언어 등을 체험하고, 이런 기술들을 자신의 전공 분야에 접목할 수 있도록 하는 데 중점을 둠
알파고의 등장 이후로 인공지능에 대한 사회적인 관심이 급증하고 있으며, 4차 산업혁명의 발전으로 다양한 산업 분야에서 소프트웨어 기술과의 융합이 이루어지고 있다. 이에 따라 소프트웨어와 인공지능 기술 관련 지식은 컴퓨터공학 전공자만이 아니라 모든 사회 구성원들이 필수적으로 갖추어야 하는 기초 소양이 되었다. 이 책은 4차 산업혁명의 핵심 기술인 빅데이터와 인공지능, 기계학습, 파이썬 언어 등을 체험하게 하고, 이러한 기술들을 자신의 전공 분야에 쉽게 접목할 수 있도록 유도하는 내용으로 구성하였다. 

파이썬 언어를 이용하여 소프트웨어와 컴퓨팅사고의 개념을 설명하면서 구체적인 사례를 추가
이 책은 파이썬(Python) 언어를 이용하여 소프트웨어와 컴퓨팅사고의 개념을 설명하면서 구체적인 사례를 추가하여 흥미롭게 배울 수 있게 했다. 1장부터 6장까지는 파이썬 언어의 기본적인 문법을 다루고 있다. 파이썬은 전 세계적에서 가장 활발히 사용하는 프로그래밍 언어로, 데이터분석이나 인공지능의 전문적인 도구를 사용하려면 반드시 익혀야 하는 기술이다. 이를 위해 다양한 예제 중심으로 파이썬 언어 문법을 설명함으로써 독자들이 파이썬에 대한 이해와 더불어 컴퓨팅사고(computational thinking)에 익숙해질 수 있게 했다. 
7장부터 11장까지는 4차 산업혁명을 구현하는 핵심 기술인 데이터분석과 기계학습, 인공지능 등에 대해 설명하고 있다. 각 주제에 해당하는 핵심적인 이론과 함께 독자들이 스스로 실습하고 확인할 수 있도록 다양한 예제와 프로그래밍 문제들을 추가하였다. NumPy, Pandas, Matplotlib, Seaborn, Scikit-learn, Keras 등 관련 분야에서 많이 사용되는 핵심 도구들을 대부분 다루고 있다.

파이썬 언어는 핵심적인 문법 위주로 다루고 많은 예제, 연습문제, 프로그래밍 문제를 포함하여 스스로 배울 수 있도록 구성
그동안 이런 주제로 출판된 많은 도서들은 파이썬 언어 설명에만 치중하거나 컴퓨팅사고에 필요한 이론적인 개념들 중심으로 다루고 있다. 파이썬과 4차 산업 핵심기술을 같이 설명한 도서의 경우 설명의 깊이가 얕고 실무적인 사례들이 부족한 경우가 대부분이다. 이를 보완하기 위해 저자들은 파이썬 언어에 대한 설명은 핵심적인 문법 위주로 대폭 축소하는 대신 많은 예제, 개념을 묻는 연습문제, 프로그래밍 문제들을 포함하여 스스로 배울 수 있도록 하였다. 빅데이터 분석과 시각화, 기계학습과 인공지능 등 4차 산업 핵심 기술에 대해서도 구체으로 설명하였다. 또한 이들을 체험할 수 있는 파이썬 라이브러리에 대해서도 다룸으로써 이론과 실무를 겸비할 수 있도록 하였다.

차례

Chapter 1 소프트웨어와 파이썬 소개

1.1 하드웨어와 소프트웨어

1.2 소프트웨어의 종류 

1.3 프로그래밍 언어

1.4 파이썬 소개

1.5 파이썬 설치하기

1.6 Jupyter Notebook의 설치와 실행

1.7 파이썬을 계산기로 활용

연습문제

프로그래밍 문제

 

Chapter 2 파이썬 프로그래밍의 기초

2.1 변수

2.2 자료형

2.3 산술 연산자

2.4 주석과 대입문

2.5 키보드 입력

2.6 화면에 출력

2.7 터틀 그래픽(Turtle Graphics)

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 3 알고리즘과 제어문

3.1 알고리즘

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

3.3 if 문

프로그래밍 실습

3.4 while 문

3.5 break, continue, else 문

프로그래밍 실습

3.6 for 문

프로그래밍 실습

3.7 중첩 반복문

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 4 다양한 자료형

4.1 리스트(List) 자료형

4.2 튜플(Tuple) 자료형

4.3 집합(Set) 자료형

4.4 사전(Dictionary) 자료형

4.5 문자열

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 5 함수

5.1 함수의 개념

5.2 함수의 정의 

5.3 함수 호출하기

5.4 함수의 인수와 매개변수

5.5 함수의 반환

5.6 함수를 사용한 프로그램 설계

5.7 함수 호출시 변수 전달 방법

5.8 변수의 사용 범위 : 지역변수와 전역변수의 이해

5.9 무명함수

5.10 내장함수

5.11 모듈

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 6 실습 프로젝트

6.1 Up & Down 게임

6.2 Google 번역기

6.3 분수 계산기

6.4 Word count

6.5 Dictionary을 이용한 재고관리 프로그램

6.6 학생 성적 관리 프로그램

 

Chapter 7 데이터 분석

7.1 데이터 분석

7.2 데이터 통계 분석에 사용할 수 있는 파이썬 내장함수자 

7.3 데이터 분석 결과의 시각화

7.4 NumPy 확장 패키지

7.5 유니버설 함수(universal function)

7.6 NumPy와 Matplotlib를 사용한 시계열 데이터 분석

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 8 Pandas

8.1 Pandas란?

8.2 Pandas 기본 자료구조

8.3 Series와 DataFrame 객체 생성

8.4 데이터 보기(확인)

8.5 데이터 선택과 추가

8.6 데이터 연산

8.7 데이터 병합, 그룹화, 변형

8.8 시계열(Time Series)

8.9 파일 입출력

연습문제

프로그래밍 문제

 

Chapter 9 시각화 - Matplotlib, Seaborn

9.1 데이터 시각화

9.2 스타일 정하기 

9.3 다양한 그래프 그리기

9.4 그래프에 텍스트 추가하기

9.5 Pandas에서 plt.plot() 사용하기

9.6 Seaborn 소개

9.7 Seaborn을 활용한 다양한 그래프 그리기

연습문제

프로그래밍 문제

 

Chapter 10 기계학습

10.1 기계학습의 개념

10.2 기계학습의 분류

10.3 지도학습의 대표적 기법 소개

10.4 비지도학습의 대표적 기법 소개

10.5 기계학습 기반의 데이터 분석을 위한 기본 단계

10.6 기계학습을 위한 파이썬 라이브러리의 이해

10.7 기계학습 수행을 위한 데이터셋의 확보 및 활용

프로그래밍 실습

연습문제

프로그래밍 문제

 

Chapter 11 인공지능

11.1 인공지능의 개념

11.2 인공신경망의 이해 

11.3 인공신경망의 모델 분류

11.4 인공신경망 구현을 위한 라이브러리

11.5 인공신경망 구현을 위한 기본 배경지식

11.6 인공신경망 모델을 생성하고 평가하기 위한 절차

11.7 인공신경망 모델의 단계별 구현법

프로그래밍 실습

연습문제

프로그래밍 문제

 

부록 프로그래밍 문제풀이

Chapter 2 파이썬 프로그래밍의 기초

Chapter 3 알고리즘과 제어문

Chapter 4 다양한 자료형

Chapter 5 함수

Chapter 6 실습 프로젝트

Chapter 7 데이터 분석

Chapter 8 Pandas

Chapter 9 소프트웨어와 파이썬 소개

Chapter 10 기계학습

Chapter 11 인공지능

책속으로

“인간이 사용하기에는 고급 언어가 가장 편리하지만 컴퓨터는 이를 이해할 수 없다. 따라서 고급 언어로 작성된 프로그램은 반드시 기계어로 번역한 후 컴퓨터에서 실행하여야 한다. 기계어로 번역하는 방법에 따라 컴파일러 언어와 인터프리터 언어로 나눌 수 있다. 컴파일러(compiler) 언어는 전체 프로그램을 한꺼번에 번역하여 실행 가능한 기계어로 번역한 후 이를 저장한다. 이후 그 프로그램을 실행할 때마다 저장된 기계어 프로그램을 읽어 들여 실행한다. 이와는 달리 인터프리터(interpreter) 언어는 프로그램을 명령어 단위로 번역하여 실행하며, 기계어 프로그램을 별도로 저장하지는 않는다. ” 

저자소개

조행래

서울대학교 컴퓨터공학과(학사)

한국과학기술원 전산학과(석사)

한국과학기술원 전산학과(박사)

연구 분야: 데이터베이스, 분산/병렬처리, 빅데이터, 블록체인 등

 

윤종희 

경북대학교 전자전기공학부(학사)

서울대학교 전기컴퓨터공학부(박사)

연구 분야: 컴파일러, 소프트웨어 최적화, 시스템 보안 등

 

서영석

숭실대학교 컴퓨터학부(학사)

한국과학기술원 전산학과(석사)

한국과학기술원 전산학과(박사)

연구 분야: 소프트웨어공학, 머신러닝 및 딥러닝 응용 등

 

김영탁

영남대학교 공과대학 전자공학과 (학사)

한국과학기술원 전기및전자공학과 (석사)

한국과학기술원 전기및전자공학과 (박사)

연구 분야: 지능형 사물인터넷, AI/DL 기반 스마트모빌리티 등 

서평

TOP