当教室で使用しているプログラミング言語には、ブロック言語とテキスト言語があります。
テキスト言語は「Python(パイソン)」を使い、英語(アルファベット)でタイピングを行います。
違いや特徴は次のようになります。
ブロック言語 | テキスト言語 |
|
---|---|---|
エディタ | Pybricks Block Coding | Pybricks Python Coding |
記述例 | ![]() | ![]() |
特徴 | 直感的な操作でプログラミング入門に最適。 画面のカラフルなブロックを組み合わせてプログラミング。 マウス操作中心でタイピングが苦手でも安心。 | 記述がシンプルなのでテキスト言語入門に最適。 英語でタイピングしてプログラミング。 エディタを使うと命令を予測変換してくれるのでタイピングが楽。 |
詳細 | 実行がブロック言語ツール上でしか出来ないためアプリ開発不可。 データ入出力が自動でできないため大量の外部データ処理は不得意。 テキスト言語に比べ、長いコードの作成、修正が手間。 | ライブラリ(拡張機能)が豊富でデータ分析、人工知能の分野でよく使われる。 YoutubeやInstagram等のWebアプリもPythonで開発されている。 実行速度が遅いのでゲーム開発には不向き。 |
ロボット制御に用いられるテキスト言語には、他にC言語などがありますが、Pythonがシンプルで簡単なため、こちらを使用しています。
授業では、まずブロック言語とテキスト言語の違いを学び、ブロック言語で学んだ基本的なロボット制御をテキスト言語で行います。また数学の知識を使って、より良い制御をするための方法を学びます。この段階ではブロック言語で使用した簡単なロボットのモデルを再度使用します。
テキスト言語の基本を学んだら、新しいモデルを組み立てながら、ロボットの仕組みと制御を学びます。ロボットの仕組みはより深い内容を学びます。
またテキスト言語の学習が進むと、ブロック言語では予め用意されていた基本プログラミングを生徒さん自ら行います。ロボット組立後に全員で一緒に基本プログラミングを行い、授業の後半には基本プログラミングを使って、各個人でミッションチャレンジのプログラミングを行います。
- タイピングの難易度は、「基本プログラミング > ミッションプログラミング」 です。
- 基本プログラミングで、当日のロボットの基本動作の定義命令(複数の命令の集まりを1つのオリジナルの命令にする)を作ります。ロボットが変わると定義命令も変わります。
- 「モーターを回転させる」、「モーターを止める」、「センサーを使う」などの命令や「もし」、「くり返し」などの構文を使って、「前に進む」、「黒を見つけるまで進む」、「壁を見つけるまで進む」、「つかむ」、「はなす」などの定義命令を作ります。
- 定義命令は3~5個ほど作ります。1つ作るごとに動作確認を行います。
- 定義命令を使いながら、ミッションプログラミングを行います。