arrow_backフィールドノートに戻る
TUTORING 公開日 6 Aug 2026

ブロックからテキストへ:Scratch から Python へ(9~12才向け)

Scratch のブロックから実際の Python コードへ移行するための段階的なガイドです。具体的な演習と一般的な落とし穴について説明します。

Scratch で何個かのプロジェクトを作った子どもたちは、通常 10~11才の頃に壁にぶつかります。ブロックは自分が作りたいものには単純すぎるように感じます。その壁は、実は Python を導入するちょうどいい時期です。このガイドは、Scratch で既に子どもたちが理解している部分(スプライト、ループ、イベント)を保ちながら、それらを実際のコードにマップするパスを示しています。橋を作らずにいきなり構文に放り込むのではなく、です。

ジャンプが予想より難しく感じる理由

Scratch は 3 つのことを隠していて、Python では突然見えるようになります。変数型、インデント、構文エラーです。「10 回繰り返す」というブロックをドラッグした子どもは、コロンや括弧について考えたことがありません。Python の最初の週は、主に赤いエラーメッセージに耐えることになります。最初から言っておきます。プロのプログラマーは 1 日に何十回もエラーメッセージを見ます。これは彼らが下手だという証拠ではありません。

Trinket.io か Replit をブラウザで使って、最初にインストールの手順を戦わずに済むようにします。デスクトップインストール(python.org から Python 3.12 以上、エディターとして Thonny)は、子どもたちがはまってからにします。

Scratch の概念を Python に直接マップする

ゼロから始めるのではなく、この比較を明示的に並べて行います。

  • 「緑の旗がクリックされたとき」→ .py ファイルを実行するだけ
  • 「10 回繰り返す」→ for i in range(10):
  • 「ずっと」→ while True:
  • 「もし <> なら」→ if condition:
  • 「聞いて待つ」→ input("質問: ")
  • 変数(オレンジのブロック)→ score = 0

これはほぼ直接翻訳なので、Scratch に相当するものをまず書いてもらいます。

score = 0
for i in range(5):
    score = score + 10
    print("Score is now:", score)

実行してから、range(5)range(20) になったらどうなるかを聞きます。コードを実行する前に出力を予測することが、ここで築くべき唯一最高の習慣です。

モチベーションを高く保つ 3 つのプロジェクト

数当てゲームは古典的な最初のプロジェクトです。input()if/elif/else、ループを使うし、実際のプログラムのように機能するからです。

import random
secret = random.randint(1, 20)
guess = 0
while guess != secret:
    guess = int(input("Guess a number 1-20: "))
    if guess < secret:
        print("Too low")
    elif guess > secret:
        print("Too high")
print("You got it!")

テキストベースのペットシミュレーター(餌をやる、遊ぶ、寝る、ステータスを確認する)は次に良く機能します。子どもたちは既に Scratch でスプライトコスチュームで同じようなものを作っているからです。今はディクショナリーです。pet = {"hunger": 5, "energy": 8}

3 番目に、turtle グラフィックスに進んで視覚的な成果を得ます。

import turtle
t = turtle.Turtle()
for i in range(4):
    t.forward(100)
    t.right(90)

これは正方形を描き、Scratch のペンツールからの「10 ステップ進む、90 度曲がる」パターンを直接反映しています。子どもたちはすぐに類似性に気づきます。これは構文に関する講義よりも、自信のためにはるかに重要です。

エラーに対処してモメンタムを維持する

最初の月は IndentationErrorNameError が絶えず出るでしょう。代わりに直さず、一緒にエラーメッセージを声に出して読み、それが指し示す行番号を見つけます。Python のエラーは通常、正確に何が間違っているかを言っています(「インデントされたブロックが必要です」など)。たとえ文が乾いていても、数週間で大ほどんどの子どもたちはトレースバックを大人より速く読み始めます。

本当の落とし穴は 1 つあります。Python は大文字と小文字を区別し、Scratch は区別しません。Scorescore は異なる変数です。これはブロックから来たほぼすべての子どもを困らせるので、フラストレーションを通じて彼らに発見させるのではなく、早い段階で指摘します。

うまくいく大体 4 週間のペース

1 週目:変数、print()input()、基本的な算術演算子。2 週目:数当てゲームで if/elif/else。3 週目:forwhile ループ、ペットシムの構築。4 週目:関数。ペットシムのアクションを def feed(pet): 形式のコードでラップします。これは Scratch のカスタムブロックがこれをほのめかすだけなので、最大の概念的なリープです。

4 週目を飛ばさないでください。関数は「プログラマー」の思考が本当に始まる場所で、より大きなプロジェクトに真っすぐ進む子どもたちで、関数を理解せずにコピーペーストされた散らかったコードを書く傾向があり、デバッグが難しいです。

お子さんがこのシフトを楽しんでいるなら、Korra Studio にはもっと初級者向けの Python ウォークスルーと、次に探索する価値のある一般的なコンピュータサイエンスセグメントがあります。

この記事は AI の支援を受けて執筆し、Korra Studio の Michal Pilch(CISSP)が確認のうえ公開しました。

さらに先へ進む準備はできていますか?

これは Korra Studio ナレッジベースの 1 つのノートです。プラットフォームはすべてのトピックと 1 対 1 メンタリングをペアで提供します。

無料で始めるarrow_forward