2장 자바스크립트 블록 에디터를 이용한 프로그래밍 37
2-1 자바스크립트 블록 에디터에 대해서 40
2-1-1 자바스크립트 블록 에디터의 개요 40
2-1-2 자바스크립트 블록 에디터의 구조 43
2-2 자바스크립트 블록 에디터와 코딩 블록 45
2-2-1 자바스크립트 블록 에디터의 코딩 블록 45
2-3 Hello World! 프로그래밍 71
2-3-1 새로운 프로젝트의 생성과 삭제 71
2-3-2 Hello World! 프로그래밍 72
2-3-3 BBC micro:bit에서 실행하기 77
2-4 자바스크립트와 Hello World! 프로그래밍 80
2-4-1 자바스크립트 블록 에디터와 자바스크립트 코딩 80
2-4-2 자바스크립트를 이용한 Hello World! 프로그래밍 80
2-4-3 “기본(Basic)” 코딩 블록의 “문자열 표시” 함수 81
2-4-4 사용자 정의 함수 82
3장 누르고 밝히고…(버튼과 LED) 88
3-1 버튼을 눌러요! 90
3-1-1 사용자와의 인터랙션과 버튼의 사용 90
3-1-2 버튼 감지를 위한 프로그래밍 91
3-1-3 블록의 복제와 삭제 92
3-2 하트 뿅뿅~: 5×5 LED 매트릭스와 패턴 94
3-2-1 5×5 LED 매트릭스를 위한 하트 패턴 94
3-2-2 하트 깜빡이기: 블링킹(Blinking) 96
3-2-3 5×5 LED 매트릭스의 밝기 설정 97
3-3 심장이 두근두근: 스프라이트와 애니메이션 100
3-3-1 스프라이트 100
3-3-2 심장이 두근두근 101
3-4 자바스크립트에서의 버튼과 LED 제어 104
3-4-1 자바스크립트와 버튼 제어 104
3-4-2 자바스크립트와 LED의 밝기 설정 107
3-4-3 자바스크립트와 애니메이션 110
4장 노래를 불러라~ 114
4-1 소리와 스피커/피에조 부저 116
4-1-1 소리 116
4-1-2 스피커와 피에조 부저 118
4-2 도레미파~ : 계이름의 출력 120
4-2-1 BBC micro:bit와 스피커의 연결 120
4-2-2 블록(Blocks)을 이용한 소리의 출력 122
4-3 학교종이 땡땡땡~ : 곡을 연주해요 126
4-3-1 악보 : 음표, 쉼표 그리고 박자 126
4-3-2 학교종을 울려봐요 127
4-4 자바스크립트와 소리의 출력 131
4-4-1 자바스크립트의 음악 관련 함수 131
4-4-2 자바스크립트의 사운드 출력 132
2부 BBC micro:bit 프로그래밍
5장 프로그래밍 로직과 반복문 144
5-1 프로그래밍 로직 설계와 순서도 147
5-1-1 절차적 프로그래밍 147
5-1-2 순서도 149
5-2 반복문: repeat, while, for, forever 151
5-2-1 반복문 151
5-2-2 “반복(repeat)” 블록을 사용한 반복 152
5-2-3 “for” 블록의 반복을 사용한 LED 켜기 154
5-2-4 2중 “for” 블록 159
5-2-5 “for” 블록의 반복을 사용한 LED 끄기 164
5-3 이미지와 스크롤링 166
5-3-1 이미지 166
5-3-2 이미지의 스크롤 167
5-4 자바스크립트와 순환문 170
5-4-1 자바스크립트의 순환문 170
5-4-2 자바스크립트와 “for” 함수 171
5-4-3 이미지를 이용한 스크롤링 173
5-4-4 “break” 문과 “continue” 문 175
6장 제어와 분기 181
6-1 엄마가 좋아, 아빠가 좋아?: 조건문(if) 183
6-1-1 조건문 183
6-1-2 블록에서의 조건문의 처리(“if ” 블록) 183
6-1-3 “if” 블록의 또 다른 옵션(“if ~ else” 문) 188
6-2 제어 로직 190
6-2-1 조건의 판단과 비교 연산자 190
6-2-2 논리 연산자 194
6-3 비교하고 또 비교하고(“if ~ else if” 문) 198
6-3-1 “if ~ else if” 문 198
6-3-2 숫자에 따른 요일의 출력 199
6-4 자바스크립트와 제어 로직 201
6-4-1 자바스크립트의 제어 로직 201
6-4-2 “if ” 문 203
6-4-3 “if ~ else if” 그리고 “if ~ else” 문 205
6-4-4 “if ~ else” 문과 “switch ~ case” 문 208
7장 수학과 코딩 213
7-1 변수 216
7-1-1 컴퓨터 구조와 메모리 216
7-1-2 변수의 사용 217
7-1-3 배열의 사용 219
7-2 사칙 연산과 나머지 구하기 223
7-2-1 사칙 연산 223
7-2-2 나머지 구하기 228
7-2-3 팩토리얼(factorial) 230
7-3 온도 변환기(섭씨 ⇔ 화씨) 234
7-3-1 섭씨와 화씨 234
7-3-2 온도 변환기의 작성 235
7-4 자바스크립트와 수학 238
7-4-1 자바스크립트의 수학과 변수의 사용 238
7-4-2 A4 종이 규격의 비밀 239
7-4-3 A 사이즈의 종이 크기를 구하는 프로그래밍 240
7-4-4 증감 연산자와 return 문 246
7-4-5 비트 연산 248
7-4-6 시프트 연산 252
8장 센서와 입력 257
8-1 게임과 가속도 센서 259
8-1-1 게임 코딩 블록 259
8-1-2 폭탄 피하기 게임 260
8-1-3 가속도 센서의 사용 266
8-2 수평을 맞춰요~ 268
8-2-1 수평계 268
8-2-2 온도계를 만들어봐요 271
8-3 방위 센서를 이용한 나침반 272
8-3-1 동서남북 272
8-3-2 나침반을 만들어봐요 273
8-4 자바스크립트를 이용한 게임과 센서 276
8-4-1 위~ 아래~ 위위아래아래~ 276
8-4-2 자바스크립트를 이용한 레이싱 게임 프로그래밍 278
3부 BBC micro:bit를 이용한 사물인터넷 프로젝트
9장 뱀 주사위 놀이 296
9-1 뱀 주사위 놀이 298
9-1-1 보드게임 298
9-1-2 뱀 주사위 놀이 299
9-2 주사위 표시 300
9-2-1 주사위 300
9-2-2 주사위 만들기 301
9-3 흔들~ 흔들~ 흔들어~ 305
9-3-1 사용자 경험 305
9-3-2 흔들기 감지 306
9-4 자바스크립트와 가위바위보 307
9-4-1 가위바위보 게임 307
9-4-2 자바스크립트와 함수의 사용 311
10장 손에 손잡고 319
10-1 BBC micro:bit와 외부 단자 322
10-1-1 BBC micro:bit에서 제공하는 단자들 322
10-1-2 링 단자의 사용 323
10-1-3 전도성 실과 펜 324
10-1-4 전기의 흐름과 전도체 실험 325
10-2 과일 키보드 330
10-2-1 과일을 이용한 키보드 330
10-2-2 과일 키보드를 위한 코드 작성 331
10-2-3 손에 손잡고 333
10-3 웨어러블: 블루투스와 스마트폰 336
10-3-1 웨어러블 336
10-3-2 블루투스를 통한 스마트폰과의 연동: 디바이스 코딩 블록 338
10-3-3 날 찾아봐요(catch me if you can) 343
10-4 자바스크립트의 핀 제어 344
10-4-1 자바스크립트의 핀 제어 관련 함수 344
10-4-2 자바스크립트를 이용한 디지털 반려동물 345
10-4-3 모바일과의 연동 348
11장 BBC micro:bit로 하는 전자 실험 352
11-1 발광 다이오드와 신호등 만들기 354
11-1-1 발광 다이오드 354
11-1-2 BBC micro:bit와 발광 다이오드의 사용 355
11-1-3 신호등을 만들어봐요 356
11-2 터치 게임: 알루미늄 테이프 360
11-2-1 알루미늄 테이프 360
11-2-2 터치 게임 360
11-3 M2M: micro:bit to micro:bit 367
11-3-1 M2M 367
11-3-2 BBC micro:bit 간의 통신 367
11-3-3 블루투스를 이용한 BBC micro:bit 간의 통신 370
11-4 자바스크립트와 백그라운드 처리, 그리고 시리얼 입출력 372
11-4-1 자바스크립트와 백그라운드 처리 372
11-4-2 자바스크립트와 시리얼 입출력 377
12장 확장을 위한 연결 381
12-1 기초 전자공학과 브레드보드 383
12-1-1 전자 회로 383
12-1-2 브레드보드 384
12-1-3 다양한 전자부품 386
12-2 BBC micro:bit와 센서의 사용 389
12-2-1 스위치 389
12-2-2 빛 감지(조도) 센서의 사용 391
12-3 액추에이터와 모터의 연결 397
12-3-1 액추에이터 397
12-3-2 서보 모터의 제어 398
12-4 자바프로젝트와 디바이스의 연동 401
12-4-1 가변 저항과 BBC micro:bit의 연결 401
12-4-2 가변 저항의 값 읽기 403
찾아보기 407