マインドマップ,プログラミング

こんにちは。伊與田塾南安城教室、塾長のいよだです。

伊與田塾ではプログラミング(ロボットプログラミング)コースがあるのですが、マインドマップの活動と融合させることはしていませんでした。(もちろん、相性は良いだろうとは考えていましたし、方法論があることも知ってはいました。)

最近実施したプログラミングの授業中に、ふとマインドマップとプログラム(プログラミング)が私の頭の中で融合するという事件が起きました。自分の中で腑に落ちた、という感じです。

今回は、新しいプログラムをつくってロボットを動かすことを想定して、私なりのマインドマップ利用法を書きたいと思います。

①マインドマップを描くときの簡単な追加ルールを決めておく

マインドマップをプログラミングに利用する場合、マインドマップをプログラミングのお作法に合わせるとよいと思います。慣れるにしたがって、ルールを追加したり簡素化してもよいでしょう。

プログラム用マインドマップを描くとき・読むときの順序

プログラムは「順次処理」と言って、基本的に上からスタートして下へ下へと処理(記述)されていきます。プログラムの処理(記述)の順番にあわせてマインドマップのブランチの順序を対応させると良いでしょう。ちなみに私の場合、マインドマップ上のスタートは右上が好みです。

関数の表現

関数とは一言で表現すると「1つの機能をもつ複数のプログラム処理のあつまり」です。複数のプログラム処理を何回も繰り返す場合などに、1つの関数としてまとめておくことでプログラムが「読みやすい・直しやすい」などのメリットがあります。

マインドマップでは、関数は別のメインブランチにしたり、「チャイルドマップ」として別のマインドマップとして描いてもよいと思います。参考画像のマインドマップでは、1枚の紙面上に3つの関数をチャイルドマップとして表現しました。

②ロボットのうごきをイメージする

当たり前の話ですが、ロボットを動かすプログラムをつくるためには「ロボットをどう動かしたいか」という基本構想がなければいけません。ロボットを手にとり、「さいしょにこーして・・・」「そのあとこーうごいて・・・」と人形遊びのようにしてイメージを固めていっても良いでしょう。

作例)赤外線ハンドル自動車
(1)タッチセンサーでモーターの回転する・しないを制御する
(2)赤外線センサーで、センサーと指の距離によって直進・右折・左折を制御する

※動画は伊與田塾facebookページにアップしておきます

アーテック,エジソンアカデミー

③マインドマップを描く

さきほど決めたルールにしたがってマインドマップを描いていきます。
プログラムの基本構造である「順次処理」「反復(くりかえし)」「条件分岐(もし~なら)」は、マインドマップで表現すると以下のように表現できます。マインドマップとscratchのプログラムを見比べてみてください。

マインドマップ,プログラミング

初期化のあとは、1つの繰り返し処理を続けます

順次処理(上から下へ)

プログラミング,アーテック

上から順番に処理されていく

反復(くりかえし)

プログラミング,プログラミング必修化

反復

条件分岐(もし~なら~~、  もし~なら~~でなければ~~~)

スクラッチ,scratch

条件分岐

ロボットプログラミング,マインドマップ

多重条件分岐(入れ子)

条件分岐後にさらに条件分岐させることもできます。(入れ子とも言います)

関数

ロボットプログラミング,プログラミング

関数

(これらが唯一の書き方というわけではありませんので、描きやすいやりかたを見つけてください。)

最終的に読む順番さえ明らかになっていれば、どの部分から描き始めても問題ないと思います。好きな部分から描き進められるというマインドマップの利点が生きる部分です。

 

いかがでしょうか。個人的には、マインドマップを描いたことでプログラムの仕上げ作業が効率的にできると思いました。

実際の業務で利用するような長いプログラムの場合は、プログラムや実現する機能の全体造を把握しておく必要があります。なにか不具合が見つかり、どの部分を修正すればよいか見当をつけるときに、マインドマップを利用することで全体を俯瞰でき、問題箇所を特定しやすくなるのだと思います。利用目的に応じてブランチに乗せるキーワードの粒度を調整すれば、システムの基本構想から小機能の開発にまで役立てることができるでしょう。

小~中学生くらいのプログラミング教育においては、中級レベルのものであれば1枚のマインドマップに収まるのでちょうどよいと思います。

 

※今回の記事はプログラミング経験がまったくないという方には難しかったかもしれません。なんとか雰囲気だけでもつかんでいただければと思います。

 

ママ向けロボットプログラミング講座やってます!

↓バナークリック、「いいね!」お願いします!
にほんブログ村 教育ブログへ
にほんブログ村