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