본문내용 바로가기

KYOBO 교보문고

금/토/일 주말특가
아시아문학페스티벌
  • 교보손글쓰기대회 전시
  • 손글씨스타
  • 세이브더칠드런
  • 북모닝 책강
  • 교보인문학석강
  • 북모닝 이벤트
프로그래머처럼 생각하기
348쪽 | 규격外
ISBN-10 : 8960776149
ISBN-13 : 9788960776142
프로그래머처럼 생각하기 중고
저자 안톤 스프라울 | 역자 김무항 | 출판사 에이콘출판
정가
25,000원
판매가
18,500원 [26%↓, 6,500원 할인]
배송비
2,500원 (판매자 직접배송)
제주도 추가배송비 : 3,000원
도서산간지역 추가배송비 : 3,500원
배송일정
지금 주문하면 3일 이내 출고 예정
* 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다. * 단순변심으로 인한 구매취소 및 환불에 대한 배송비는 구매자 부담입니다. * 제주 산간지역에는 추가배송비용이 부과됩니다.
2014년 9월 26일 출간
제품상태
상태 최상 외형 최상 내형 최상
이 상품 최저가
18,500원 다른가격더보기
새 상품
22,500원 [10%↓, 2,500원 할인] 새상품 바로가기
수량추가 수량빼기

중고장터에 등록된 판매상품과 제품의 상태는 개별 판매자들이 등록, 판매하는 것으로 중개시스템만을 제공하는 교보문고는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다. 상단 제품상태와 하단 상품 상세를 꼭 확인하신 후 구입해주시기 바랍니다.

교보문고 결제 시스템을 이용하지 않은 직거래로 인한 피해 발생 시 교보문고는 일체 책임을 지지 않습니다.

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

중고책 추천 (판매자 다른 상품)

더보기

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

판매자 배송 정책

  • * 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다. * 단순변심으로 인한 구매취소 및 환불에 대한 배송비는 구매자 부담입니다. * 제주 산간지역에는 추가배송비용이 부과됩니다.

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
50 100000000000000000 5점 만점에 5점 dan1*** 2020.10.27
49 상태가 최상급이라고 해서 구매했는데.. 아쉽게도 종이 색도 누렇게 변했고... 최상급은 아니고 상급인듯합니다. 그래도 좋은 책 구할 수 있으니.. 그 점에 만족합니다. 5점 만점에 3점 kanghyu*** 2020.10.08
48 ^^************** 5점 만점에 4점 zoo*** 2020.09.17
47 거의 새책이나 다름 없습니다. 전부터 이용했지만 앞으로도 애용할 것 같아요. 5점 만점에 5점 Sat*** 2020.09.07
46 `````````````````````````` 5점 만점에 5점 asdr9*** 2020.09.05

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

『프로그래머처럼 생각하기』는 프로그래밍 입문자와 어떤 문제에 대한 해결책을 프로그래밍으로 구현하려 할 때 막막함을 한 번이라도 느껴본 이들을 위한 책이다. 어떤 문제를 해결하기 위한 논리적 사고 과정과 문제 해결 기법을 학습하고 여기서 도출된 해결책을 C++라는 도구를 사용해 어떻게 프로그래밍할 것인가에 대해 학습할수 있다.

저자소개

저자 : 안톤 스프라울
저자 안톤 스프라울(Anton Spraul)는 기초 프로그래밍과 컴퓨터 과학을 15년 넘게 가르쳤다. 이 책은 어려움을 겪는 프로그래머들을 저자가 직접 개인 지도하면서 사용했던 기법들을 모아놓은 정수다. 『Computer Science Made Simple』의 저자이기도 하다.

역자 : 김무항
역자 김무항은 인하대학교에서 컴퓨터공학을 전공했다. 삼성SDS 정보기술연구소에 입사해 보안, IPTV, 증강현실, 위치 기반 서비스 등 다양한 분야에서 연구 개발을 수행했다. 이후 맥콰리 대학교 통번역학 석사 과정을 졸업한 후, 현재 바이오메트릭 보안 업체인 슈프리마에서 기술지원 업무를 맡고 있다. 마이크로소프트 관련 기술과 모바일 애플리케이션 개발, 최신 웹 기술에 관심이 많으며, 테크니컬에반젤리스트를 목표로 하고 있다.

목차

1장 문제 해결 전략
__고전 퍼즐
____여우와 거위, 옥수수
____타일 밀기 퍼즐
____스도쿠
____콰라시 열쇠
__일반적인 문제 해결 기술
____항상 계획을 세워라
____문제를 다른 방식으로 표현해보자
____문제를 나누어라
____아는 것부터 시작하라
____문제를 축소하라
____유사점을 찾아라
____실험하라
____좌절하지 말자
__연습문제

2장 기본 퍼즐
__2장에서 사용할 C++ 살펴보기
__출력 패턴
__입력 처리
____문제 분할
____조각들을 하나로 합치기
__상태 추적
__결론
__연습문제

3장 배열을 이용한 문제 해결
__배열에 관한 기본 지식
____저장
____복사
____회수와 검색
____정렬
____통계 계산
__배열을 사용한 문제 해결
____리팩토링
__고정 데이터 배열
__비 스칼라 배열
__다차원 배열
__배열을 사용해야 하는 경우
__연습문제

4장 포인터와 동적 메모리를 사용한 문제 해결
__포인터에 관한 기본 지식
__포인터의 이점
____런타임 시 크기를 결정할 수 있는 데이터 구조
____크기 변경이 가능한 데이터 구조
____메모리 공유
__포인터를 사용해야 하는 경우
__메모리
____스택과 힙
____메모리 크기
____수명
__포인터 문제의 해결
____가변 길이 문자열
____연결 리스트
__결론과 다음 과정
__연습문제

5장 클래스를 사용한 문제 해결
__클래스에 관한 기본 지식
__클래스 사용 목적
____캡슐화
____코드 재사용
____문제 세분화
____정보 은닉
____가독성
____표현성
__간단한 클래스 작성
____기본 클래스 프레임워크
____지원 메소드
__동적 데이터를 사용하는 클래스
____노드 추가
____연결 리스트 재배열
____소멸자
____깊은 복사
____전체적인 관점에서 동적 메모리를 사용하는 클래스 살펴보기
__피해야 할 실수
____가짜 클래스
____한정된 용도를 지니는 클래스
__연습문제

6장 재귀를 사용한 문제 해결
__재귀에 관한 기본 지식
__전방 재귀와 후방 재귀
____첫 번째 접근법
____두 번째 접근법
__체계적인 재귀 적용 방식
__일반적인 실수
____매개변수 과다
____전역 변수
__동적 데이터 구조에 재귀 적용
____재귀와 연결 리스트
____재귀와 이진 트리
__래퍼 함수
__재귀를 사용해야 하는 경우
____재귀를 반대하는 이유
__연습문제

7장 코드 재사용을 통한 문제 해결
__올바른 재사용과 잘못된 재사용
__구성요소란 무엇인가?
____코드 블록
____알고리즘
____패턴
____추상 데이터 타입
____라이브러리
__구성요소에 대한 지식 쌓기
____탐색 학습
____필요에 따른 학습
__구성요소 타입 선택
____실제 구성요소 선택하기
____결과 비교
__연습문제

8장 프로그래머처럼 사고하기
__자신만의 종합 계획 만들기
____자신의 장단점에 따라 전략 세우기
____종합 계획 세우기
__어떤 문제든 효율적으로 대처하기
____속이기 위한 방법 찾기
____행맨 게임에서 플레이어 2를 속이는 데 필요한 연산
____초기 설계
____코딩 초기 단계
____초기 구현에 대한 분석
____문제 해결 기술
__새로운 프로그래밍 기술 학습
____새로운 언어
____이미 친숙한 언어에 관한 새로운 기술 익히기
____새로운 라이브러리
____수업을 들어라
__결론
__연습문제

책 속으로

출판사 서평

이 책은 프로그래밍 입문자를 위한 책인 동시에 어떤 문제에 대한 해결책을 프로그래밍으로 구현하려 할 때 막막함을 한 번이라도 느껴본 적이 있는 모든 이들을 위한 책이다. C++의 개념과 문법만을 학습하기 위한 참고서 형태의 책이 아니다. 어떤 문제를 ...

[출판사서평 더 보기]

이 책은 프로그래밍 입문자를 위한 책인 동시에 어떤 문제에 대한 해결책을 프로그래밍으로 구현하려 할 때 막막함을 한 번이라도 느껴본 적이 있는 모든 이들을 위한 책이다. C++의 개념과 문법만을 학습하기 위한 참고서 형태의 책이 아니다. 어떤 문제를 해결하기 위한 논리적 사고 과정과 문제 해결 기법을 학습하고 여기서 도출된 해결책을 C++라는 도구를 사용해 어떻게 프로그래밍할 것인가에 대해 학습한다. 이러한 과정 중에 자연스레 C++의 개념과 문법을 학습함으로써 이후에 독자들이 C++라는 언어를 실제 업무나 과제 중에 등장하는 문제를 해결하는 데 적용할 수 있게 돕는다.

★ 이 책에서 다루는 내용 ★

■ 문제를 해결하기 쉽게 만들기 위해 개별적인 구성요소로 나누는 법
■ 함수와 클래스, 라이브러리를 이용하여 코드 재사용을 최대한 활용하는 법
■ 특정 작업에 가장 적합한 데이터 구조를 선택하는 법
■ 재귀와 동적 메모리와 같은 고급 프로그래밍 도구 활용법
■ 특정한 유형의 문제를 해결하기 위해 생각을 정리하고 전략을 개발하는 법

★ 이 책의 대상 독자 ★

시행착오를 겪으면서 배우기보다는 체계적인 방법으로 문제 해결 능력을 배울 수 있다. 이 책은 그러한 문제 해결 능력을 배우기 위한 지침서다. 이 책을 통해 여러분은 생각을 정리하는 기법과 해결책을 찾아내는 과정, 특정한 부류의 문제에 적용하기 위한 전략을 배울 수 있다. 이러한 접근법을 배우는 동시에 여러분의 창의성을 끌어낼 것이다. 더 이상 실수는 없을 것이다. 프로그래밍은 창의적인 활동이다. 특히 문제 해결은 더욱 그러하다. 창의성은 신비한 것이며 창의적인 사고가 동작하는 방식에 대해 정확하게 말할 수 있는 사람은 없다. 그러나 우리가 작곡을 배우거나 창의적인 글쓰기에 대한 조언을 얻거나 그림 그리는 법을 배울 수 있다면 프로그래밍 문제를 창의적으로 해결하는 방법 또한 배울 수 있다. 이 책은 여러분이 무엇을 해야 할지 상세히 알려주지는 않는다. 하지만 여러분의 잠재적인 문제 해결 능력을 개발해서 여러분 스스로 무엇을 해야 할지 알 수 있도록 도울 것이다. 다시 말해 여러분이 꿈꿔왔던 프로그래머가 될 수 있도록 도와줄 수 있는 책이다.

★ 이 책의 구성 ★

이 책에서 다루는 주제는 많은 신입 프로그래머들이 어려움을 겪어온 분야들이다. 또한 이 책은 프로그래밍 초반과 중반 무렵 다양한 영역에서 발생하는 대표적인 모습들을 폭넓게 제시한다.
그러나 이 책은 알고리즘에 대해 예제 위주로 설명한 ‘요리책(Cookbook)’ 스타일의 책이거나 특정 문제를 해결하기 위한 패턴에 대한 책이 아니라는 점을 거듭 강조하고 싶다. 책의 후반부에서 잘 알려진 알고리즘과 패턴을 어떻게 적용할지에 대해 논의를 하겠지만, 이 책을 특정 문제를 해결하기 위한 커닝 페이퍼로 사용하거나 여러분이 현재 겪고 있는 문제에 직접적으로 관련된 장에만 집중하지 않았으면 한다.

★ 저자 서문 ★

여러분은 프로그램 언어를 이해했음에도 프로그램을 만드는 일이 어려운가? 프로그램 책을 읽는 내내 고개를 끄덕이며 읽지만 읽은 내용을 프로그램에 적용하기가 힘든가? 온라인에서 읽은 프로그램의 각 코드가 어떤 역할을 하는지 다른 사람에게 설명할 수 있을 정도로 이해를 하는데도, 프로그램 작업과 문서 편집기의 빈 화면을 보면 머릿속이 하얘지는가?

여러분만 그런 것이 아니다. 나는 지난 15년간 프로그래밍 강의를 해왔다. 강의에 출석하는 학생 대부분이 비슷한 상황을 겪고 있다. 이러한 상황을 겪는 이유는 바로 문제 해결(problem solving) 능력이 부족하기 때문이다. 문제 해결 능력이란 주어진 문제를 기술하고 그것을 해결하기 위해 독창적인 프로그램을 작성할 수 있는 능력을 말한다. 물론 모든 프로그램이 광범위한 문제 해결 능력을 필요로 하는 건 아니다. 여러분이 기존 프로그램을 아주 사소하게 수정하고 디버깅하거나, 기존 프로그램에 테스트 코드를 추가하는 등의 일을 한다면 그 프로그래밍은 완전히 기계적인 작업이기 때문에 창의력이 필요하지는 않다. 그러나 모든 프로그램에는 문제 해결 능력을 요하는 시점이 있다. 그렇기 때문에 전문 프로그래머들은 프로그래밍 과정에서 직면하는 문제를 해결할 수 있어야 한다.

시행착오를 겪으면서 배우기보다는, 체계적인 방법으로 문제 해결 능력을 배우는 편이 좋다. 이 책은 그러한 문제 해결 능력을 배우기 위한 지침서다. 이 책을 통해 여러분은 생각을 정리하는 기법과 해결책을 찾아내는 과정, 특정한 부류의 문제에 적용하기 위한 전략을 배울 수 있다. 이 책을 통해 이러한 접근법을 배우는 동시에 여러분의 창의성을 끌어낼 수 있을 것이다. 더 이상 실수는 없을 것이다. 프로그래밍은 창의적인 활동이다. 특히 문제 해결은 더욱 그러하다. 창의성은 신비한 것이며 창의적인 사고가 동작하는 방식에 대해 정확하게 말할 수 있는 사람은 없다. 그러나 작곡을 배우거나 창의적인 글쓰기에 대한 조언을 얻거나 그림 그리는 법을 배울 수 있다면, 프로그래밍 문제를 창의적으로 해결하는 방법 또한 배울 수 있다. 이 책은 여러분이 무엇을 해야 할지 상세히 알려주지는 않는다. 하지만 여러분의 잠재적인 문제 해결 능력을 개발해서 여러분 스스로 무엇을 해야 할지 알 수 있도록 도울 것이다. 다시 말해 여러분이 꿈꿔왔던 프로그래머가 될 수 있도록 도와줄 수 있는 책이다.

이 책을 쓴 목적은 여러분이 모든 프로그래밍 작업을 체계적으로 접근할 수 있게 도와서 궁극적으로는 주어진 문제를 해결할 수 있다는 자신감을 갖게 하는 데 있다. 이 책을 다 읽고 난 후에 여러분 모두가 ‘프로그래머처럼 생각’하고 ‘스스로가 모두 프로그래머라는 사실을 믿을 수 있기’를 바란다.

★ 옮긴이의 말 ★

이 책은 프로그래밍 입문서다. 하지만 여타 프로그래밍 입문서와는 전혀 다른 방식으로 프로그래밍에 접근한다. 일반적인 프로그래밍 입문서가 프로그래밍의 기본 문법을 먼저 가르친 다음 간단한 예제를 통해 배운 내용을 점검하거나 활용하도록 독자들을 이끄는 반면, 이 책은 실생활에 있을 법한 문제를 독자들에게 제시한 다음 프로그래밍과는 상관없이 해당 문제를 어떻게 논리적으로 풀 것인지에 대해 먼저 고민하고 이를 프로그래밍으로 구현해볼 수 있게 이끈다.

그렇다고 이 책이 프로그래밍 입문자만을 위한 책은 아니다. 이 글을 읽고 있는 독자들 중 프로그래밍 입문서를 읽고 독학하거나 학교 또는 학원에서 기초 프로그래밍 수업을 이수했음에도, 실제 어떤 문제에 대한 해결책을 프로그래밍으로 구현하려 할 때가 닥치면 막막함을 느낀 독자들이 분명히 있을 것이다. 나 역시 프로그래밍에 막 입문했을 때 프로그래밍 문법에 초점을 맞춘 책들의 예제를 타이핑해보고 실행하는 것만으로 해당 책을 학습했다고 느낀 적이 있었다. C++와 윈도우 API 수업을 이수한 다음, 막상 지뢰찾기 게임을 구현하려 했을 때 어떤 식으로 알고리즘을 구현해야 할지 막막했던 기억이 난다.

지뢰찾기 게임을 구현하기 위해 이벤트 처리나 비트맵 처리 등의 윈도우 애플리케이션을 이해하는 일도 중요하지만, 그보다 더 중요한 핵심은 지뢰 배치와 숫자 표시, 사용자의 선택에 따라 지뢰를 터뜨릴지 주변 영역을 반전시킬지 등에 관한 알고리즘을 구현하는 것이라고 생각한다. 이러한 알고리즘 또는 원리를 구현하는 데 막막함을 느꼈던 적이 있다면 바로 이 책을 통해 문제 해결 능력을 키울 수 있다.

이 책에서는 각 장마다 주어진 문제를 해결하기 위한 다양한 문제 해결 기법을 소개한다. 해당 문제 해결 기법을 활용해 논리적인 문제 해결책을 도출한다. 그러고 나서 이러한 해결책을 프로그래밍으로 구현하면서 이를 위해 필요한 C++의 기본 문법과 개념들을 학습한다. 프로그래밍 입문자들이 가장 어려워하는 주제 중 하나인 객체지향을 다룸에 있어서도 객체지향이란 이런 것이라고 독자들에게 일방적으로 소개하는 게 아니라 문제 해결을 통해 독자들이 개념을 이해하게 이끌어 향후에 실제 어떤 문제를 해결하는 데 활용할 수 있게 돕는다.

번역 작업을 진행하면서, 내가 프로그래밍에 입문하던 당시에 이 책을 접했다면 어땠을까라는 생각을 많이 했다. 앞에서 언급했듯이 처음 입문했을 당시, 기본 문법을 섭렵하고도 막상 어떤 문제에 대한 해결책을 프로그래밍할 때마다 막막한 마음이 들어 내가 프로그래밍에 재능이 없는 건 아닐까 생각했던 적이 있었다. 그때 이 책을 접했더라면, 문제를 분석하고 프로그래밍으로 구현할 수 있는 체계적인 틀을 마련하는 데 큰 도움을 받을 수 있었으리라 확신한다.

[출판사서평 더 보기 닫기]

책 속 한 문장

회원리뷰

교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
취중불문
판매등급
우수셀러
판매자구분
일반
구매만족도
5점 만점에 5점
평균 출고일 안내
3일 이내
품절 통보율 안내
22%

바로가기

최근 본 상품