HOME > Detail View

Detail View

(그림과 함께하는) 파이썬 수업

(그림과 함께하는) 파이썬 수업 (Loan 1 times)

Material type
단행본
Personal Author
최윤철, 1950- 임순범, 林淳範, 1959-, 저
Title Statement
(그림과 함께하는) 파이썬 수업 / 최윤철, 임순범 지음
Publication, Distribution, etc
파주 :   생능출판,   2021  
Physical Medium
484 p. : 삽화, 도표 ; 25 cm
ISBN
9788970505206
General Note
색인수록  
000 00000cam c2200205 c 4500
001 000046099404
005 20211129161637
007 ta
008 211126s2021 ggkad 001c kor
020 ▼a 9788970505206 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2021z25
100 1 ▼a 최윤철, ▼d 1950- ▼0 AUTH(211009)62209
245 2 0 ▼a (그림과 함께하는) 파이썬 수업 / ▼d 최윤철, ▼e 임순범 지음
260 ▼a 파주 : ▼b 생능출판, ▼c 2021
300 ▼a 484 p. : ▼b 삽화, 도표 ; ▼c 25 cm
500 ▼a 색인수록
700 1 ▼a 임순범, ▼g 林淳範, ▼d 1959-, ▼e▼0 AUTH(211009)115654
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 005.133 P999 2021z25 Accession No. 111855165 Availability In loan Due Date 2022-03-07 Make a Reservation Available for Reserve R Service M

Contents information

Book Introduction

대학에서 지난 수년간 “소프트웨어 프로그래밍(파이썬)” 과목을 강의하면서 다양한 교과서를 살펴보았다. 어떤 서적은 한 학기에 파이썬 교육을 완성하기에 분량이 너무 많았고 시간이 부족해서 적절한 교과서를 찾기 쉽지 않았다. 연세대 강의는 전교의 다양한 학생들이 수강하고 있으며 거의 대부분의 수강생들이 프로그래밍 배경이 전혀 없는 상태이다. 실제 강의는 매주 강의 2시간 및 실습(LAB) 2시간으로 진행해 왔다. 이러한 요구와 여건에 맞추어 이 책을 저술하게 되었다.

이 책은 실제 강의 내용에 기반하여 LAB 내용(연습문제의 B. 따라하기 실습 및 C. 프로그래밍 실습)을 구성하였다. 수강생들은 LAB 내용(B. 따라하기 실습)을 그대로 따라함으로써 파이썬 언어를 익히고, 간단한 프로그래밍 문제(C. 프로그래밍 실습)를 LAB 시간 내에 완성하는 방식을 따랐다. 이 책을 사용하는 모든 사람이 이와 동일한 방법으로 비교적 단시간 내에 파이썬 언어의 모든 것을 배우고 활용 능력을 발휘해 나갈 수 있을 것이다.

최근 수십 년 동안 우리 사회는 매우 급격하고 큰 변화를 겪고 있다. 1950년대 시작된 정보화 사회를 출발점으로 지금은 4차 산업혁명 및 인공지능 시대에 와 있다. 전문가들은 앞으로 인간이 인공지능 기계와 함께 살아가며 급격한 사회 변화, 직업의 변화와 실업 문제를 겪을 것이라고 예측하고 있다. 많은 직업이 사라지고 또 새로운 직업이 창출될 것이다. 이러한 시대를 살아가는 우리는 물론 우리의 후손들도 이에 대비해야 한다. 그러나 그 어떤 미래학자도 앞으로의 세상이 구체적으로 어떻게 변화해 나갈지 자신 있게 예측하는 사람은 없다. 미래 사회에 관해 많은 이야기가 난무하며 산업 구조가 혁신되어야 한다고는 알고 있지만 각 개인이 각자의 재능과 여건을 최적화하여 어떻게 현재 및 미래 사회에 대비하고 준비해야 할지 매우 막연한 면이 있다.
지난 30여 년간 대학에서 컴퓨터과학을 강의하고 연구하면서 우리 대학에서 컴퓨터 교육이 너무 이론에 치우쳐져 있지 않나 하는 생각을 늘 해왔다. 컴퓨터과학의 기본 원리와 이론 교육이 물론 중요하지만 이것만으로는 미래 사회를 살아갈 전문가 및 직장인들에게 컴퓨터 활용 능력을 길러주기에는 역부족이었다. 30여 년 전에는 파스칼(Pascal) 언어로 첫 프로그래밍 언어를 가르쳤고 그 후 C, C++ 및 자바 언어로 변화하게 되었다. 그러나 저의 경험으로는 학생들이 C, C++, 자바 언어를 배우고 나서 이러한 언어를 자유자재로 활용하고 창의성을 발휘하기에 무언가 부족하다고 느껴 왔다. 4차 산업혁명 시대에 프로그램 및 소프트웨어 교육은 대학생은 물론 중고등 학생들에게 언어 교육 및 수학 교육과 마찬가지로 거의 필수적인 교육으로 인식되고 있다. 미래를 준비하는 모든 사람들에게 프로그래밍 교육이 필수적인 시대가 된 것이다.
이러한 사회적 변화와 요구에 가장 적합한 프로그래밍 언어가 파이썬(Python)이라고 생각한다. 파이썬 언어는 1991년 개발되었으니 비교적 오랜 역사를 가졌음에도 불구하고 우리나라 대학에서 첫 프로그래밍 언어로 교육하기 시작한 것은 10년이 채 되지 않았다. 미국에서는 상당히 오래 전에 대부분의 대학에서 파이썬 언어로 소프트웨어 교육을 시작하는 것이 자연스러운 현상이었지만 우리나라는 그렇지 못했다. 지금은 수많은 파이썬 관련 서적이 출판되었고 대학은 물론 중고등 학생들에게도 파이썬으로 첫 프로그래밍 교육을 시작하는 것이 일반적인 현상이다. 파이썬 언어는 배우기 쉽고 소프트웨어를 공동으로 개발하고 유지하기 용이하며 무엇보다도 다른 프로그래밍 언어와 함께 사용할 수도 있다(이러한 개념을 ‘Glue Language’라고 한다). 특히 파이썬 언어의 가장 큰 장점은 수많은 유용한 라이브러리들이 존재하여 이들을 가져다 잘 활용하면 매우 큰 힘을 발휘할 수 있다는 점이다. 예를 들어, 요즈음 큰 관심을 끌고 있는 빅데이터 분석이나 기계학습 또는 딥러닝 분야의 소프트웨어를 개발하고 싶은 경우에 NumPy, Matplotlib, Pandas, TensorFlow와 같은 라이브러리를 활용하면 효과적으로 다양한 분야의 활용 소프트웨어를 개발할 수 있다. 따라서 파이썬은 활용 능력 면에서 우수한 프로그래밍 언어이다.
대학(연세대)에서 지난 수년간 “소프트웨어 프로그래밍(파이썬)” 과목을 강의하면서 다양한 교과서를 살펴보았다. 어떤 서적은 한 학기에 파이썬 교육을 완성하기에 분량이 너무 많았고 시간이 부족해서 적절한 교과서를 찾기 쉽지 않았다. 연세대 강의는 전교의 다양한 학생들이 수강하고 있으며 거의 대부분의 수강생들이 프로그래밍 배경이 전혀 없는 상태이다. 실제 강의는 매주 강의 2시간 및 실습(LAB) 2시간으로 진행해 왔다. 이러한 요구와 여건에 맞추어 이 책을 저술하게 되었다. 이 책은 실제 강의 내용에 기반하여 LAB 내용(연습문제의 B. 따라하기 실습 및 C. 프로그래밍 실습)을 구성하였다. 수강생들은 LAB 내용(B. 따라하기 실습)을 그대로 따라함으로써 파이썬 언어를 익히고, 간단한 프로그래밍 문제(C. 프로그래밍 실습)를 LAB 시간 내에 완성하는 방식을 따랐다. 이 책을 사용하는 모든 사람이 이와 동일한 방법으로 비교적 단시간 내에 파이썬 언어의 모든 것을 배우고 활용 능력을 발휘해 나갈 수 있을 것이라 믿는다.

이 책의 내용

1장에서는 디지털 트랜스포메이션을 이해하기 위하여 컴퓨터 하드웨어 및 컴퓨터 네트워크, 소프트웨어를 간단히 설명한다. 또한 이 책의 주제인 파이썬을 공부하기 전에 파이썬의 철학과 특징을 설명하고 문제 해결 과정을 소개한다.
2장에서는 파이썬 프로그래밍의 상호대화 방식(인터프리터)을 소개하고 Python IDLE를 이용한 파이썬 프로그램의 생성, 편집 및 저장 방식을 설명한다. 또한 파이썬 언어의 구성 요소를 간단히 소개함으로써 독자가 파이썬 언어의 개략을 대체적으로 이해하는 데 도움을 주려고 한다. 즉, 입출력문, 변수와 표현식, 제어문과 주석문, 함수 및 객체지향 개념을 간단히 소개한다. 또한 파이썬 언어가 기본적으로 지원하고 있는 데이터형, 즉 정수, 실수, 부울, 스트링, 파일, 리스트, 튜플, 딕셔너리 등을 소개한다. 마지막으로 간단한 파이썬 프로그램의 사례를 통하여 파이썬 프로그램의 구성을 이해한다.
3장에서는 할당문에서 사용하는 상수, 변수를 공부하고 표현식에서 사용하는 연산자들을 알아보며 파이썬 언어의 독특한 변수의 동적 타이핑 개념을 소개한다.
4장에서는 선택문 if_else에 대하여 설명한다. 선택문의 조건에 따라 실제 실행되는 명령문이 변화하며 조건은 부울식으로 표현된다. 부울식은 다양한 연산자들을 이용하여 표현되며 이 장에서 이러한 연산자들을 공부하자. 또한 2차원 그래픽을 그리기 위한 터틀 그래픽(Turtle Graphics)을 소개한다. 이 장에서는 터틀 그래픽의 기본적인 기능을 설명한다.
5장에서는 while 문과 for 문의 형식을 알아보고 그 활용을 공부한다. 터틀 그래픽(Turtle Graphics)은 2차원 그림을 그리기에 매우 용이하고 파이썬의 표준 라이브러리 모듈로 제공되고 있다. 그림을 그리기 위한 터틀 그래픽의 다양한 메소드들을 소개하고 그 활용에 대하여 몇 가지 사례를 통해 설명한다. 또한, 터틀 그래픽에서 while 문과 for 문과 같은 반복문이 어떻게 유용하게 사용되는지를 공부한다.
6장에서는 요소들의 순서가 중요한 시퀀스 데이터에 대하여 설명한다. 파이썬의 시퀀스 데이터(또는 순서형 데이터)에는 리스트, 튜플 및 스트링이 존재한다.
7장에서는 함수를 사용하는 이유와 역할을 설명하고 함수의 여러 가지 형태 및 특성을 설명한다. 특히 함수에서 매개변수의 전달 방식을 공부하고 변수의 효력 범위에 대해서 설명한다.
8장에서는 모듈에서 사용하는 변수 이름들 간에 서로 충돌하지 않도록 하는 방법을 알아보자. 또한 동일한 목적으로 존재하는 모듈들을 효율적으로 관리하기 위하여 패키지 형태로 조직한다. 마지막으로 파이썬이 제공하는 표준 라이브러리 모듈을 알아본다.
9장에서는 딕셔너리와 집합의 개념과 구조, 연산자 및 활용에 대하여 알아보자. 또한 텍스트 데이터가 파일로 구성되어 메모리나 클라우드를 이용하여 입력하고 출력(저장)하는 메소드들에 대하여 공부한다.
10장에서는 파이썬 프로그램을 작성할 때 유용한 몇 가지 기법에 대하여 알아보자. 재귀 함수란 기존의 함수와 달리 자기 자신을 호출하는 함수로 알고리즘을 구현할 때 매우 유용한 경우가 많다. 예외 처리란 파이썬 프로그램의 실행 시 발생하는 오류를 탐지하고 오류 메시지를 출력한다. 마지막으로 정규표현식은 텍스트에서 특정 문자열 패턴을 찾아내기 위한 표현식으로 텍스트 처리에서 매우 유용한 기법이다.
11장에서는 객체지향 언어의 핵심 개념인 클래스, 객체, 메소드 개념을 소개하고 파이썬의 클래스 정의와 객체의 생성을 공부한다. 또한 객체지향 프로그래밍 언어의 특징인 캡슐화, 상속 및 다형성 개념을 실예제를 통하여 이해한다.
12장에서는 GUI 라이브러리인 tkinter를 소개한다. 또한 외부 라이브러리 모듈로 수리 연산 및 시각화, 빅데이터 분석, 이미지 처리, 기계학습과 딥러닝 영역의 라이브러리를 사례를 통해 공부한다.


Information Provided By: : Aladin

Author Introduction

최윤철(지은이)

서울대학교 전자공학과 졸업 University of Pittsburgh(석사) University of California, Berkeley(석사 및 공학박사) 연세대학교 컴퓨터과학과 교수, 명예교수 주요 경력 - Lockheed사 및 Rockwell International사 연구원 - University of Massachusetts 교환교수 - 일본 게이오대학 교환교수 - 한국멀티미디어학회 회장, 명예회장 - 전자책(eBook) 표준 제정위원장 관심분야: 컴퓨터그래픽스, 멀티미디어, HCI, 스케치기반 인터페이스 및 모델링(SBIM)

임순범(지은이)

서울대학교 계산통계학과 졸업 한국과학기술원(KAIST) 전산학과(공학박사) 숙명여자대학교 IT공학과 교수 숙명여자대학교 ICT융합연구소 소장 주요 경력 - 휴먼컴퓨터 창업/연구소장 - 삼보컴퓨터 프린터개발부 부장 - 건국대학교 컴퓨터과학과 교수 - University of Colorado 교환교수 - 한국멀티미디어학회 회장, 명예회장 - 한국전자출판학회 회장, 명예회장 - 한국정보과학회 부회장 - 한국컴퓨터그래픽스학회 부회장 - ISO/IEC 국제표준제정위원회 SC34 WG2 분과위원장 - 2021년 정보문화유공 녹조근정훈장 수상 관심분야: 컴퓨터그래픽스, 전자출판, 모바일 멀티미디어, 웹3D, HCI

Information Provided By: : Aladin

Table of Contents

CHAPTER 01 컴퓨터와 파이썬 프로그래밍
1.1 컴퓨터 시스템의 발전
1.1.1 컴퓨터와 4차 산업혁명
1.1.2 정보 통신과 네트워크
1.1.3 인터넷과 초연결사회
1.2 소프트웨어와 프로그래밍 언어
1.2.1 소프트웨어의 계층적 구조
1.2.2 프로그래밍 언어의 발전
1.2.3 컴파일러와 인터프리터
1.3 왜 파이썬(Python)인가?
1.3.1 파이썬의 철학과 특징
1.3.2 프로그래밍 언어의 트렌드
1.4 문제 해결(Problem Solving)과 프로그래밍
연습문제

CHAPTER 02 파이썬의 구성과 간단한 파이썬 프로그램의 예
2.1 파이썬 프로그래밍 환경
2.1.1 파이썬 인터프리터와 에디터
2.1.2 외부 제공 Python IDE
2.2 파이썬 프로그램의 구성 요소
2.2.1 데이터와 프로그램의 실행
2.2.2 입출력 문
2.2.3 변수와 표현식
2.2.4 제어문과 주석문
2.2.5 함수
2.2.6 객체지향 프로그래밍
2.3 파이썬의 데이터형
2.3.1 정수, 실수 및 부울
2.3.2 스트링과 파일
2.3.3 리스트, 튜플, 딕셔너리 및 집합
2.4 간단한 파이썬 프로그램 사례
연습문제

CHAPTER 03 변수와 표현식
3.1 파이썬 데이터의 유형
3.1.1 기본 데이터형
3.1.2 구조적 데이터형
3.2 상수(Constant)와 리터럴(Literal)
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.5 키보드 입력을 통한 변수값의 할당
연습문제

CHAPTER 04 선택문: if_else 문
4.1 프로그램 실행 순서의 제어
4.2 부울식
4.2.1 비교연산자
4.2.2 멤버쉽 연산자
4.2.3 논리연산자
4.2.4 연산자의 우선순위와 부울식
4.3 if_else 문
4.3.1 if_else 문의 기본 구조
4.3.2 if_else 문의 조건
4.3.3 파이썬 프로그램의 들여쓰기
4.4 중첩 if(Nested if) 문
4.5 터틀 그래픽(Turtle Graphics) (1)
4.5.1 터틀 그래픽이란?
4.5.2 절대 위치와 상대 위치
4.5.3 if_else 문을 이용한 터틀 그래픽의 사례
연습문제

CHAPTER 05 반복문: while 문과 for 문
5.1 while 문
5.1.1 while 문의 기본 구조
5.1.2 while 문의 조건
5.1.3 입력 오류 체크
5.2 무한 루프
5.3 for 문
5.3.1 for 문의 기본 구조
5.3.2 for 문과 range 함수
5.4 터틀 그래픽(Turtle Graphics) (2)
5.4.1 터틀 그래픽의 메소드
5.4.2 반복문을 이용한 터틀 그래픽
5.4.3 터틀 그래픽의 애니메이션 사례
연습문제

CHAPTER 06 리스트(List), 튜플(Tuple) 및 스트링(String)
6.1 리스트의 특성
6.1.1 리스트란?
6.1.2 파이썬의 리스트
6.2 리스트의 구조와 연산
6.2.1 리스트의 인덱싱과 슬라이싱
6.2.2 리스트의 연산
6.2.3 리스트 함수와 메소드
6.2.4 중첩 리스트(Nested List)
6.2.5 리스트의 복사
6.3 튜플의 특성
6.3.1 튜플이란?
6.3.2 튜플의 기본 연산
6.3.3 튜플의 함수와 메소드
6.4 스트링 처리
6.4.1 텍스트와 스트링
6.4.2 스트링 연산자 및 함수
6.4.3 스트링 메소드
6.5 순서형 데이터와 반복 구조
6.5.1 리스트와 for 루프
6.5.2 리스트와 while 루프
연습문제

CHAPTER 07 함수(Function)
7.1 함수의 역할
7.1.1 함수를 사용하는 이유
7.1.2 함수의 형식
7.1.3 함수의 형태
7.2 파이썬 함수
7.2.1 파이썬 함수의 유형
7.2.2 내장 함수(Built-in Function)
7.2.3 모듈 함수(Module Function)
7.2.4 사용자정의 함수(User-defined Function)
7.2.5 람다(Lambda) 함수
7.3 매개변수의 전달
7.3.1 매개변수(Parameter)와 인수(Argument)
7.3.2 위치 인수, 키워드 인수 및 디폴트 인수
7.4 변수의 효력 범위(Scope)
7.4.1 지역변수(Local Variable)와 전역변수(Global Variable)
7.4.2 전역변수(Global Variable)의 명시적 선언
연습문제

CHAPTER 08 프로그램의 모듈화
8.1 모듈화 설계
8.1.1 모듈이란?
8.1.2 모듈화 설계의 이점
8.1.3 파이썬의 모듈
8.2 모듈의 이름 공간(Namespace)과 임포트(import) 명령
8.2.1 이름 공간이란?
8.2.2 모듈의 임포트
8.2.3 메인 모듈에서만 실행 명령
8.3 패키지(Package)
8.3.1 패키지를 작성하는 이유
8.3.2 패키지 작성 방법
8.4 파이썬 표준 라이브러리 모듈
8.4.1 math 모듈
8.4.2 random 모듈
8.4.3 time 모듈과 datetime 모듈
8.4.4 sys 모듈과 os 모듈
연습문제

CHAPTER 09 딕셔너리(Dictionary), 집합(Set) 및 텍스트 파일
9.1 딕셔너리(Dictionary)의 특성
9.1.1 딕셔너리란?
9.1.2 파이썬의 딕셔너리
9.2 딕셔너리(Dictionary)의 구조
9.2.1 딕셔너리의 동적 생성
9.2.2 딕셔너리 연산자
9.3 집합(Set) 데이터
9.3.1 집합이란?
9.3.2 집합 연산자
9.4 텍스트 파일
9.4.1 텍스트 파일이란?
9.4.2 텍스트 파일의 입력
9.4.3 텍스트 파일의 출력
연습문제

CHAPTER 10 유용한 프로그래밍 기법
10.1 재귀 함수(Recursive Function)
10.1.1 재귀 함수의 의미
10.1.2 반복과 재귀
10.1.3 재귀 함수의 예
10.1.4 하노이 탑(Tower of Hanoi)
10.2 예외 처리(Exception Handling)
10.2.1 오류의 발생과 예외 처리
10.2.2 파이썬의 표준 예외
10.2.3 try-except 문
10.3 정규표현식(Regular Expression)
10.3.1 정규표현식이란?
10.3.2 정규표현식을 통한 패턴 매칭
10.3.3 적용 사례
연습문제

CHAPTER 11 객체지향 프로그래밍
11.1 클래스(Class)와 객체(Object)
11.1.1 객체란 무엇인가?
11.1.2 클래스와 객체의 개념
11.1.3 절차적 프로그래밍 언어와 객체지향 프로그래밍 언어
11.2 파이썬의 사용자정의 클래스
11.2.1 파이썬의 클래스 정의
11.2.2 파이썬의 객체 생성
11.2.3 클래스 변수와 인스턴스 변수
11.2.4 특수 메소드(Special method)
11.3 객체지향 프로그래밍 언어의 특징
11.3.1 캡슐화(Encapsulation)
11.3.2 상속(Inheritance)
11.3.3 다형성(Polymorphism)
연습문제

CHAPTER 12 파이썬 활용을 위한 라이브러리
12.1 파이썬 라이브러리
12.1.1 파이썬 표준 라이브러리
12.1.2 GUI 라이브러리 tkinter
12.1.3 파이썬 외부 라이브러리(Third-Party Library)
12.2 수리 연산 및 데이터 처리
12.2.1 수리 연산 - NumPy
12.2.2 데이터 시각화 - Matplotlib
12.2.3 빅데이터 분석 - Pandas
12.3 이미지 처리 - Pillow
12.4 기계학습과 딥러닝 - TensorFlow와 Keras
연습문제

New Arrivals Books in Related Fields

이창현 (2021)