이미 소장하고 있다면 판매해 보세요.
|
1장 소개
___1.1 프로그램과 프로그래밍 ___1.2 용어 정의 ___1.3 설치 방법 ___1.4 이 책의 구성 ___1.5 정리 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 print ___3.5 출력 형식 지정 ___3.6 사용자 입력 ___3.7 정리 ___3.8 연습문제 4장 모듈 ___4.1 모듈 가져오기 ___4.2 새로운 모듈 정의 ___4.3 객체와 메소드 ___4.4 픽셀과 색 ___4.5 테스트 ___4.6 스타일 노트 ___4.7 정리 ___4.8 연습문제 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 연습문제 6장 선택 ___6.1 불린 로직 ___6.2 if문 ___6.3 조건식의 결과 저장 ___6.4 정리 ___6.5 연습문제 7장 반복 ___7.1 실행 횟수가 정해진 루프 ___7.2 while 루프 ___7.3 사용자 입력 루프 ___7.4 루프 제어 ___7.5 스타일 노트 ___7.6 정리 ___7.7 연습문제 8장 파일 처리 ___8.1 한 줄짜리 레코드 ___8.2 여러 필드로 구성된 레코드 ___8.3 위치 기준 데이터 ___8.4 여러 줄 레코드 ___8.5 내다보기 ___8.6 파일에 쓰기 ___8.7 정리 ___8.8 연습문제 9장 집합과 사전 ___9.1 집합 ___9.2 사전 ___9.3 사전 뒤집기 ___9.4 정리 ___9.5 연습문제 10장 알고리즘 ___10.1 탐색 ___10.2 시간 측정 ___10.3 정리 ___10.4 연습문제 11장 탐색과 정렬 ___11.1 선형 탐색 ___11. 2 이진 탐색 ___11.3 정렬 ___11.4 더 효율적인 정렬 알고리즘 ___11.5 병합 정렬: Nlog2N 알고리즘 ___11.6 정리 ___11.7 연습문제 12장 프로그램 제작 ___12.1 함수 고찰 ___12.2 예외 ___12.3 테스트 ___12.4 디버깅 ___12.5 패턴 ___12.6 정리 ___12.7 연습문제 13장 객체지향 프로그래밍 ___13.1 Color 클래스 ___13.2 특별 메소드 ___13.3 dir과 help ___13.4 객체지향 이론 ___13.5 심화 예제 ___13.6 정리 ___13.7 연습문제 14장 그래픽 사용자 인터페이스 ___14.1 Tkinter 모듈 ___14.2 기본적인 GUI 제작 ___14.3 모델, 뷰, 컨트롤러 ___14.4 스타일 ___14.5 그 밖의 위젯 ___14.6 객체지향 GUI ___14.7 정리 ___14.8 연습문제 15장 데이터베이스 ___15.1 큰 그림 ___15.2 첫걸음 ___15.3 데이터 조회 ___15.4 갱신과 삭제 ___15.5 트랜잭션 ___15.6 누락 데이터와 NULL ___15.7 조인을 이용한 테이블 조합 ___15.8 키와 제약 조건 ___15.9 고급 기능 ___15.10 정리 ___15.11 연습문제 부록 A 참고 문헌 |
|
대학에서 처음으로 프로그래밍 과목을 들은 이후로 졸업하기 전까지 전산 관련 과목을 들었는데, 돌이켜 보니 그 중에 많은 시간을 프로그래밍 언어에 익숙해지는 데 보냈던 것 같다. 지금이야 처지가 그나마 낫지만 당시에는 교과 과정에서 배운 내용을 명쾌하게 이해하면서도 실습 시간에 C, C++, 자바로 짠 프로그램이 해당 언어의 세부 사항과 맞물려 도저히 이해하기 힘든 증상을 보여 애타했던 적이 한두 번이 아니었다. 그때는 그게 왜 그렇게 어렵고 힘들었는지 지금 생각하면 허탈하기만 하다.
이 책을 옮기면서 생각해봤다. '학교에서 수업을 들을 때 파이썬이라는 언어로 수업을 진행했다면 어땠을까'하고. 본문에도 나오지만 처음 프로그래밍을 배울 땐 주객이 전도되는 현상을 자주 겪는다. 코드 한 줄 이해하는 데 도리어 그것을 표현한 프로그래밍 언어의 세부 사항에 압도돼 버리는 현상 말이다. 동영상 사이트인 유튜브에 들어가 'MIT Introduction to Computer Science'로 검색해보자. 검색 결과로 나오는 동영상을 보면 알겠지만 세계적으로 이름난 대학 중 하나인 MIT에서도 파이썬을 이용해 프로그래밍 개론 강의를 진행한다. 그 밖에도 대학에서 프로그래밍을 가르칠 때 파이썬을 채택한 사례는 어렵지 않게 찾아볼 수 있다. 그런데 수많은 언어 가운데 굳이 파이썬을 채택한 이유는 뭘까? 본문의 예제 코드를 보면 알겠지만 파이썬 코드는 자체가 알고리즘에 가깝다. 언어 자체의 간결함과 높은 가독성은 파이썬을 배우고 쓰기 쉽게 해준다. 따라서 목적하는 개념 이해와 문제 해결에만 오롯이 집중할 수 있다. 더불어 풍부한 라이브러리와 짧은 개발 주기, 다른 프로그래밍 언어와의 손쉬운 통합은 오늘날 기업의 지상 과제인 적기출시(Time to Market)를 실현하는 데도 도움이 될 것이다. 하지만 무엇보다도 파이썬 언어가 주는 매력은 바로 프로그래밍의 재미다. 여기서 재미란, 프로그래밍 언어로 내가 하고 싶은 일에만 집중할 수 있을 때 성립하는 요소다. 특히 프로그래밍을 처음 접하거나 익숙지 않은 전산 전공자의 경우에는 이런 요소가 더 중요하리라 생각한다. 언어적 세부 사항에 압도돼 프로그래밍이 주는 즐거움을 느끼기 힘들었다는 사람이라면 더더욱 그렇다. 이런 점을 감안한다면 저자가 파이썬을 선택한 이유는 자명하다. 사실 이 책에서 저자가 전하고자 하는 바는 언어적 세부 사항에 있지 않기 때문이다. 이 책은 기본적인 프로그래밍 요소부터 알고리즘, 디버깅, 객체지향 프로그래밍, 테스트 주도 개발, GUI 제작, 데이터베이스 활용법까지 전산 전공자뿐 아니라 현장에서 근무하고 있는 프로그래머라면 꼭 짚고 넘어가야 할 내용을 이해하기 쉽게 설명한다. 다시 한 번 '예전에 프로그래밍을 처음 배울 때 이 책으로 시작했으면 어땠을까'하는 생각을 해본다. --- '옮긴이의 말' 중에서 |
|
이 책은 기본적인 프로그래밍 요소부터 알고리즘, 디버깅, 객체지향 프로그래밍, 테스트 주도 개발, GUI 제작, 데이터베이스 활용법까지 전산 전공자뿐 아니라 현장에서 근무하고 있는 프로그래머라면 꼭 짚고 넘어가야 할 내용을 이해하기 쉽게 설명한다. 또한 직관적이고 쉽게 이해할 수 있는 언어인 파이썬을 활용해 프로그래밍 개론을 설명함으로써 언어를 익히는 데 드는 노력을 최대한 줄이고 핵심적인 프로그래밍 관련 개념이나 문제 해결에 집중하게 해준다. 전산학을 전공하는 학생은 물론, 초보 프로그래머 혹은 소프트웨어 업계에 종사하지만 기본기가 부족하다고 생각하는 이들이 실력을 다질 수 있는 프로그래밍 개론 필독서다.
프로그래밍 개론을 익히고 큰 그림을 그리고 싶은데 프로그래밍 언어를 먼저 배워야 가능하다? 프로그래밍 언어를 배우자니 기초가 부족하여 어렵거나? 닭이 먼저냐 달걀이 먼저냐라는 문제를 뛰어넘어, 직관적이면서도 비교적 장벽이 없는 언어인 파이썬을 활용해 프로그램 언어를 배우는 수고를 최대한 건너뛰고 바로 프로그래밍 과정에서 일어나는 문제 해결에 집중하도록 돕는 책이다. 산술 연산에서 루프와 if문까지 이르는 기본적인 프로그래밍 요소 함수와 모듈을 이용한 프로그램 구성 체계적인 알고리즘 설계 디버깅 데이터베이스 생성과 질의 더 쉬운 프로그램 사용을 위한 그래픽 인터페이스 제작 객체지향 프로그래밍과 프로그래밍 패턴 |