1.6: 変数 Part1：データタイプ
11－18 歳
デザイン：ロボリンク社

概要
生徒は数学の授業で変数について学んだかもしれませんが、コンピューターサイエンスでは少し違います。このレッスンでは、変数とそれがプログラミングでどのように機能するかを学びます。
そして、プログラム内で変数を操作して、異なる大きさの図形を作ります。

質問ガイドライン⚫

プログラミングでは、変数はどのように、そしてなぜ使われるのですしょうか？

⚫

プログラムでは変数をどのように操作できますか？

⚫

変数は、CoDrone EDU を飛ばすプログラムするために、どのように利用できますか？

⚫

変数は、どのようにプログラムの結果を変えることができますか？

学習目標⚫

プログラミングにおける変数とは何かを定義できる。

⚫

変数がどのようにプログラムで使用されるかを理解できる。

⚫

プログラムで変数を使用する利点を説明できる。

⚫

Python プログラムにおけるさまざまなデータの種類を列挙することができる。

⚫

なぜ異なるデータタイプがあるのかを理解し、異なるデータタイプを使用する場合の例を示すことができる。

成功へのステップ
1.

なぜ変数が必要なのか？

2.

名前には何があるのか？変数の命名規則

3.

変数の種類

4.

変数を使った練習問題

5.

再び二乗になる6.

チャレンジ：ドローンスライド

必要教材⚫

CoDrone EDU、リモート、USB ケーブル（各生徒または各生徒グループ毎⚫

インターネットに接続され、PyCharmEDU がインストールされたノートパソコン（各生徒または各生徒グループ毎⚫

CoDrone EDU の充電済みバッテリーと予備の充電器。

⚫

巻尺（数学エクステンション講座の場合のみ）

カリキュラムの概要

レッスンのタイトル：変数
時間：1 時間 30 分
取り組み: (導入)⚫

数学または科学において変数とは何かを生徒に尋ねます。変数は何をするものですか？どのように機能するのでしょうか？次に、コンピューターサイエンスにおける変数の定義を、隣の人と話しながら考えるように生徒に指示します。以下のビデオを見せ、感想、質問を求めます。彼らの定義はどのように変わりましたか？

Video: CS Principles: Intro to Variables - Part I

探究：（アクティビティ）⚫

生徒に、ロボリンク社のベースキャンプにあるレッスン「変数」を完了させ、最後に「変数の二乗」のチャレンジをさせます。このレッスンでは、おそらく多くのテストとプログラムを修正することになるであろうことを生徒に事前に伝えておきましょう。

説明：（再確認）⚫

生徒に、ドローンが正方形に飛ぶようにプログラムした方法を、疑似コードと自分の言葉と適切な学術用語を使ってパートナーに説明させます。また、このプログラムで変数を使用することの利点を理解してもらいます。

詳細: (拡張)⚫

ドローンの時間を変数として、正方形（または他の形）のプログラムを作成させます。図形が大きくなり続けるように、プログラムの途中で変数の値を増やす工夫が必要です。

⚫

このチャレンジの延長として、変数に 10 進数を使うことに挑戦してみましょう。1 秒、1.5秒、2 秒の間には大きな違いがあるのでしょうか？

CCSS 数学の拡張（中学校）。
⚫

生徒を 2 人 1 組にして、1 人がドローンを操縦し、1 人はドローンが回転するときの角度と高さを記録します。次に、ペアで割り当てられた「多角形」の辺と辺の間の距離と高さを計測し、面積、体積、表面積を求めます。

⚫

次に、プログラム中の変数の値を小さくしたり大きくしたりして、前項を繰り返します。変数を操作すると、多角形の面積、体積、表面積はどのように変わるのでしょうか。

CCSS 数学の拡張（高等学校）。
⚫

多角形プログラムの変数を変更して、CoDrone EDU を元の形状の回転、反射、または平行移動で飛行させます。

評価
生徒にエンジニアリングジャーナルで次の質問に答えさせます。ロボリンク社の例は、Google サ
イトで見ることができます。
1.

自分の言葉で、プログラムで変数を使用する方法とその利点を説明できるようにします。
2.

時間変数プログラムの擬似コードを含めてください。これは、言葉でもフローチャートでもかまいません。
3.

あなたのコードの実行やドローンの使用に何か問題はありましたか？もしあれば、それを解決するためにどのようなことをしましたか？
4.

何を学びましたか？

5.

（多角形チャレンジを完了した場合のみ）あなたの多角形のプログラムの変数の値を変更したときにどう変わったか説明してください。体積、面積、表面積は大きくなりましたか、小さくなりましたか？新しい値とどのように関係しましたか？
6.

(高校生の多角形チャレンジを完了した場合のみ）CoDrone EDU を元の形の回転、反射、移動で飛ばすために、変数の値をどのように変更したか説明してください。あなたのプログ
ラムは、当初考えていたようにうまくいきましたか？またはそうでない場合の理由を教えてください。
関連する語彙 ブール値、呼び出し、宣言、ドローン、フロート、初期化、int、着陸、ライブラリ、
移動コマンド、負、ピッチ、正、Python、ロール、文字列、離陸、スロットル、値、変数、ヨーStandards:
CCSS:
ELA-LITERACY.RST.6-8.3: Follow precisely a multistep procedure when carrying out
experiments, taking measurements, or performing technical tasks.
ELA-LITERACY.RST.9-10.3: Follow precisely a complex multistep procedure when carrying out
experiments, taking measurements, or performing technical tasks, attending to special cases orexceptions defined in the text.
ELA-LITERACY.RST.11-12.3: Follow precisely a complex multistep procedure when carrying outexperiments, taking measurements, or performing technical tasks; analyze the specific results basedon explanations in the text.
MATH.PRACTICE.MP1: Make sense of problems and persevere in solving them.
MATH.PRACTICE.MP5: Use appropriate tools strategically.
MATH.PRACTICE.MP7: Look for and make use of structure.
MATH.CONTENT.6.G.A.4: Represent three-dimensional figures using nets made up of rectangles
and triangles, and use the nets to find the surface area of these figures. Apply these techniques in
the context of solving real-world and mathematical problems.
MATH.CONTENT.7.G.B.6: Solve real-world and mathematical problems involving area, volume
and surface area of two- and three-dimensional objects composed of triangles, quadrilaterals,
polygons, cubes, and right prisms.
MATH.CONTENT.HSG.CO.A.5: Given a geometric figure and a rotation, reflection, ortranslation, draw the transformed figure using, e.g., graph paper, tracing paper, or geometry
software. Specify a sequence of transformations that will carry a given figure onto another.
NGSS:
MS-ETS1-2: Evaluate competing design solutions using a systematic process to determine how wellthey meet the criteria and constraints of the problem.
CSTA:
2-CS-03: Systematically identify and fix problems with computing devices and their components.
2-AP-11: Create clearly named variables that represent different data types and perform operations
on their values.
2-AP-16: Incorporate existing code, media, and libraries into original programs, and give
attribution.
2-AP-19: Document programs in order to make them easier to follow, test, and debug.
3B-AP-16: Demonstrate code reuse by creating programming solutions using libraries and APIs.
ISTE:
5D: Students understand how automation works and use algorithmic thinking to develop a sequenceof steps to create and test automated solutions.
6A: Students choose the appropriate platforms and tools for meeting the desired objectives of theircreation or communication.