책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791188621569
· 쪽수 : 368쪽
· 출판일 : 2019-06-28
책 소개
목차
LEVEL 01 있어 보이는 계산기 사용자 1
1.1 용어부터 알고 가자 2
1.1.1 프로그래밍 vs 코딩 2
1.1.2 컴퓨팅 사고 3
1.1.3 프로그래밍 언어 3
1.2 왜 하필 파이썬인가? 5
1.2.1 적용 가능한 분야가 넓다 5
1.2.2 인기 있다 6
1.2.3 학습이 쉽다 6
1.2.4 고등학교 정보 교과 교육과정에 채택되었다 6
1.3 설치와 실행 그리고 첫 프로그램 7
1.3.1 설치 7
1.3.2 실행 8
1.3.3 첫 프로그램 12
LEVEL 02 되게 만드는 명령권자 15
2.1 프로그램의 구조 16
2.1.1 컴퓨터 프로그램은 왜 필요했을까? 16
2.1.2 문제 해결을 위한 프로그램, 어떻게 만들어야 할까? 16
2.1.3 프로그램과 함수 구조 18
2.2 화면 출력 22
2.2.1 왜 알아야 하는가? 22
2.2.2 어떻게 할 수 있는가? 22
2.2.3 실습 27
2.3 주석 29
2.3.1 왜 필요한가? 29
2.3.2 사용법과 예제 29
2.4 변수와 할당연산자, 그리고 자료형 32
2.4.1 변수, 왜 필요한가? 32
2.4.2 변수, 어떻게 사용할 수 있는가? 32
2.4.3 여러 가지 자료형과 연산자 41
2.4.4 형 변환 50
2.5 키보드 입력 52
2.5.1 왜 필요한가? 52
2.5.2 어떻게 적용할 수 있는가? 52
2.5.3 실습 54
2.6 조건문 56
2.6.1 왜 필요한가? 56
2.6.2 유형과 실습 56
2.7 반복문 70
2.7.1 왜 필요한가? 70
2.7.2 어떻게 사용할 수 있는가? 70
2.7.3 실습 76
2.8 제어문 심화 80
2.8.1 제어문, 왜 심도 있게 이해해야 하는가? 80
2.8.2 어떻게 해야 더 잘 이해할 수 있는가? 80
2.8.3 실습 85
2.9 함수 90
2.9.1 왜 필요한가? 90
2.9.2 어떻게 만들고 사용할 수 있는가? 93
2.9.3 사용자 정의 함수와 내장함수 106
2.10 클래스 110
2.10.1 왜 필요한가? 110
2.10.2 사용법과 실습 114
2.11 모듈 126
2.11.1 왜 필요한가? 126
2.11.2 어떻게 사용할 수 있는가? 126
2.12 파일 입출력 135
2.12.1 왜 필요한가? 135
2.12.2 사용법과 실습 135
2.13 유제 해설 145
LEVEL 03 세련된 중재자 157
3.1 컴퓨팅 사고와 알고리즘 158
3.1.1 컴퓨팅 사고란 무엇인가? 158
3.1.2 컴퓨팅 사고는 왜 필요한가? 166
3.2 문법 이해 심화 169
3.2.1 다차원 도형과 반복문 중첩, 다차원 자료형과 리스트 내포 169
3.2.2 데이터 교환(data swap)과 튜플의 숨겨진 사용 173
3.2.3 파라미터 이해 심화 176
3.2.4 불변 자료형과 가변 자료형 180
3.2.5 이름 짓기와 영역 187
3.2.6 재귀함수 195
3.2.7 print( ) 함수 더 잘 쓰기 201
3.2.8 모듈과 패키지 205
3.3 오류와 디버깅 208
3.3.1 오류의 종류 208
3.3.2 구문 오류의 해결 208
3.3.3 실행시간 오류의 해결 208
3.3.4 버그와 디버깅 217
3.4 유제 해설 222
LEVEL 04 필드 위의 플레이어 227
4.1 레벨 4를 본격적으로 시작하기 전에 228
4.2 실습 문제 229
4.2.1 문제 풀이에 앞서 229
4.2.2 유형 1: 프로그래밍 기초 231
4.2.3 유형 2: 프로그래밍 활용 239
4.2.4 유형 3: 프로그래밍과 수학 247
4.3 알고리즘의 효율 분석과 설계 패러다임 265
4.3.1 알고리즘의 효율 비교 265
4.3.2 정렬 알고리즘 개괄 271
4.3.3 O(n2) 정렬 알고리즘 271
4.3.4 알고리즘 설계 패러다임 277
4.4 유제 해설 306
LEVEL 05 길을 찾은 여행자 323
5.1 패스워드 크래킹: 당신의 힘을 실감하라 324
5.1.1 들어가기 전에 324
5.1.2 거짓말의 이유 325
찾아보기 343
참고용 코드 347
책속에서
“이 나라의 모든 사람들은 프로그래밍을 배워야 한다. 왜냐하면 프로그래밍이 생각하는 방법을 가르쳐 주기 때문이다(Everybody in this country should learn how to program a computer, because it teaches you how to think).” 이는 애플의 공동 창립자 중 한 명이자 CEO였던 잡스가 남긴 말이다. 굉장히 멋진 말이고, 프로그래밍 교육의 핵심을 꿰뚫는 표현이기도 하다. 하지만 프로그래밍을 배우기 전이라면 다소 의문이 생길 수밖에 없는 표현을 포함하고 있다. 그것은 바로 ‘생각하는 방법(how to think)’이라는 단어다. 스티브 잡스는 프로그래밍을 배우지 않은 사람들을 모두 생각할 줄도 모르는 사람이라고 비난한 것일까? 물론 그렇지 않다. 잡스가 말한 ‘생각하는 방법’이란 컴퓨팅 사고를 의미한다. 그렇다면 컴퓨팅 사고란 무엇일까?
기계장치는 사람의 말을 알아듣지 못하므로 규칙을 정할 필요가 있었다. 이것이 원시적인 형태의 기계어, 즉 0과 1로 이루어진 약속이자 규칙이다. 학자들은 이 규칙대로 작동하는 기계를 만들고, 약속된 언어의 형태로 여러 가지 명령을 내렸다. 즉, 사람이 ‘정보 처리 절차’와 함께 ‘처리할 정보’를 기계장치에 전달하면, 기계는 계산 끝에 ‘결과’를 돌려주었다. 이때의 ‘정보 처리 절차’가 바로 컴퓨터 프로그램의 뿌리다.
변할 수 있는 숫자를 변수(variable)라 한다. 하지만 프로그래밍에서의 변수는 숫자보다 자료의 공간에 더 가깝다. 편의에 따라 숫자를 바꾸며 자료를 저장하는 장소로 사용하기 때문이다. 변수는 정보를 편하게 저장하고 싶은 인간의 욕구를 충족시킨다. 훗날 재사용할 목적으로 정보를 기록하는 것은 인간의 본성이다. USB 메모리스틱에 서류를 저장하거나 웹 공간에 사진을 저장하는 것은 우리가 모든 것을 머릿속에 저장하지 못하기 때문이다. 이처럼 인간은 스스로를 대신해 정보를 기억해줄 매체를 원하고, 변수가 이 욕구를 해소해줄 수 있다.