プログラミング的思考ってスクールや小学校でも良く聞きますが、プログラミングとはまた別なのか、それともプログラミングの一種なのか。
私は「的思考」の意味が全く分からず数年間過ごしました。
息子の成長やプログラミング教室に通って授業を受けている姿を見て分かったプログラミング的思考の本当の意味や特徴を7つピックアップしました。
私なりの見解をお伝えしたいと思います。
プログラミング的思考とは?
プログラミング的思考が良く取りざたされています。
プログラミング教室でも
「プログラミングを学びましょう!」
ではなく
「プログラミング的思考を鍛えましょう!」
私はこの意味が数年間理解できませんでした。
息子が通っているプログラミング教室の先生にも聞いた事があります。
「的思考ってなんですか?」と。
すると、先生こう答えました。
「〇君はまだ幼児なので、プログラミングは出来ません。その為今はプログラミングを学ぶための基礎作りとして思考を鍛えているのです」
全然意味が分からないぞ…私がプログラミングなんて出来ないと思って…
なんてひねくれた考えでした。
しかし息子が数年間プログラミング教室に通って分かった事があるのです。
プログラミングをする前のプログラミング的思考の意味が。
まず、プログラミング的思考で何が得られるのか7つの特徴を紹介します。
プログラミング的思考力の7つの特徴
プログラミングを学ぶ事により、下記のことが身につくと言われています。
- 創造力
- 思考力
- 論理的思考
- 問題解決力
- 表現力
- プレゼンテーション能力
- コミュニケーション能力
1. 創造力
ロボットプログラミングやゲームプログラミングでも共通していますが、自分でロボットやゲームを作るのには、創造力が必要です。
- こんなゲーム作りたいな!
- こんなロボットはどうだろう!
今までは創造力なんて全く持っていなかった子供でも、ロボットプログラミングやゲームプログラミングをすることで、何もない所からアイデアを湧き出します。
これが創造力の誕生です。
2. 思考力
次に、自分で考えたそれらのアイデアを形にしなければなりません。
例えば
- モノを運んでくれるロボットを作りたい
- シューティングゲームを作りたい
ではこれらを完成させるには、どうすればいいか。
- 最初に必要なモノは?
- キャラクターは何にする?
- どうやって敵を倒す?
- 動かす為のプログラミングは?
ここで思考力が鍛えられます。
3. 論理的思考
次に自分で考えたものを実行するための企画書、もしくは設計図を作ります。
ロボットもゲームも適当にやっては動きません。
きちんと筋道を立てておかないと後々失敗するので、ここはかなり重要。
ここで論理的思考力が養われます。
4. 問題解決力
次に実際に制作にとりかかります。
ロボットを組みたてたり、ゲームのキャラクターを設定したり。
しかし初めてとりかかるプロジェクトに失敗するかもしれません。
「あれ?動かない…なんでだろう?」
「キャラクターの大きさが大変な事になってる!!!」
などなど、途中つまづくことは多々出てきます。
しかし、ここでスクールの講師だったり教材だったりで問題を解決していきます。
こうすることで、子供達は自分で答えを出します。
ここで問題解決力が鍛えられます。
5. 表現力
問題を解決しつつ、徐々に完成していく作品を更に進化させるために様々な部品を足したり、キャラクターや敵、障害物もたくさん増やしたりします。
これが表現力です。
6. プレゼンテーション能力
ここまで出来たら、完成。
完成したら皆の前で作品を発表させるスクールも最近は多いです。
聞いてくれている人達に向かって、自分の作った作品は何を目的に
- どこをこだわって
- どこが大変だったか
- 何がポイントか
などを発表します。
発表する前に、紙に書いて練習するスクールもありますし、パワーポイントを使う所もあります。
ここでプレゼンテーション能力が上がります。
7. コミュニケーション能力
最後に、自分の作った作品に対しての質問や相談などを受けるかもしれませんし、他の子供がつまづいている個所が自分は解決しているのであれば、教えてあげることもします。
これがコミュニケーション能力です。
ロボットプログラミングの場合は、コンテストや大会に出ることも多いです。
その場合は大抵何人かのチームで参加する事が多いので、そこでもコミュニケーション能力が上がります。
さて、ここまできて思うのは、一切プログラミングに触れていないという所ですよね。
そうなんです。
これらが【プログラミング的思考】なんです。
プログラミング的思考はプログラミングに必要なのか
では【的】の思考がなぜプログラミングに役にたつのか?
という所ですが、そもそもプログラミングとはコンピューターに指示を出す事。
指示を出す為には
- 分かりやすく
- 細かく
しないとコンピューターも理解ができないのです。
「自分なりに細かく分かりやすくプログラミングした」と言っても、それでも動かない場合もあります。
- なぜ?
- 何が原因?
- どこが間違っているの?
これらを解決していくのは、子供本人。
この時に問題解決力が養っているかいないかで
- 諦めるのか
- 辛くても乗り越えるのか
ここで結果が出るんです。
またプログラミングではアプリを開発したり、機器を開発したりもします。
その場合、ゼロから商品を生み出さなければいけません。
この時にどれだけ創造力があるか、これも開発に非常に大きな影響を与えます。
また、プレゼンは成功すればするほど本人の自信に繋がります。
大人になって人前で話すことは確実に増えますので、子供のうちからプレゼンさせておくことで、物おじしない堂々とした人間へと成長します。
このプログラミング的思考、結構バカにできないでしょ?
私はチンプンカンプンでしたが(笑
なぜこのことに気付けたのか。
それは正に息子の成長を見て、です。
なのでプログラミング的思考を鍛えましょうね!
と言っているプログラミング教室でも、その理念は間違っていないので安心して通ってみて下さい。
とは言え、最初からがっつりプログラミングを学習させたい!!!
という親御さんもいますよね。
その場合には【コーディングできるプログラミング教室】を選択する事をおすすめします。
小学生でも実際にコードを書いて勉強できますし「最初から英語で特訓!」なんて教室もあります。
但し、「難しすぎて辞めたい!」となってしまう可能性もあるので、それを防ぐためにもまずは楽しく学べる教室がおススメです!
まとめ
以前通っていたプログラミングスクールでは、プログラミングが好き、得意という先生程、
「しっかりとプログラミングを学ぶためには難しいコースに入った方がいいよ」
と教えてくれました。
でも、それまでのプログラミング的思考を鍛える学習も無駄じゃなかった!
・・・と個人的には思いたい(-.-)
コメント