logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

프로그램 디자인, 어떻게 할 것인가

프로그램 디자인, 어떻게 할 것인가

마티아스 펠라이젠, 로버트 브루스 핀들러, 매튜 플랫, 슈리람 크리스나무르티 (지은이), 김중철 (옮긴이)
인사이트
35,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

프로그램 디자인, 어떻게 할 것인가
eBook 미리보기

책 정보

· 제목 : 프로그램 디자인, 어떻게 할 것인가 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788991268975
· 쪽수 : 850쪽
· 출판일 : 2011-04-20

책 소개

컴퓨터 프로그래밍을 처음 접하는 사람들에게 프로그램을 ‘디자인’하는 방법을 가르치는 책이다. 구조체, 트리, 그래프와 같은 기본적인 프로그래밍에 필요한 자료 구조 및 알고리즘에 대해서도 설명하고 있다. 이러한 개념들은 예를 통해 제시되며, 반복적으로 살펴봄으로써 프로그래밍의 수준을 점점 높여 나가는 방식을 취하고 있다.

목차

옮긴이의 글

서문
왜 모든 사람이 프로그래밍을 배워야 하는가
디자인 레시피
Scheme과 DrRacket의 선택
이 책의 구성
감사의 글

1부. 간단한 형태의 데이터 처리
1장 학습자, 교육자, 컴퓨터
2장 수, 표현, 간단한 프로그램
2.1 수와 연산
2.2 변수와 프로그램
2.3 응용 문제
2.4 오류
2.5 프로그램 디자인
3장 프로그램은 함수+변수 졍의다
3.1 함수 조합
3.2 변수 정의
3.3 함수 구성에 관한 연습문제
4장 조건문과 함수
4.1 불린과 관계
4.2 조건을 검사하는 함수
4.3 조건과 조건문
5장 기호 정보
5.1 기호에 관한 몸풀기 문제
6장 복합 데이터 1: 구조체
6.1 구조체
6.2 추가 연습문제: 간단한 그림 그리기
6.3 구조체 정의
6.4 데이터 정의
6.5 복합 데이터를 다루는 함수 디자인
6.6 추가 연습문제: 원과 사각형 움직이기
6.7 추가 연습문제: 행맨 단어 맞히기
7장 데이터의 다양성
7.1 데이터를 혼합하고 구분하기
7.2 혼합 데이터를 다루는 함수 디자인
7.3 함수 조합 다시 보기
7.4 추가 연습문제; 도형 움직이기
7.5 입력 오류
8장 쉬어가기 1: 구문과 의미
8.1 Scheme의 어휘
8.2 Scheme의 문법
8.3 Scheme의 의미
8.4 오류
8.5 불린 표현
8.6 변수 정의
8.7 구조체 정의

2부. 임의의 큰 자료 처리
9장 복합 데이터 2: 리스트
9.1 리스트
9.2 임의 길이의 리스트에 대한 데이터 정의
9.3 임의 길이의 리스트 다루기
9.4 자기 참조 데이터 정의에 대한 함수 디자인
9.5 간단한 리스트를 다루는 다양한 예
10장 리스트 처리 더 보기
10.1 리스트를 출력하는 함수
10.2 구조체를 포함하는 리스트
10.3 추가 연습문제: 그림 옮기기
11장 자연수
11.1 자연수의 정의
11.2 임의 길이의 자연수 다루기
11.3 추가 연습문제: 리스트 작성 및 함수 테스트
11.4 자연수에 대한 또 다른 데이터 정의
11.5 자연수의 성질에 관한 보다 자세한 논의
12장 함수 조합 다시 보기
12.1 복잡한 프로그램 디자인하기
12.2 재귀 보조 함수
12.3 문제 일반화, 함수 일반화
12.4 추가 연습문제: 단어 재배열하기
13장 쉬어가기 2: 리스트 축약

3부. 임의의 큰 데이터 처리 더 보기
14장 자기 참조 데이터 정의 더 보기
14.1 구조체의 구조
14.2 추가 연습문제: 이진 검색 트리
14.3 리스트 내의 리스트
14.4 추가 연습문제: Scheme 계산
15장 상호 참조 데이터 정의
15.1 구조체 리스트, 구조체 내의 리스트
15.2 상호 참조 정의를 다루는 함수 디자인하기
15.3 추가 연습문제: 웹페이지 더 보기
16장 반복적 개선을 통한 개발
16.1 데이터 분석
16.2 데이터 집합 정의하기 및 개선하기
16.3 함수 및 프로그램 개선하기
17장 두 복합 데이터 다루기
17.1 두 리스트 동시에 다루기: 경우 1
17.2 두 리스트 동시에 다루기: 경우 2
17.3 두 리스트 동시에 다루기: 경우 3
17.4 함수 단순화
17.5 복잡한 두 개의 데이터를 입력받는 함수 디자인
17.6 복잡한 두 입력을 다루는 예
17.7 추가 연습문제: Scheme 계산하기, 두 번째
17.8 통일성과 테스트
18장 쉬어가기 3: 지역정의와 유효 영역
18.1 local을 이용한 함수 조직
18.2 유효 영역과 블록 구조

4부. 디자인 추상화
19장 정의 사이의 유사성
19.1 함수 사이의 유사성
19.2 데이터 정의 사이의 유사성
20장 함수는 값이다
20.1 구문과 의미
20.2 추상 함수 및 다형적 함수에 대한 계약
21장 예에서 추상화 디자인하기
21.1 예에서 추상화 끌어내기
21.2 추상화 리스트 함수를 다루는 몸풀기 문제
21.3 추상화와 유일한 관리 지점
21.4 추가 연습문제: 움직이는 그림 다시 보기
21.5 참고: 템플릿으로부터 추상화 디자인하기
22장 함수를 출력하는 함수를 이용한 추상화 디자인
22.1 함수를 출력하는 함수
22.2 값으로서의 함수를 이용한 추상 함수 디자인
22.3 GUI 맛보기
23장 수학 예제
23.1 수열과 급수
23.2 등차수열과 급수
23.3 등비수열과 급수
23.4 함수 내 면적
23.5 함수의 기울기
24장 쉬어가기 4: 즉석에서 함수 정의하기
24.1 람다 표현의 구문
24.2 람다의 영역과 의미
24.3 람다의 활용

5부. 발생적 재귀
25장 새로운 형태의 재귀 호출
25.1 테이블 위의 공 모델링하기
25.2 빠르게 정렬하기
26장 알고리즘 디자인하기
26.1 종료
26.2 구조적 재귀 대 발생적 재귀
26.3 선택하기
27장 주제에 의한 변주곡
27.1 프랙탈
27.2 파일에서 선으로, 리스트에서 리스트를 갖는 리스트로
27.3 이진 검색
27.4 뉴턴 방법
27.5 추가 연습문제: 가우스 소거법
28장 역추적하는 알고리즘
28.1 그래프 순회
28.2 추가 연습문제: 퀸 체크
29장 쉬어가기 5: 컴퓨팅 연산 비용과 벡터
29.1 구체적 시간, 추상 시간
29.2 ‘차수’의 정의
29.3 벡터 맛보기

6부. 지식 축적
30장 지식의 손실
30.1 구조적 처리의 문제점
30.2 발생적 재귀의 문제점
31장 축적기 방식의 함수 디자인하기
31.1 축적기의 필요성 인식하기
31.2 축적 방식의 함수
31.3 함수를 축적 방식으로 바꾸기
32장 축적의 다른 용도 559
32.1 추가 연습문제: 트리에서의 축적기
32.2 추가 연습문제: 선교사와 식인종
32.3 추가 연습문제: 보드 솔리테어
33장 쉬어가기 6: 근사값의 본질
33.1 고정 길이 수 연산
33.2 오버플로
33.3 언더플로
33.4 DrRacket의 수

7부. 변수의 상태 바꾸기
34장 함수의 메모리
35장 변수의 할당
35.1 작업에서의 간단한 할당
35.2 순차적 표현 연산
35.3 할당과 함수
36.4 유용한 첫 예제
36장 메모리를 갖는 함수 디자인하기
36.1 메모리의 필요성
36.2 메모리와 상태 변수
36.3 메모리르 초기화하는 함수
36.4 메모리를 바꾸는 함수
37장 메모리 사용 예
37.1 상태 초기화
37.2 사용자의 행동으로 인한 상태 변화
37.3 재귀 호출로부터의 상태 변화
37.4 상태 변화에 관한 몸풀기 문제
37.5 추가 연습문제: 장소 탐험
38장 쉬어가기 7: 최종 구문과 의미
38.1 상급자용 Scheme의 어휘
38.2 상급자용 Scheme의 문법
38.3 상급자용 Scheme의 의미
38.4 사급자용 Scheme에서의 오류

8부. 복합 값 바꾸기
39장 캡슐화
39.1 상태 변수가 있는 추상화
39.2 캡슐화 연습하기
40장 변경 가능한 구조체
40.1 함수로부터의 구조체
40.2 변경 가능한 함수 구조체
40.3 변경 가능한 구조체
40.4 변경 가능한 벡터
40.5 변수 바꾸기, 구조체 바꾸기
41장 구조체를 변경하는 함수 디자인하기
41.1 왜 구조체를 변경하는가
41.2 구조적 디자인 레시피와 변경 1
41.3 구조적 디자인 레시피와 변경 2
41.4 추가 연습문제: 그림 움직이기 3
42장 동일성
42.1 외면적 동일성
42.2 내포적 동일성
43장 구조체, 벡터, 객체 바꾸기
43.1 벡터 더 연습하기
43.2 순환되는 구조체 집합
43.3 상태 역추적

에필로그
컴퓨팅
프로그래밍
더 나아가기

찾아보기

저자소개

마티아스 펠라이젠 (지은이)    정보 더보기
펠라이젠은 현재 보스턴 메사추세츠에 위치한 노스이스턴 대학교의 컴퓨터정보과학과 명예교수다. 인디애나 대학교에서 대니얼 프리드먼으로부터 박사 학위를 받았다. 그의 주요 관심사는 프로그래밍 도구 디자인, 웹 프로그래밍 등이다. 펠라이젠은 PLT와 TechScheme! 프로젝트를 시작하여 초보자들에게 프로그램 디자인 원칙을 가르치고, Scheme을 활용해 큰 규모의 시스템을 만들 수 있도록 돕고 있다.
펼치기
로버트 브루스 핀들러 (지은이)    정보 더보기
보통 ‘로비’라 불리며 현재 노스웨스턴 대학교에서 강의하고 있는 컴퓨터 과학자다. PLT의 회원으로, DrRacket을 만들었으며 유지보수를 책임지고 있다. TeachScheme! 프로젝트의 선임 멤버이기도 하다.
펼치기
매튜 플랫 (지은이)    정보 더보기
솔트레이크 시티에 위치한 유타 대학교에서 강의를 하고 있는 컴퓨터 과학자다. 그 역시 PLT의 회원으로, Racket을 만들었으며 유지보수를 담당하고 있다. 라이스 대학교에서 마티아스 펠라이젠의 지도 아래 박사 학위를 취득했다.
펼치기
슈리람 크리스나무르티 (지은이)    정보 더보기
프로그래밍 언어에 깊은 애정을 갖고 있지만, 주로 컴퓨터 보안, 소프트웨어 공학에 관련된 연구를 한다. 오랜 시간 동안 Racket(DrRacket)을 비롯해 WeScheme, Flapjax, FrTime 같은 혁신적이고 유용한 여러 소프트웨어 시스템에 공헌하였다.
펼치기
김중철 (옮긴이)    정보 더보기
포항공대 컴퓨터공학과를 졸업하였으며, 여러 회사에서 Java JIT 포팅부터 웹 애플리케이션에 이르는 다양한 분야의 프로젝트를 수행하였다. 이 과정에서 컴퓨터 프로그래밍 언어에 관심을 갖게 되었다. 단순히 이론에 그치기보다는 실무 경험을 바탕으로 개발자적인 관점에서 문제에 접근하는 것을 좋아한다. 현재는 KBS에서 IT 분야 업무를 수행하고 있다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책