서브메뉴

본문

헬로 컴퓨터 프로그래밍
헬로 컴퓨터 프로그래밍
저자 : 워렌 산데|카터 산데
출판사 : 위키북스
출판년 : 2011
정가 : 25000, ISBN : 9788992939430

책소개


카네기멜론 대학에서 시작된 정보과학적 사고능력(Computational Thinking) 학습은 컴퓨터 과학과 교육에 대한 새로운 목표를 제시하고 있다. 이 관점에서 바라보면 컴퓨팅(computing)을 배운다는 것은 단순히 컴퓨터 언어를 사용하는 방법을 배운다는 것을 넘어선다. 컴퓨터를 사고의 도구로 활용하고 실험의 도구로 사용해서 인간의 능력을 확장하는 것이 바로 컴퓨팅을 배우는 목적 중 하나다.

전자시스템 엔지니어인 워렌 산데와 그의 12살 난 아들 카터 산데가 함께 쓴 「헬로! 컴퓨터 프로그래밍」은 이러한 목적을 잘 이해한 컴퓨터 프로그래밍 입문서다. 이 책에서는 파이썬(Python)을 다루고 있지만, 파이썬을 통해 컴퓨터 프로그래밍을 조망하고 배우는 데 그 가치가 있다. 본문 중간중간에 컴퓨터 발전의 역사를 살펴볼 수 있는 개념을 설명하고, '준범'이라는 초보 학습자를 등장시켜 저자와 대화하듯이 책의 내용을 전개해 나가면서 프로그래밍 초심자가 어떤 궁금증과 사고의 흐름을 통해 성장하는지 살펴볼 수 있다.

이 책은 아버지(선생님)와 대화하듯 본문이 구성돼 있어 초보자가 프로그래밍의 주요 개념과 객체지향 언어 등을 쉽게 이해할 수 있을뿐더러 단계별 예제를 통해 프로그래밍의 핵심 원리를 쉽게 체득할 수 있다. 아울러 파이썬이라는 강력한 언어를 자연스럽게 습득하게 만들어주고 컴퓨터 과학의 주요 개념을 익히고 프로그래밍 언어의 구조와 원리를 파악하는 데도 크나큰 도움이 될 것이다.

목차


01장 시작하기

- 파이썬 설치하기
- IDLE과 함께 파이썬의 세계로!
- 명령을 내려주세요
- 파이썬과 대화하기
- 프로그램을 할 시간입니다!
- 자, 이제 실행해볼까요?
- 뭔가가 잘못됐다면?!?
- 내 생애 두 번째 프로그램!

02장 기억하라! 메모리와 변수

- 입력, 처리, 출력
- 이름
- 이름은 어떻게 지을까?
- 숫자와 문자열
- 변수란?
- 새로운 나

03장 간단한 계산

- 사칙연산
- 연산자
- 연산의 순서
- 연산자 두 개 더
- 정말 큰 수와 정말 작은 수
- 04 자료형 (Type of Data)
- 자료형 변환하기
- 정보를 더 얻는 방법 : type()
- 형 변환 오류
- 형 변환 사용하기

05장 입력

- raw_input()
- print 명령어와 콤마(,)
- 숫자 입력하기
- 웹에서 입력받기

06장 그래픽 유저 인터페이스

- GUI가 뭐지?
- 첫 번째 GUI
- GUI 입력
- 어떤 맛을 고를까?
- 숫자 추측 게임, 한 번 더!
- 그 밖의 GUI 기능

07장 판단과 결정

- 테스팅
- 들여쓰기
- 두 개를 본 것 같은데?
- 다른 종류의 테스트
- 테스트가 실패하면 어떤 일이 일어날까?
- 한 가지 이상의 조건으로 테스트하기
- "and" 사용하기
- "or" 사용하기
- "not" 사용하기

08장 반복하기

- 계수 반복
- 계수 반복 사용하기
- 손쉬운 방법 - range()
- 스타일의 문제 - 반복 변수 이름
- 간격을 두고 세기
- 숫자 없이 세기
- 조건을 만족하는 동안...
- 반복에서 탈출하기 - break와 continue

09장 여러분만을 위한 '주석'

- 주석 넣기
- 한 줄 주석
- 줄 끝의 주석
- 여러 줄 주석
- 주석문 스타일
- 주석 처리

10장 게임 타임

- Skier

11장 중첩되고 가변적인 반복

- 중첩 반복문
- 가변 반복문
- 중첩된 가변 반복문
- 더 중첩된 가변 반복문
- 중첩 반복문 사용하기
- 열량 계산하기

12장 함께 모으기 - 리스트

- 리스트란 무엇인가?
- 리스트 만들기
- 리스트에 추가하기
- 점(.)이 뭐하는 거지?
- 모든 걸 담을 수 있는 리스트
- 리스트에서 항목 가져오기
- 왜 인덱스가 1이 아닌 0부터 시작할까?
- 리스트 자르기
- 항목 수정하기
- 리스트에 넣는 다른 방법
- 리스트에서 삭제하기
- 리스트에서 찾기
- 리스트 순회하기
- 리스트 정렬하기
- 변경 가능한 것과 변경 불가능한 것
- 리스트의 리스트: 데이터 테이블

13장 함수

- 함수 - 블록 쌓기
- 함수 호출하기
- 함수에 인자 넘기기
- 인자가 여러 개인 함수
- 값을 돌려주는 함수
- 변수의 범위
- 전역 변수 사용하기
- 변수명 짓기에 대한 조언-

14장 객체

- 실생활의 객체
- 파이썬의 객체
- 객체 = 속성 + 메서드
- 점(.)은 뭐하는 거지?
- 객체 만들기
- 예제 클래스 - HotDog
- 데이터 숨기기
- 다형성과 상속
- 앞서서 생각하기

15장 모듈

- 모듈이란?
- 왜 모듈을 사용할까?
- 블록을 담는 통
- 어떻게 모듈을 만들지?
- 모듈은 어떻게 사용할까?
- 이름공간
- 표준 모듈

16장 그래픽

- 도움 얻기 - 파이게임(Pygame)
- 파이게임 창
- 창안에 그리기
- 픽셀 다루기
- 이미지
- 움직여 보자!
- 애니메이션
- 부드러운 애니메이션
- 공 튀기기
- 공 화면에서 넘기기

17장 스프라이트와 충돌검사

- 스프라이트
- 쿵! 충돌검사
- 시간 계산

18장 새로운 방식의 입력 - 이벤트

- 이벤트
- 키보드 이벤트
- 마우스 이벤트
- 타이머 이벤트

19장 사운드

- 파이게임(Pygame)에서 도움 얻기 - mixer
- 사운드 만들기와 사운드 재생하기
- 사운드 재생
- 음량 조절
- 음악 반복하기
- PyPong에 사운드 넣기
- 더 재밌는 사운드
- PyPong에 음악 넣기

20장 GUI 더 알아보기

- 파이썬카드로 작업하기
- 구성요소
- GUI가 작동하게 만들기
- 이벤트 처리기의 귀환
- 버튼 움직이기
- 좀 더 유용한 GUI
- TempGUI

21장 출력 형식과 문자열

- 새로운 줄
- 수평 공간 - 탭
- 문자열에 변수 삽입하기
- 숫자 형식
- 문자열 조작하기

22장 파일 입력과 출력

- 파일이란?
- 파일명
- 파일 위치
- 파일 열기
- 파일 읽기
- 텍스트 파일과 이진 파일
- 파일 쓰기
- 파일로 저장하기 - pickle
- 게임을 위한 시간 - 행맨(Hangman)

23장 기회를 잡아라 - 무작위

- 무작위란?
- 주사위 굴리기
- 카드 패 만들기
- Crazy Eights

24장 컴퓨터 시뮬레이션

- 현실세계 모델링하기
- 달 착륙선
- 시간 관리
- 시간 객체
- 파일에 시간 저장하기
- 가상 애완동물

25장 더 공부할 내용

- 일반적인 프로그래밍
- 파이썬
- 게임 프로그래밍과 파이게임(Pygame)
- 파이썬의 다른 모듈
- 둘러보기

부록A 변수명 규칙

부록B 모범답안