문법 No! 프로그래밍 Yes! 대학에서 신입생에게 프로그래밍을 가르쳤지만, 문법 중심의 교재가 학생들을 좌절로 이끈다는 사실을 알게 되었다. 우수한 학점을 받은 학생도 피상적인 이해에 그친다는 사실도 알게 되었다. 저자 앨런 다우니는 문법 대신 컴퓨터 과학자가 어떻게 생각하는지 알려주는 프로그래밍 중심 교재를 만들었고, 수업에서 놀라운 효과를 얻었다. 문법 중심이 아닌 컴퓨터 과학자처럼 생각하는 법을 배워보자. 파이썬으로 시작하는 프로그래밍 입문 프로그래밍 입문을 하기로 마음 먹었다면 파이썬으로 시작하는 게 좋다. 파이썬은 문법이 간단해서 익히기 쉽다. 인터프리터 방식이므로 코드를 입력하는 즉시 결과를 확인하고 문제를 수정할 수 있다. 모든 내용은 실습 중심으로 고안되어 있다. 기초 문법, 함수, 재귀, 자료 구조, 객체 지향 디자인까지 단계별로 실습하면서 학습하게 되어 있다.
1장 프로그램의 길 __1.1 프로그램은 무엇인가? __1.2 파이썬 실행하기 __1.3 첫 번째 프로그램 __1.4 산술 연산자 __1.5 값과 타입 __1.6 형식 언어와 자연 언어 __1.7 디버깅 __1.8 용어 __1.9 연습문제
2장 변수, 표현식, 문장 __2.1 할당문 __2.2 변수 이름 __2.3 표현식과 문장 __2.4 스크립트 모드 __2.5 연산 순서 __2.6 문자열 연산 __2.7 주석 __2.8 디버깅 __2.9 용어 __2.10 연습문제
3장 함수 __3.1 함수 호출 __3.2 수학 함수 __3.3 조합 __3.4 새 함수를 추가하기 __3.5 정의와 사용 __3.6 실행 흐름 __3.7 인자와 인수 __3.8 변수와 인자는 지역 범위다 __3.9 스택 다이어그램 __3.10 결과가 있는 함수와 없는 함수 __3.11 왜 함수인가? __3.12 디버깅 __3.13 용어 __3.14 연습문제
4장 사례 연구: 인터페이스 디자인 __4.1 turtle 모듈 __4.2 단순 반복 __4.3 연습문제 __4.4 캡슐화 __4.5 일반화 __4.6 인터페이스 디자인 __4.7 리팩터링 __4.8 개발 계획 __4.9 독스트링 __4.10 디버깅 __4.11 용어 __4.12 연습문제
5장 조건문과 재귀 __5.1 몫과 나머지 연산자 __5.2 불 표현식 __5.3 논리 연산자 __5.4 조건부 실행 __5.5 대안부 실행 __5.6 연쇄 조건문 __5.7 중첩 조건문 __5.8 재귀 __5.9 재귀 함수를 위한 스택 다이어그램 __5.10 무한 재귀 __5.11 키보드 입력 __5.12 디버깅 __5.13 용어 __5.14 연습문제
6장 결과가 있는 함수 __6.1 반환값 __6.2 점진적인 개발 __6.3 조합 __6.4 불 함수 __6.5 재귀, 하나 더 __6.6 믿음의 도약 __6.7 재귀, 하나 더(2) __6.8 타입 검사 __6.9 디버깅 __6.10 용어 __6.11 연습문제
7장 반복 __7.1 재할당 __7.2 변수 업데이트 __7.3 while 문 __7.4 break __7.5 제곱근 __7.6 알고리즘 __7.7 디버깅 __7.8 용어 __7.9 연습문제
8장 문자열 __8.1 문자열은 시퀀스다 __8.2 len __8.3 for 루프로 순회하기 __8.4 문자열 슬라이스 __8.5 문자열은 불변이다 __8.6 검색하기 __8.7 루프 돌기와 세기 __8.8 문자열 메서드 __8.9 in 연산자 __8.10 문자열 비교 __8.11 디버깅 __8.12 용어 __8.13 연습문제
9장 사례 연구: 워드 플레이 __9.1 단어 목록 읽어 들이기 __9.2 연습문제 __9.3 검색 __9.4 인덱스로 루프 돌기 __9.5 디버깅 __9.6 용어 __9.7 연습문제
13장 사례 연구: 자료 구조 고르기 __13.1 단어 빈도 분석 __13.2 난수 __13.3 단어 히스토그램 __13.4 최다 빈출 단어 __13.5 선택 인수 __13.6 사전 빼기 __13.7 무작위 단어 __13.8 마르코프 분석 __13.9 자료 구조 __13.10 디버깅 __13.11 용어 __13.12 연습문제
14장 파일 __14.1 영속성 __14.2 읽기와 쓰기 __14.3 서식 연산자 __14.4 파일명과 경로 __14.5 예외를 잡기 __14.6 데이터베이스 __14.7 피클링 __14.8 파이프 __14.9 모듈 작성하기 __14.10 디버깅 __14.11 용어 __14.12 연습문제
15장 클래스와 객체 __15.1 프로그래머 정의 타입 __15.2 속성 __15.3 사각형 __15.4 인스턴스를 반환값으로 하기 __15.5 객체는 가변이다 __15.6 복제하기 __15.7 디버깅 __15.8 용어 __15.9 연습문제
16장 클래스와 함수 __16.1 시간 __16.2 순수 함수 __16.3 변경자 __16.4 프로토타입 대 계획 __16.5 디버깅 __16.6 용어 __16.7 연습문제
17장 클래스와 메서드 __17.1 객체 지향 기능 __17.2 객체를 출력하기 __17.3 또 하나의 예제 __17.4 더 복잡한 예 __17.5 init 메서드 __17.6 __str__ 메서드 __17.7 연산자 오버로딩 __17.8 타입 기반 디스패치 __17.9 다형성 __17.10 인터페이스와 구현 __17.11 디버깅 __17.12 용어 __17.13 연습문제
18장 상속 __18.1 카드 객체 __18.2 클래스 속성 __18.3 카드 비교하기 __18.4 덱 __18.5 덱 출력하기 __18.6 추가, 제거, 섞기, 정렬 __18.7 상속 __18.8 클래스 다이어그램 __18.9 데이터 캡슐화 __18.10 디버깅 __18.11 용어 __18.12 연습문제
21장 알고리즘 분석 __21.1 증가 기준 __21.2 파이썬 기본 연산의 분석 __21.3 검색 알고리즘의 분석 __21.4 해시테이블 __21.5 용어
ㆍ지은이
앨런B.다우니
소개
프랭클린 W. 올린 공과대학교의 컴퓨터공학 교수. 웰즐리 칼리지와 콜비 칼리지, 캘리포니아 대학교 버클리에서 강의했다. 캘리포니아 대학교 버클리에서 컴퓨터공학 박사 학위를 땄다. 집필한 책으로 『씽크 파이썬』(길벗, 2017), 『파이썬을 활용한 베이지안 통계』(2014, 한빛미디어), 『Think Stats』(2013, 한빛미디어) 등이 있다.
독자의견 남기기