파이썬(Python) 문제 해결력을 키우는 소프트웨어 개발

파이썬(Python) 문제 해결력을 키우는 소프트웨어 개발

$25.37
Description
파이썬(Python) 언어는 사회 변화의 중심에서 컴퓨터를 제어하고 정보를 생성하는 역할을 하며, 초보자도 쉽게 소프트웨어를 개발할 수 있다. 저자는 대학에서 컴퓨터 프로그래밍을 강의하면서 소프트웨어 개발이 단순 프로그램 문법을 공부하는 것보다 문제를 분석하고 설계한 후 이를 언어로 구현하는 과정이 매우 중요하다는 것을 인식하였다. 이 책은 소프트웨어 프로그램 언어인 파이썬 언어의 중요성을 배우고, 인공지능 시대에 필수적인 문제 해결력(분해, 추상화, 패턴, 알고리즘)을 키우는데 도움을 주기 위한 목적으로 저술했다. 또한 프로그래밍을 처음 배우는 입문자들이 문제(Problem)에서 구현까지 소프트웨어 개발과정을 따라 하기 쉽게 구성하였다. 특히 이 책에서는 다음 사항에 역점을 두었다.
ㆍ각 분야별로 도식 등을 이용하여 개념과 원리를 자세하게 설명하고 있어 프로그램 개발 초보자도 쉽게 이해할 수 있도록 구성하였다.
ㆍ소프트웨어 개발에 필수적인 반복, 선택, 함수 등을 자세히 설명하였으며, 예제를 통해 소프트웨어 개발 중 언제 반복, 선택, 함수를 사용해야 하는지 알 수 있다.
ㆍ단순히 프로그램 문법을 넘어서 문제로부터 소프트웨어 개발까지의 과정에 필요한 문제 해결력(분해, 추상화, 패턴, 알고리즘)을 배울 수 있도록 단계적으로 필요한 사항을 기술하였다.
저자

서성채

소프트웨어공학(SoftwareEngineering)으로박사학위를받았으며,전남대학교,목포대학교등에서소프트웨어공학,프로그래밍언어(Python,C,Java,Web,등),등을강의하고있다.관심있는연구분야는소프트웨어개발관점에서프로그래밍언어,소프트웨어분석,소프트웨어공학,인공지능소프트웨어개발등이다.‘실무중심소프트웨어공학(전남대,2009)’등의책을집필하였다.

목차

1.소프트웨어와파이썬/11
1.1소프트웨어가중요한사회/11
1.2컴퓨터(Computer)의역할/12
1.3프로그램언어의이해/15
1.4소프트웨어개발에필요한것/19
1.5소프트웨어개발언어로서파이썬(Python)/20
1.6파이썬(Python)소프트웨어개발환경구축하기/23
1.7스파이더(Spyder)알아보기/31
1.8Colaboratory를이용한소프트웨어개발/34
연습문제/41

2.컴퓨팅사고와소프트웨어개발과정이해/42
2.1미래핵심역량인컴퓨팅사고/42
2.2소프트웨어개발과정과컴퓨팅사고/45
2.3문제를통한소프트웨어개발과정과컴퓨팅사고이해하기(분석과정)/47
2.4설계과정에서컴퓨팅사고/49
2.5구현과정에서컴퓨팅사고/58
연습문제/60

3.파이썬구현기초/61
3.1파이썬프로젝트/61
3.2파이썬모듈구현기초/64
3.3컴퓨터에서자료표현/69
3.4변수(Variable)및상수/73
3.5입ㆍ출력하기/78
3.6연산자(Operator)/84
3.7형변환(TypeCasting)/93
연습문제/96

4.복잡한자료다루기및문자열(Strings)/98
4.1대량의데이터다루기-컬렉션(Collections)/98
4.2문자열(Strings)/100
4.3리스트(List)/113
4.4튜플(Tuple)/125
4.5세트(Set)/129
4.6딕셔너리(Dictionary)/131
연습문제/135

5.선택문(if)/136
5.1선택문의필요성/136
5.2선택문에서판단(Decision)/139
5.3if-else문/141
5.4단일if문/150
5.5중첩if문과if-elif-else문/155
연습문제/162

6.반복문/164
6.1반복문필요성/164
6.2while문/167
6.3for문/184
6.4중첩루프/188
6.5반복문제어하기/195
연습문제/200

7.대용량데이터처리하기/202
7.1대용량자료처리와컬렉션자료형/202
7.2일차원배열:단일루프/207
7.3이차원배열:이중루프/214
연습문제/225

8.함수-큰문제를작은문제로분할하여해결하기/227
8.1함수의필요성/227
8.2함수(Function)/230
8.3함수(Function)만들기:실제문제이용하여살펴보기/236
8.4함수호출과함수매개변수/240
8.5변수유효범위/245
8.6특수함수/246
8.7재귀(recursive)함수/247
8.8모듈화(Modulization)/252
연습문제/263

9.객체지향개발과클래스(Class)/264
9.1객체지향개발(ObjectOrientedDevelopment)/264
9.2클래스구현/268
9.3객체생성/275
9.4모듈과패키지/277
9.5예제를통해클래스알아보기/280
9.6상속(Inheritance)/287
연습문제/292

10.라이브러리이해/294
10.1라이브러리(Library)/294
10.2라이브러리(Library)관리하기/299
10.3소프트웨어구현과정에서라이브러리(Library)사용/304
10.4turtle라이브러리(Library)사용하기/307
연습문제/316

11.파일(File)과예외처리/317
11.1파일을활용한자료처리/317
11.2파일객체다루기/320
11.3파일자료읽기/323
11.4파일쓰기/330
11.5파일에자료추가하기/334
11.6직렬화된데이터읽고쓰기/337
11.7예외처리/341
연습문제/346