ISBN 9784339028980
micro:bitで学ぶプログラミング : ブロック型からJavaScriptそしてPythonへ
概要
micro:bitを題材にブロック・JavaScript・Pythonを段階的に習得する
想定読者
プログラミング未経験または初心者で、ハードウェアを使いながら言語の変遷を体系的に学びたい高校・大学生、および情報科の授業を担当する教員
こんな人には向いていない
- JavaScriptやPythonをすでに実務で使っている開発者には内容が初歩的すぎる
- ソフトウェア開発のベストプラクティスやコードの品質管理を学ぶ目的には適さない
- micro:bit実機を用意できない環境での利用は演習の多くを活かしにくい
読了後にできるようになること
- ブロック型プログラミングを起点に、同等のJavaScriptコードへの対応を読み解く力
- 繰返し・分岐・関数・配列といった制御構造の概念と実装を言語横断で理解する
- 加速度・地磁気・光・音など各種センサを組み合わせた計測・制御プログラムの作成
- 無線通信を使った複数デバイス間の連携プログラムを設計・実装する手順
- 探索・整列・ハノイの塔など古典アルゴリズムをmicro:bitで動かしながら学ぶ方法
- 暗号通信・エラー検出など通信の基礎をプログラムと対応付けて理解する
本書のキー概念(章解説)
- 第 1 章 プログラミングの基礎 — ブロック操作→JavaScript並記という構成で、言語の対応関係を最初から意識させる出発点
- 第 2 章 プログラミングの応用(関数・配列) — じゃんけんゲームや数あてゲームという具体題材で関数・配列を定着させる実習が中心
- 第 3 章 センサによる計測・制御プログラム — 実機の5種のセンサを全て扱うため、ハードウェア制御の入口として最も実体験的な章
- 第 4 章 無線通信を利用したプログラム — 複数台のmicro:bitが必要だが、IoT・分散制御の基礎概念を体感できる
- 第 5 章 アルゴリズムとプログラム — 探索・整列・ハノイの塔と古典的題材が揃っており、CS基礎の補完として活用できる
- 第 6 章 通信とプログラム — アドレッシング・暗号通信・エラー検出を扱い、ネットワーク教育の入門として使える
- 第 7 章 総合問題 — 複数台連携・不具合解析など応用課題を集約。授業の最終課題素材として活用しやすい
ハイライト
- ブロックを利用したプログラム作成手順を詳しく記述するとともに、JavaScriptのプログラムを併記し、言語にも慣れることを意識して解説。MicroPythonの互換プログラムも準備。(本書の最大の特徴であるブロック→JS→Python三段階の対応関係が端的に示されている)
- 付録にブロック、JavaScript、MicroPython対応表を収録し、同一処理の三言語表記を一覧で参照できる構成としている。(付録の対応表は言語切り替えを素早く確認できる実用的なリファレンスとして機能する)
編集メモ
Qiita言及記事は入力に含まれず、楽天ランキング情報も未取得。書誌情報のみによる判定のため、外部シグナル不足でsupplementaryとする
読む前に押さえておきたいこと
- パソコンの基本操作とファイル管理の経験
- micro:bit実機またはシミュレータへのアクセス環境
- プログラミング言語の事前知識は不要(完全未経験を想定した構成)
学習のコツ
- ブロック型に慣れている読者は1章を素早く進め、2章以降のゲーム題材で関数・配列の使い方を手を動かして確認するとペースが上がる
- 付録3のブロック・JavaScript・MicroPython対応表を手元に置きながら読み進めると、同一処理の三言語対応が自然に頭に入る
- 5章(アルゴリズム)は独立性が高く、CS基礎を別途学んでいる場合はセンサ章より先に読んでも理解できる
- 7章の総合問題は「不具合問題」など実務的なデバッグ演習を含むため、授業の最終課題として用いると実践力の評価に使いやすい
- MicroPythonへの移行を主目的にしている読者は、付録2(Pythonでの利用)と付録4(JavaScriptプログラム集)を先に確認し、どこまでカバーされるかを把握してから本文を読むと効率的
出版社による内容紹介
初めてのプログラミングを想定し,ブロックを利用したプログラム作成手順を詳しく記述するとともに,JavaScriptのプログラムを併記し,言語にも慣れることを意識して解説。MicroPythonの互換プログラムも準備。 ★主要目次★ 1. プログラミングの基礎  1.1 micro:bitの基本操作  1.2 プログラムの基礎(順次,繰返し)  1.3 プログラムの基礎(分岐) 2. プログラミングの応用(関数,配列)  2.1 じゃんけんゲーム  2.2 数あてゲーム  2.3 グラフの作成  2.4 10進数から2進数への変換 3. センサによる計測・制御プログラム  3.1 micro:bitの各種センサと制御  3.2 音センサを使った音の制御  3.3 傾きセンサを使った計測・制御  3.4 地磁気センサを使った計測・制御  3.5 光センサを使った計測・制御 4. 無線通信を利用したプログラム  4.1 無線通信の利用  4.2 無線通信を利用したじゃんけんゲーム  4.3 信号機の制御  4.4 無線通信による信号機の制御 5. アルゴリズムとプログラム  5.1 探索  5.2 整列  5.3 ハノイの塔  5.4 自動販売機の状態遷移図 6. 通信とプログラム  6.1 通信の基本  6.2 ネットワークにおけるアドレッシング  6.3 暗号通信  6.4 エラー検出 7. 総合問題  7.1 信号機(スクランブル交差点)  7.2 じゃんけんゲーム(3人対戦)  7.3 ハノイの塔(複数台による表示)  7.4 通信プログラム(不具合問題) 付録1 情報教育の動向と情報科教育 付録2 Pythonでの利用 付録3 ブロック,JavaScript,MicroPython対応表 付録4 JavaScriptプログラム集 1. プログラミングの基礎 1.1 micro:bitの基本操作 1.2 プログラムの基礎(順次,繰返し) 1.3 プログラムの基礎(分岐) 演習問題 2. プログラミングの応用(関数,配列) 2.1 じゃんけんゲーム 2.2 数あてゲーム 2.3 グラフの作成 2.4 10進数から2進数への変換 演習問題 3. センサによる計測・制御プログラム 3.1 micro:bitの各種センサと制御 3.2 音センサを使った音の制御 3.3 傾きセンサを使った計測・制御 3.4 地磁気センサを使った計測・制御 3.5 光センサを使った計測・制御 演習問題 4. 無線通信を利用したプログラム 4.1 無線通信の利用 4.2 無線通信を利用したじゃんけんゲーム 4.3 信号機の制御 4.4 無線通信による信号機の制御 演習問題 5. アルゴリズムとプログラム 5.1 探索 5.2 整列 5.3 ハノイの塔 5.4 自動販売機の状態遷移図 演習問題 6. 通信とプログラム 6.1 通信の基本 6.2 ネットワークにおけるアドレッシング 6.3 暗号通信 6.4 エラー検出 演習問題 7. 総合問題 7.1 信号機(スクランブル交差点) 7.2 じゃんけんゲーム(3人対戦) 7.3 ハノイの塔(複数台による表示) 7.4 通信プログラム(不具合問題) 付録1 情報教育の動向と情報科教育 付録2 Pythonでの利用 付録3 ブロック,JavaScript,MicroPython対応表 付録4 JavaScriptプログラム集 引用・参考文献 練習問題・演習問題の解答 索引
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。