高校1年生の「システム開発入門」が始まりました。
第1週目のテーマは、コンピュータに命令を伝えるとはどういうことかです。
高校のシステム開発授業の全体像を踏まえ、この回では命令を具体的な手順にする活動と、Pythonで文字を表示する体験に取り組みました。
プログラミングをどう説明したか
授業では、プログラミングを「コンピュータにどう動いてほしいかを伝えること」と捉えました。
田中先生:「プログラミングって難しそう、と思っていませんか?でも実は、コンピュータに“どう動いてほしいか”を伝える言語なんです。コツさえつかめば、きっと誰でも扱えるようになります。」
この日の入口は、難しい文法を覚えることではなく、目的に合う指示を順序立てて組み立てることでした。
ロボット役への指示で曖昧さに気づく
コードを書く前に、生徒たちは「ロボットに命令してゴールさせよう」という活動に取り組みました。
ペアの一人がロボット役、もう一人が命令者役になり、紙の上に置かれた障害物を避けながらゴールを目指します。
- ロボット役:命令者役から受け取った指示に沿って進みます。
- 命令者役:進む歩数や曲がる方向を順番に伝えます。
生徒A:「前に3歩進んで、右に曲がって…あっ、ぶつかった!」
生徒B:「え、もっと細かく言わないとダメなんだ…」
「ゴールへ行く」は目的であり、そのままでは手順になりません。
どこまで進み、どこで曲がるかを順番に示して初めて、ロボット役が実行できる指示になります。
この活動を通して、生徒たちは曖昧な指示と、実行できる具体的な指示の違いを確かめました。
Pythonのprint()で文字を表示する
授業の後半ではPCを使い、Pythonのprint()関数で文字を表示しました。
ここでいうコードとは、コンピュータに渡す命令を書いたものです。
print("こんにちは")
このコードを実行すると、画面に次の文字が表示されました。
こんにちは
生徒C:「うわ、本当に出た!ちょっと感動…!」
生徒D:「たったこれだけで動くんだ。思ってたよりシンプルかも。」
前半では言葉でロボット役に手順を伝え、後半ではコードでコンピュータに命令を伝えました。
表現の方法は違っても、実行してほしい内容を具体的に示すという考え方は共通しています。
第1週目に取り組んだ内容
| 学習場面 | 行ったこと | 確かめたこと |
|---|---|---|
| コードを書く前 | ロボット役に進み方を指示する | 命令には順序と具体性が必要になる |
| Pythonの体験 | print()で文字を表示する |
書いたコードに沿って結果が表示される |
授業の締めくくり
田中先生は、第1週目の学びとこれからの授業を次のように結びました。
「今日みんなが学んだことは、“小さな一歩”かもしれません。でも、これが将来システムを作る第一歩になります。プログラムは、正直で素直。自分が書いた通りにしか動きません。だからこそ、思考を整理する力が自然と身につきます。」
第1週目は、命令を具体的な手順にする活動から、同じ考え方をPythonのコードで試すところまで進みました。
次回は変数と計算
次回のテーマは「変数とは何か」と、プログラムを使った計算です。
授業の続きは、第2週目「変数と計算に挑戦」で紹介します。
