책 소개
프로그래밍 언어 입문서가 아닌 프로그래밍 기초 개념 입문서
이 책은 특정 프로그래밍 언어의 입문서가 아닙니다. 프로그래밍의 기초 개념은 특정 언어에 종속되지 않습니다. 오히려 데이터를 저장하는 법, 데이터의 값에 따라 프로그램의 행동을 바꾸는 법, 동일한 일을 여러 번 반복하는 법 등이 프로그래밍의 기초 중의 기초입니다. 이 책은 프로그래밍의 기초 개념을 알려드립니다.
프로그래밍의 명령어의 사전적 의미부터 차근차근 알려주며, 실습 코드와 각 장 마지막에 있는 게임 프로그래밍을 통해 기초 개념을 완벽히 자신의 것으로 학습할 수 있습니다. 또한 배운 내용을 정리하는 코너와 기초문제, 심화문제가 있어 각 장에서 알려준 기초 개념을 확실히 이해할 수 있도록 도와줍니다
누구를 위한 책인가요?
프로그래밍을 전혀 경험해보지 못한 비전공자(중·고등학생, 대학생, 일반인)
프로그래밍의 개념을 익히고자 하는 사람
프로그래밍에 관심이 있는 이공계 학생
- 실습 위주 + 게임 프로그램 완성
저자의 오랜 강의 경험으로 코드를 작성한 다음 막히는 곳에서 이론을 찾아보고 해결하는 학습 방법으로 구성했습니다. 왜냐하면, 이렇게 문제를 해결하기 위해 찾아본 이론이 더 오래 기억에 남기 때문입니다. 따라서 이 책은 실습 위주로 구성되어 있고 코드를 하나씩 따라 하다 보면 자연스럽게 프로그래밍의 기초 개념을 익힐 수 있을 겁니다. 그래서 이 책에서는 내용을 설명하기 위한 예제 외에도 아주 간단한 게임을 만드는 방법도 실려있습니다. 각 장에서 새로 배운 내용을 하나씩 추가하다 보면 어느덧 게임이 완성되고 이 게임은 각 장의 내용을 정리하고 복습하는 역할을 할 것입니다.
- 프로그래밍 명령어의 사전적 의미부터 설명
이 책에서 프로그래밍의 개념을 설명하는 방식은 다른 책들과는 조금 다를 겁니다. 특히 새로운 명령어가 나올 때마다 영어 단어의 뜻부터 설명하는 건 많이 생소할 거 같군요. 하지만 이런 방식을 택한 이유는 간단합니다. 한국어나 영어 같이 프로그래밍 언어도 하나의 언어이기 때문이죠. 단어와 문법이 있고 자주 사용하는 관용구도 있는 그런 언어요. 그럼 왜 굳이 영어 단어를 가지고 설명을 하냐고요? 그건 프로그래밍 언어를 주도적으로 개발해온 주체가 영어권 사용자들이기에 널리 쓰이는 프로그래밍 언어들이 다 영어를 기반으로 하기 때문입니다.
- 기초문제와 심화문제
한 장을 끝낸 다음에는 게임만이 아니라 쉬운 기초문제를 풀면서 학습을 마무리할 수 있게 도왔습니다. 기초문제의 풀이는 마지막 부록에 실려 있습니다. 기초문제 다음으로 나오는 심화문제는 따로 풀이를 공개하지 않았습니다. 프로그래밍에는 정답은 없는데 풀이를 공개하면 마치 정답인냥 받아들이게 됩니다. 심화문제는 따라서 독자의 도전 과제로 남겨두고 따로 풀이를 제공하지 않습니다. 문제를 풀다가 막힐 때에는 저자의 블로그(http://kblog.popekim.com/)나 도서의 카페(http://cafe.naver.com/codinghello)에서 막히는 부분을 물어보시면 됩니다.
작가 소개
저 : Pope Kim
10년 이상 경력의 렌더링 전문 프로그래머. 연세대학교 법학과와 캐나다 브리티시컬럼비아 대학교 공과대학을 졸업한 뒤, EA, 렐릭 엔터테인먼트, 스퀘어에닉스(에이도스) 등 세계 유수의 게임 개발사에서 선임그래픽프로그래머로 근무했으며, 밴쿠버 예술대학, 시그래프, KGC 등에서 강연하기도 했다. 20개 이상의 다양한 콘솔 게임에 참여했으며, 엑스박스 원 및 플레이스테이션 4용 〈FIFA 14〉를 마지막으로 게임계를 떠나 새로운 분야를 개척하고 있다. 마이크로소프트 Visual C++ MVP로도 왕성히 활동 중이며, BCIT 공대 컴퓨터공학 교수 및 Gluwa CTO로 활약하고 있다. 저서로 『쉐이더 프로그래밍 입문』(한빛미디어, 2012)가 있으며, 『게임개발자를 위한 물리』(한빛미디어, 2015)를 번역했다.
목 차
__01 프로그램과 프로그래밍이란 무엇인가?
__02 프로그래밍 환경 설정
__03 프로젝트 생성과 화면 구성
__04 빌드 및 실행
chapter 2 화면에 글자를 보여주려면, 출력문
__01 프로그램 만들기
__02 화면에 글자 출력하기
__99 숫자야구
__기초문제 / 심화문제
chapter 3 값을 바꿀 필요가 없다면, 상수(그리고 값의 종류)
__01 상수란 무엇인가?
__02 상수의 종류
__03 상수에 이름을 붙이자
__04 왜 상수에 이름을 붙일까?
__99 숫자야구
__기초문제 / 심화문제
chapter 4 내 맘대로 값을 바꾸고 싶다면, 변수 그리고 연산
__01 컴퓨터란 무엇인가?
__02 사칙연산, 연산의 기본
__03 문자열 연산
__04 변수란 무엇인가?
__05 디버깅: 버그를 잡아보자
__99 숫자야구
__기초문제 / 심화문제
chapter 5 실행 중인 프로그램에 명령을 내리려면, 키보드 입력
__01 입력이 필요한 이유?
__02 키보드 입력
__03 문자열 변환
__99 숫자야구
__기초문제 / 심화문제
chapter 6 상황에 따라 결과가 달라야 한다면, 조건문
__01 조건문이 필요한 이유?
__02 비교연산자
__03 만약 그렇다면
__04 만약 그렇지 않다면
__05 논리연산
__99 숫자야구
__기초문제 / 심화문제
chapter 7 수많은 변수를 손쉽게 관리하려면, 배열
__01 변수가 많아지면 복잡해져요
__02 배열
__03 컨테이너
__99 숫자야구
__기초문제 / 심화문제
chapter 8 같은 코드를 여러 번 실행하려면, 반복문 while
__01 같은 코드를 여러 번 실행하고 싶어요
__02 ~하는 동안
__03 반복문 빠져나오기
__99 숫자야구
__기초문제 / 심화문제
chapter 9 반복횟수가 정해져 있다면, 반복문 for
__01 while문으로 반복횟수가 정해진 코드 작성
__02 for문으로 반복횟수가 정해진 코드 작성
__03 이중 for문
__99 숫자야구
__기초문제 / 심화문제
chapter 10 언제나 똑같으면 재미가 없으니, 랜덤
__01 게임: 예측을 못 해야 재미있어요
__02 랜덤
__99 숫자야구
__기초문제 / 심화문제
__기초문제 풀이
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
| 반품사유 | 반품 배송비 부담자 |
|---|---|
| 단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
| 고객 부담이 아닙니다. |
| 진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
|---|---|---|---|
| 어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
| 환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
| 결제수단 | 환불시점 | 환불방법 |
|---|---|---|
| 신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
| 계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
| 휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
| 포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
| 상품군 | 취소/반품 불가사유 |
|---|---|
| 의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
| 계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
| 가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
| 자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
| CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
| 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
| 노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |










