CHAPTER 01. 소프트웨어와 스크래치 알아보기
1. 소프트웨어
- 하드웨어와 소프트웨어의 개념
- 소프트웨어의 종류
- 넓은 의미의 소프트웨어의 개념
2. 프로그램과 프로그래밍 언어
- 프로그램, 프로그래머, 프로그래밍의 관계
- 프로그래밍 언어의 종류
- 프로그램의 해석과 실행
- 프로그래밍 언어와 스크래치의 관계
3. 스크래치의 특징과 실행 방법
- 스크래치의 특징
- 스크래치의 실행 방법
- 스크래치의 화면 구성
4. 문제 한번 풀어볼까요?
CHAPTER 02. 블록 사용법 익히기
1. 스크래치 블록의 종류와 사용법
- 스크래치 블록의 종류
- 스크래치 블록의 조작 방법 익히기
2. 스크래치 프로그래밍 전 과정
- 맛보기 프로그램의 소개
- 프로그램 단계별로 작성하기
3. 문제 한번 풀어볼까요?
CHAPTER 03. 스프라이트 사용법 익히기
1. 스프라이트의 구현 방식
- 스프라이트의 개념과 예
- 스프라이트의 그래픽 구현 방식 설정하기
- 스프라이트의 행동 구현 방식
2. 스프라이트의 동작 구현
- 스프라이트의 동작 블록
- 스프라이트의 위치 이동하기
- 스프라이트 모양의 중심 변경하기
- 스프라이트가 바라보는 방향 변경하기
- 스프라이트 회전하기
- 스프라이트의 다양한 동작 구현하기
3. 스프라이트의 형태 구현
- 스프라이트의 애니메이션 구현하기
- 스프라이트의 모양 추가하기
- 스프라이트의 모양 결합하기
- 스프라이트를 다양한 형태로 변경하기
4. 스프라이트의 소리 구현
- 스프라이트의 소리 설정하기
- 다양한 소리 출력하기
- 악보에 맞춰 연주하기
5. 스프라이트의 펜 활용
- 스프라이트로 선 그리기
- 선이 그려지는 위치 변경하기
- 스프라이트로 도장 찍기
6. 문제 한번 풀어볼까요?
CHAPTER 04. 자료형과 연산, 변수 익히기
1. 자료형, 연산, 변수
- 자료의 개념
- 자료형의 개념과 종류
- 자료형 확인하기
- 연산의 종류
- 변수의 개념
- 변수의 종류
- 변수 생성하고 활용하기
- 주석의 개념
- 주석 활용하기
2. 지역 변수와 전역 변수
- 지역 변수와 전역 변수의 개념
- 지역 변수와 전역 변수 생성하기
3. 구조적 자료형 : 배열과 리스트
- 구조적 자료형의 개념
- 배열의 개념
- 리스트의 개념
- 리스트 생성하고 활용하기
4. 문제 한번 풀어볼까요?
CHAPTER 05. 조건과 문장 제어 익히기
1. 조건의 이해
- 명제, 조건, 관계식, 논리식의 개념
- 프로그램과 조건
- 조건 활용하기
2. 문장의 이해
- 프로그램 문장의 개념
- 문장 활용하기
3. 문장의 반복적 실행
- 반복적 실행 방식의 종류
- 반복적 실행 제어 블록
- 1부터 무한히 숫자 세기
- 1부터 입력받은 숫자까지 세기
- 1 더해서 입력받은 수보다 커지는 수 구하기
4. 문장의 선택적 실행
- 선택적 실행 방식의 종류
- 선택적 실행 제어 블록
- 나이에 따라 입장료 할인하기
- 조건에 따라 놀이기구 이용 허용하기
- 짝수와 홀수 구별하기
- 3과 5의 공배수 구별하기
5. 반복과 선택의 중첩 실행
- 동전을 10개씩 묶어 정리하기
- 구구단 외우기
- 6의 배수 검사하기
- 놀이공원 입장료 계산하기
- q를 입력할 때까지 짝수와 홀수 구별하기
- 369 게임하기
6. 문제 한번 풀어볼까요?
CHAPTER 06. 프로시저(함수)와 병렬 처리 익히기
1. 프로시저의 개념과 구현
- 프로시저의 개념
- 프로시저의 호출과 실행
- 프로시저의 인자와 매개변수
- 프로시저의 지역 변수
- 프로시저의 반환값
- [움직이기] 프로시저 구현하기
- [사칙연산하기] 작업 구현하기
2. 병렬 처리의 개념과 구현
- 병렬 처리를 위한 멀티 태스킹과 멀티 스레딩
- 병렬 처리 개념 구현하기
- 개가 고양이를 쫓게 하기
- 드럼 연주에 맞춰 소녀 춤추게 하기
3. 문제 한번 풀어볼까요?
CHAPTER 07. 컴퓨팅 사고력과 프로그래밍
1. 컴퓨팅 사고력의 개념
- 추상화의 개념과 구현
- 추상화의 개념
- 스크래치에서의 추상화
2. 분해의 개념과 구현
- 분해의 개념
- 계층적 관계를 이용해 [외식하기] 작업 구현하기
3. 패턴인식의 개념과 구현
- 패턴인식의 개념
- 스크래치에서의 패턴인식
- q를 입력할 때까지 짝수와 홀수의 합 계산하기
- 격자의 합 계산하기
4. 알고리즘의 개념과 활용
- 알고리즘의 개념
- 알고리즘의 표현 방법
- 알고리즘의 성능
- 유클리드의 최대공약수 구하기
5. 문제 한번 풀어볼까요?
CHAPTER 08. 관찰을 활용한 응용 프로그래밍
1. 관찰의 이해
- 관찰 기능
- 관찰 블록
2. 관찰 응용 프로그래밍
- 키보드로 쥐 조정하기
- 마우스를 클릭하면 고양이가 등장해 쥐 쫓게 하기
- 고양이가 쥐 잡게 하기
- 쥐가 바다에 빠지면 죽게 하기
- 고양이가 마우스로 클릭한 위치에 나타나게 하기
- 쥐가 다가오면 고양이가 쫓게 하기
3. 카메라와 마이크 응용 프로그래밍
- 카메라와 마이크 기능
- 고양이를 때리면 울게 하기
- 고양이가 사람 손을 피해 도망가게 하기
- 손동작으로 무대 바꾸기
- 소리에 따라 고양이가 달리는 속도가 달라지게 하기
4. 문제 한번 풀어볼까요?
CHAPTER 09. 이벤트를 활용한 응용 프로그래밍
1. 이벤트 처리와 메시지 방송
- 이벤트
- 이벤트 처리 블록
2. 이벤트 응용 프로그래밍
- 키보드로 쥐 조정하기
- 고양이가 쥐를 쫓게 하기
- 쥐가 30초 이상 잡히지 않으면 이기게 하기
- 쥐가 이기면 고양이가 포기하게 하기
- 고양이가 야옹 소리를 내며 쥐를 쫓게 하기
- 승자에 따라 배경과 배경음악 변경하기
- 고양이가 친구를 불러 쥐를 함께 쫓게 하기
3. 비디오와 오디오 이벤트 응용 프로그래밍
- 비디오 동작 이벤트
- 공을 손으로 건들면 사라지게 하기
- 공을 소리로 사라지게 하기
4. 문제 한번 풀어볼까요?
CHAPTER 10. 복제, 난수, 재귀 호출을 활용한 응용 프로그래밍
1. 복제의 개념과 활용
- 복제의 개념
- 복제 블록
- 고보가 마우스 포인터를 쫓아다니게 하기
- 화살로 풍선 맞히기
2. 난수의 개념과 활용
- 난수의 개념
- 난수 생성 블록
- 고보가 임의의 방향으로 움직이게 하기
- 난수를 활용한 화살로 풍선 맞히기
3. 재귀호출의 개념과 활용
- 재귀호출의 개념
- 반환값 기능 유무에 따른 재귀 프로시저
- 임의의 양의 정수까지 더하기
- 팩토리얼 구하기
4. 문제 한번 풀어볼까요?
CHAPTER 11. 프로그램 개발 과정 이해하기
1. 프로그램의 생명주기
- 프로그램 생명주기의 개념
- 프로그램 생명주기 모델
2. 요구사항 분석의 개념과 예
- 요구사항 분석의 개념
- 요구사항 분석의 예
3. 프로그램 테스팅의 개념과 예
- 프로그램 테스팅의 개념
- 테스트케이스의 개념과 예
4. 요구사항 분석과 테스팅 연습
- 요구사항 분석하기
- 테스트케이스 설계하기
- 삼각형 종류 구별하기 프로그램 테스트하기
5. 문제 한번 풀어볼까요?
CHAPTER 12. 창의 게임 프로그래밍
1. 게임의 개념과 종류
- 게임의 개념
- 컴퓨터 게임의 종류
2. 다양한 게임 기능의 구현
- 키보드 키들의 조합 처리하기
- 키보드 키와 마우스 버튼의 조합 처리하기
- 키보드 키의 누름 상태 처리하기
- 스프라이트들 간 충돌 처리하기
- 스프라이트들의 결합 처리하기
- 중력에 의한 움직임 구현하기
3. 공을 던져 개를 맞히는 게임 프로그래밍
- 게임 구상하기
- 스프라이트 구성하기
- 스크립트 작성하기
4. 문제 한번 풀어볼까요?
CHAPTER 13. 창의 인터랙티브 스토리 프로그래밍
1. 인터랙티브 스토리의 개념과 진행 구조
- 인터랙티브 스토리의 개념
- 인터랙티브 스토리의 진행 구조
2. 인터랙티브 스토리의 씬 진행과 씬 전환
- 씬 진행자와 씬 진행 방식
- 씬 전환 구현하기
3. 인터랙티브 스토리의 대화 처리
- 대화 진행 방식
- 대화 진행 구현하기
- 효과적으로 대화 관리하기
4. 친구와의 만남 인터랙티브 스토리 프로그래밍
- 씬 구성하기
- 스프라이트 구성하기
- 스크립트 작성하기
5. 문제 한번 풀어볼까요?
APPENDIX A. 창의 응용 프로그램 모음
1. 상어 잡는 잠수부
- 프로그램 구상하기
- 스프라이트, 무대 배경, 변수, 소리 준비하기
- 스크립트 작성하기
2. 달려라 풍뎅이
- 프로그램 구상하기
- 스프라이트, 무대 배경, 변수, 소리 준비하기
- 스크립트 작성하기
3. 중력에 의해 떨어지는 헬리콥터
- 프로그램 구상하기
- 스프라이트, 무대 배경, 변수, 소리 준비하기
- 스크립트 작성하기
4. 나의 5색 그림판
- 프로그램 구상하기
- 스프라이트, 무대 배경, 변수 준비하기
- 스크립트 작성하기
APPENDIX B. 스크래치 블록 모음