MakeCodeでプログラミングを学ぼう!!
沖縄マイクラ部 プログラミングスクール「クロスウェーブでは」、教育版マインクラフトのコードビルダーのMakeCode機能を利用したプログラミングレッスンをおこなっています。

MakeCodeとは?
MakeCodeとは何か — 教育とプログラミングの架け
Microsoft MakeCode(マイクロソフト・メイクコード) は、Microsoftが開発・提供している教育用プログラミング環境です。ブロックベースとテキストベースのプログラミングが可能で、主に初学者や小中学生を対象に設計されています。Webブラウザで動作し、特別なインストールは不要です。主な対象デバイスは、micro:bit(マイクロビット)、Minecraft: Education Edition、Arcade(ゲーム開発) などです。
特徴
1. ビジュアルプログラミング(ブロック)とJavaScript/Pythonの併用
MakeCodeは、Scratchのようなブロック型プログラミングに加えて、JavaScriptやPythonによるテキストコーディングもサポートしています。ブロックとテキストの相互変換が可能なため、初心者が段階的にコードに親しんでいく構成がされています。
2. リアルタイムシミュレータ
例えばmicro:bit用MakeCodeでは、ブラウザ内でデバイスのシミュレーターが動作し、コードの動作確認を即座に行えます。実機が手元になくても学習が進められるのが大きな利点です。
3. 多様なプラットフォームと連携
以下のような環境に対応しています。
- micro:bit: 小型の教育用マイコンボード。センサーやLED、Bluetoothなどを備える。
- Minecraft: Education Edition: ゲーム内での自動建築やイベント制御が可能。
- MakeCode Arcade: ドット絵ゲームの開発環境。レトロスタイルの2Dゲームを簡単に制作可能。
- Adafruit Circuit Playground Express や Chibi Chip など他の電子工作デバイスも対応。
4. オープンソース
MakeCodeはGitHub(https://github.com/microsoft/MakeCode)でソースコードが公開されており、コミュニティによる拡張が可能です。拡張機能の開発や独自エディタの作成も許容されています。
教育的価値
1. 段階的学習
初心者はブロックベースで論理構造を学び、中級者はテキストベースでアルゴリズムや構文に慣れることができます。ブロックとJavaScript/Pythonの切り替えができることにより、「視覚的理解」から「記述的理解」への移行が自然に行えます。
2. STEM教育への応用
MakeCodeは、STEM教育(Science, Technology, Engineering, Mathematics)の実践ツールとして各国の教育機関で導入されています。たとえば、micro:bitを使ったプロジェクトでは、物理(センサー)、数学(角度や時間の計測)、論理思考(条件分岐、ループ)などが統合的に学べます。
3. 協働・創造的学習の促進
MakeCodeは、個人学習のみならず、グループワークやプロジェクトベース学習(PBL)にも適しており、**「創る」「試す」「共有する」**という一連のサイクルが可能です。作成したコードはURLで共有でき、再利用や共同編集がしやすいのも特徴です。
利用方法と導入の簡便さ
1. Webブラウザで完結
MakeCodeはインストール不要で、以下のURLにアクセスするだけで使用可能です。
- micro:bit用: https://makecode.microbit.org/
- Arcade用: https://arcade.makecode.com/
- Minecraft用: https://minecraft.makecode.com/
ChromeやEdgeなど、主要ブラウザで動作します。
2. 日本語対応
UI(ユーザーインターフェース)は完全に日本語化されており、子どもや非英語圏ユーザーにも配慮されています。
3. オフライン版も利用可能
Web環境がない場合でも、オフラインエディタをインストールして使うことが可能です。
まとめ
Microsoft MakeCodeは、初心者にもわかりやすく、拡張性・実用性にも優れる教育用プログラミング環境です。ビジュアルプログラミングとテキストプログラミングの架け橋として、幅広い年齢層とスキルレベルに対応し、STEM教育の実践やプロジェクト学習を強力に支援します。
教育者にとっても、MakeCodeは「プログラミング教育を無理なく導入できるツール」として非常に有用であり、21世紀型スキルの育成に貢献するプラットフォームといえます。
MakeCodeでプログラミングを学ぶことのメリット
MakeCodeでプログラミングを学ぶことのメリット
1. MakeCodeとは何か
Microsoft MakeCodeは、子どもや初心者向けに開発されたプログラミング学習環境です。インストール不要でWebブラウザ上ですぐに使え、教育現場でも手軽に導入可能です。主に以下のプラットフォームに対応しています:
- micro:bit(小型マイコン)
- Minecraft: Education Edition
- MakeCode Arcade(2Dゲーム開発)
MakeCodeの特長は、ブロックによる視覚的なプログラミングとJavaScript/TypeScriptによるテキストコーディングの両方に対応している点です。これにより、初心者が挫折しにくく、段階的な学びが可能となります。
2. 直感的にアルゴリズムの基本を学べる
MakeCodeでは、命令ブロックをドラッグ&ドロップで組み合わせてプログラムを作成します。これにより、次のようなアルゴリズムの基本概念を、直感的に理解できます:
- 条件分岐(もし~なら)
- ループ(繰り返し処理)
- 変数と演算
- イベント駆動型の処理(ボタンを押したとき、など)
コードの文法エラーが起こりにくいため、「どうして動かないのか分からない」という初心者によくあるストレスを避け、思考力と論理性に集中できる環境を提供します。
3. シミュレーターで即時フィードバックが得られる
MakeCodeのほとんどのエディタには、仮想シミュレーターが備わっており、作成したプログラムの挙動をすぐに確認できます。
- micro:bitなら、LEDの表示や加速度センサーの反応などをブラウザ上で確認
- MakeCode Arcadeでは、実際のゲームをその場でプレイ可能
このように、即時フィードバックによって「試す→間違える→直す」のプロセスを素早く回せるため、試行錯誤を重ねながら論理的思考力を高めることができます。
4. テキストコーディングへの自然なステップアップ
MakeCodeでは、ブロックで作成したプログラムをボタンひとつでJavaScriptやTypeScriptのコードに変換することができます。これは、視覚的に理解したプログラム構造が、テキストではどのように表現されるかを学ぶのに非常に有効です。
また、テキスト→ブロックの変換も可能なため、徐々にコードに慣れていくステップアップ学習が実現します。これにより、小中学生が自然と「本格的なプログラミング言語」へ移行できる素地を養うことができます。
5. 興味を引き出す多様な応用分野
MakeCodeが対応しているプラットフォームは、学習者の興味に応じた柔軟な教材設計を可能にします。
- micro:bitでのIoTや物理現象の可視化
- Minecraftでの自動建築やゲーム内ロジックの制御
- Arcadeでの2Dゲーム開発によるクリエイティブ表現
こうした応用により、「なぜプログラミングを学ぶのか」という動機づけが明確になり、学習の継続性と実践的な応用力が自然と身につきます。
6. 教育現場での導入が容易
MakeCodeは以下の点から、教育現場での導入に非常に適しています:
- 無料で使用可能
- インストール・ログイン不要
- Chromebookやタブレットでも利用可能
- Microsoftの教育支援との親和性
さらに、MakeCodeは教育者向けのチュートリアルやカリキュラムも充実しており、プログラミング未経験の教員でも指導に取り組みやすくなっています。
7. まとめ:MakeCodeは初心者に最適なスタート地点
MakeCodeは、単なるプログラミング入門ツールにとどまらず、論理的思考力・問題解決能力・創造性といった21世紀型スキルを育成するための総合的な学習環境です。
- 視覚的に理解しやすい
- テキストコードへの移行もスムーズ
- 興味関心を引き出しやすい
- 教育現場への導入も簡単
これらの要素を兼ね備えているため、MakeCodeは、子どもから大人まで、プログラミング教育の最初の一歩として非常に有効なツールと言えるでしょう。

レッスンをはじめよう
このレッスンメニューは、教育版マインクラフトのコードビルダー(Code Builder)を使って、小学生が段階的に学びながら、最終的にはマイクラカップ全国大会レベルの作品を作れるプログラミング能力を身につけることを目指します。
コードビルダーとは?
教育版マインクラフトに組み込まれているプログラミング環境です。ゲーム内で「C」キーを押すだけで、すぐにプログラミングを始められます。ブロックを組み合わせて直感的にコードを作れるので、初心者でも安心です。
カリキュラム全体の設計思想
3つの学習軸
- 技術習得軸: プログラミングの基礎から高度な技術まで段階的に学習
- 作品制作軸: 学んだ技術を使って実際に動くものを作る実践力
- 問題解決軸: 自分でバグを見つけて直す力、効率的なコードを書く力
入門レベル(Lesson 1-5)- プログラミングの第一歩
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 01 | コードビルダーを開こう | インターフェース、実行ボタン | 簡単な挨拶メッセージ |
| Lesson 02 | ブロックを置いてみよう | player.onChat、blocks.place | 足元にブロック配置 |
| Lesson 03 | たくさん置いてみよう | blocks.fill、座標の基本 | 壁を作る |
| Lesson 04 | いろんなブロックで遊ぼう | ブロック種類の指定 | カラフルな床 |
| Lesson 05 | プレイヤーを動かそう | player.teleport | ジャンプ台 |
基礎レベル(Lesson 6-10)- 座標と変数の理解
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 06 | 座標ってなに? | X, Y, Z軸の概念 | 座標表示システム |
| Lesson 07 | 相対座標を使おう | ~を使った相対位置 | プレイヤーの周りに柵 |
| Lesson 08 | 変数の基本 | 変数の宣言と利用 | カウンター |
| Lesson 09 | 計算してみよう | 四則演算 | 自動計算機 |
| Lesson 10 | プロジェクト: 簡単な家 | これまでの復習 | 変数で大きさを変えられる家 |
応用レベル(Lesson 11-20)- ループと条件分岐
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 11 | 繰り返しの魔法 | forループの基本 | 階段自動生成 |
| Lesson 12 | 条件で分岐しよう | if文の基本 | 昼夜判定システム |
| Lesson 13 | もし〜でなければ | if-else文 | 自動ドア |
| Lesson 14 | たくさんの条件 | else if | 天気判定システム |
| Lesson 15 | ネストループ | ループの中のループ | 市松模様の床 |
| Lesson 16 | while文を使おう | 条件付き繰り返し | 高さ自動測定 |
| Lesson 17 | 真偽値を理解しよう | Boolean型 | センサーシステム |
| Lesson 18 | 論理演算子 | AND, OR, NOT | 複雑な条件判定 |
| Lesson 19 | デバッグの基本 | バグの見つけ方 | バグ修正チャレンジ |
| Lesson 20 | プロジェクト: 自動農場 | 応用レベルの総まとめ | 作物自動収穫システム |
実践レベル(Lesson 21-30)- 関数と配列
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 21 | 関数ってなに? | 関数の定義と呼び出し | 再利用可能な建築関数 |
| Lesson 22 | 引数を使おう | パラメータの受け渡し | カスタマイズ可能な塔 |
| Lesson 23 | 戻り値を理解しよう | return文 | 距離計算関数 |
| Lesson 24 | 配列の基本 | リストの作成と利用 | ブロックパレット |
| Lesson 25 | 配列をループで処理 | for-of文 | 複数ブロック一括配置 |
| Lesson 26 | 配列の操作 | push, pop, shift | 在庫管理システム |
| Lesson 27 | ランダムを使おう | Math.random | ランダム建築生成 |
| Lesson 28 | 文字列操作 | 文字列の連結と加工 | カスタムメッセージシステム |
| Lesson 29 | データ構造の設計 | 効率的なデータ管理 | NPCデータベース |
| Lesson 30 | プロジェクト: ミニゲーム | 実践レベルの総まとめ | 簡単な宝探しゲーム |
発展レベル(Lesson 31-40)- イベント駆動とゲーム制作
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 31 | イベントハンドラー | player.onTravelled | 移動検知システム |
| Lesson 32 | ブロック破壊イベント | blocks.onBlockBroken | ブロック破壊カウンター |
| Lesson 33 | アイテムイベント | player.onItemInteracted | アイテム使用システム |
| Lesson 34 | タイマーを使おう | loops.forever | 定期実行システム |
| Lesson 35 | スコアボード | scoreboard API | スコア管理システム |
| Lesson 36 | エフェクトを使おう | mobs.applyEffect | パーティクル効果 |
| Lesson 37 | モブの制御 | mobs.spawn, mobs.execute | NPC配置システム |
| Lesson 38 | レッドストーン連携 | ブロック状態の変更 | 自動回路システム |
| Lesson 39 | コマンドブロック連携 | executeコマンド | 高度な演出システム |
| Lesson 40 | プロジェクト: 本格ゲーム | 発展レベルの総まとめ | アスレチックゲーム |
マスターレベル(Lesson 41-50)- AI連携と最適化
| レッスン番号 | タイトル | 学習内容 | 制作物 |
|---|---|---|---|
| Lesson 41 | パフォーマンス最適化 | 重い処理の改善 | 最適化されたシステム |
| Lesson 42 | メモリ管理 | 変数のスコープと寿命 | 効率的なコード |
| Lesson 43 | 非同期処理 | タイミング制御 | スムーズな演出 |
| Lesson 44 | エラーハンドリング | エラーの検知と対処 | 堅牢なシステム |
| Lesson 45 | デザインパターン | 再利用可能な設計 | フレームワーク構築 |
| Lesson 46 | AI連携の基礎 | ChatGPTとの対話 | AI NPCシステム |
| Lesson 47 | データ分析 | ログとデータ収集 | プレイヤー行動分析 |
| Lesson 48 | 複雑なシステム設計 | アーキテクチャ設計 | 都市管理システム |
| Lesson 49 | チーム開発 | コードの共有と統合 | 協働制作システム |
| Lesson 50 | 最終プロジェクト | すべての技術の統合 | マイクラカップレベルの作品 |
マイクラカップへの応用
各レッスンで学んだ技術は、マイクラカップの作品制作に直接活かせます:
- 自動化システム: Lesson 11-20で学んだループと条件分岐
- NPC配置: Lesson 37で学んだモブ制御
- インタラクティブ要素: Lesson 31-34で学んだイベント駆動
- ゲーム要素: Lesson 40で学んだゲーム制作技術
- パフォーマンス: Lesson 41-42で学んだ最適化技術
学習の進め方
- 毎回のレッスンは2時間構成
- 前回の復習(10分)
- 新しい概念の説明(20分)
- 実践・コーディング(60分)
- 成果発表とフィードバック(20分)
- まとめと次回予告(10分)
- 習得確認方法
- 各レッスン末の「できたかチェック」
- 5レッスンごとの「プロジェクト課題」
- 10レッスンごとの「レベルアップテスト」
- 困ったときは
- エラーメッセージの読み方
- デバッグの基本手順
- 質問の仕方(具体的に伝える)
保護者の方へ
このカリキュラムは、お子さんが段階的にプログラミングの考え方を身につけられるよう設計されています。最初は簡単なブロック配置から始まり、最終的には複雑なシステムを自分で設計できるようになります。
各レッスンは独立していますが、順番に進めることで確実にスキルが積み上がります。お子さんのペースに合わせて、焦らず楽しみながら進めていきましょう。
サンプル動画
クロスウェーブ(沖縄マイクラ部)への参加方法
無料体験会へのご参加やコースに関するご相談は、公式LINEアカウントへご登録いただくか、メールにて「webcrafts098@gmail.com」までお気軽にご連絡ください。
沖縄マイクラ部プログラミングスクール「クロスウェーブ」では、マインクラフトカップ全国大会への挑戦・入賞を目指す仲間を募集しています。当校では、目先の楽しさだけで終わらせず、将来の選択肢を広げる本格的なプログラミング教育(Python、Scratch、MakeCode、JavaScript、Unity、Godot)をはじめ、実务に直結する動画編集講座(Premiere Pro、DaVinci Resolve、CapCut)や、HTML/CSSによるWeb制作講座まで、一貫した次世代デジタルスキルを指導しています。
マインクラフトカップ参加をご希望の方へ
大会への参加を希望される方は、チーム編成および人数把握のため、以下の専用フォームよりお申し込みをお願いいたします。※申込時はマインクラフト教育版のライセンス費用が別途発生いたします。
各教室の開講地域
沖縄県宜野湾市(宜野湾ラボ)
メイン拠点となる宜野湾ラボ(伊佐ビル2F)にて、各専門コースの対面レッスンを開講しています。国道58号線沿いでアクセスが良く、専用駐車場も完備しているため、那覇市や糸満市など遠方からの送迎もスムーズです。
沖縄県うるま市(うるま校)
コミュニティ中枢であるFMうるま特設会場にて、定期講座および地域連携のデジタルイベントを開催しています。
次世代クリエイターを育てる私たちの理念
私たちは、単にお子様にツール操作を教えるだけの習い事教室ではありません。30年のIT実務経験と官公庁品質の厳格な「情報設計」のノウハウをベースに、お子様が持つ「熱狂」を一生物の論理的思考力へと昇華させるための教育機関です。保護者の皆様も安心してお子様の学びを共有・見守っていただける、最も安全で信頼できるクリエイティブ環境を提供いたします。
イベント情報とお問い合わせ
個別のご質問やご相談は、LINEオフィシャルアカウントまたはメールからいつでもお気軽にどうぞ。スクールが主催する最新のワークショップやイベント情報は「開催イベント一覧(connpass)」からご確認いただけます。