採用お問い合わせお問い合わせゲーム開発について教育事業についてアプリファクトリーはるni株式会社HOMEスタッフブログがっくん[Flutter]FlutterアプリにGoogleマップを追加する-ドキュメント翻訳チュートリアルの「FlutterアプリにGoogleマップを追加する」を翻訳しました!是非、ご活用くださいhttps://qiita.com/gkn/items/6ffa6d01cf4ec3701734[Flutter]最初のFlutterアプリを作るpart2-ドキュメント翻訳チュートリアルのpart2を翻訳しました!是非、ご活用くださいhttps://qiita.com/gkn/items/6ffa6d01cf4ec3701734[Flutter]最初のFlutterアプリを作るpart1-ドキュメント翻訳チュートリアルのpart1を翻訳しました!是非、ご活用くださいhttps://qiita.com/gkn/items/af98200d7a98c033b597プログラミング教育についてはじめまして!教育事業部を担当している、がっくんといいます。今回は昨今話題になっているプログラミング教育について軽く話せればと思います。プログラミングとはまずプログラミングとは何か。簡単に説明すると、”コンピューターを意図通りに動かすための命令”です。ここで、わからない人にはさっぱりだと思います。笑まずは、プログラミングがどのように使われているか、何に使われているかイメージしてみるといいかもしれません。身の回りでプログラムが組み込まれているものをいくつ言うことができますか?普段意識していないとあまり出てこないかもしれません。実はプログラムが組み込まれているものは身の回りにたくさん溢れています。いくつか列挙してみます。・レジ・デジタル時計etc....どうですか?挙げたらキリがないのですが、普段私達の知らないところでプログラムが溢れています。次にこれらのどこにプログラムが使われているか。テレビを例に簡単に説明してみます。テレビには、リモコンが付属していますね。リモコンの電源ボタンを押すと、どうなりますか?そうです。その瞬間プログラムが作動したのです。何かの命令を受けたときに、どのような動きをする。いうのが予めプログラムとして組み込まれているのです。スイッチを押す->テレビ本体へ信号を送る->信号を受け取り画面を表示する。コンピューターを意図通りに動かすための命令ですね。これで少しは、イメージがついたでしょうか。プログラミング教育が話題なのかプログラミングがどのようなものかわかったところで、なぜプログラミング教育の話題がこんなにもでるのか。要因としてはいろいろあるのですが、ここ最近での要因として一番影響があったのは”2020年プログラミング必修化”だと思います。文部科学省より、2020年に実施されれる学習指導要領に盛り込まれています。プログラミング教育:文部科学省ではなぜ、教育の場にプログラミングが参入してきたか。教育にプログラミングなのかプログラミング教育でないが身につくのか。これらの文字を見ただけでは、全然ピンときませんね。これら一つ一つを、ゲームを例に解説していこうと思います。論理的思考についてです。皆さんは、スーパーマリオブラザーズをご存知でしょうか。赤帽子のキャラクターが横に進みながらゴールを目指す、いわゆる横スクロールゲームですね。このゲームで、キャラクターを右に動かそうとするとき、皆さんはどのようにしますか?無意識に右ボタンを押しているはずです。私達にとってそれが当たり前だからです。どんなゲームでも、私達にとってはそれが直感的にわかりやすいよう、できるだけ自然に行えるように作られています。コンピューターにとってはどうでしょう。右といってわかるでしょうか。左といってわかるでしょうか。そもそも、どれがキャラクターかわかるでしょうか。コンピューターには、どれがキャラクターなのか、どれがブロックなのか教えてあげないとわからないのです。ここで、プログラミングの登場です。キャラクターを右に動かすためにどのような命令が必要か考えてみます。どのボタンが押されたら動くかというのを教えて上げる必要があります。今回は右へ動かしたいので、どのボタンが右だよ。とプログラムを書いてあげます。次に、どれがキャラクターなのかをプログラムしてあげます。コンピューターからすれば、画面上にあるものすべてが同じものです。どの画像がキャラクターなのかを指定するプログラムを書いてあげます。これで、右ボタン、キャラクターを教えることができました。最後に、右に動け!と命令してあげます。コンピューターは右なんてわかりません。コンピューターが理解できるもので右を指示してあげます。そこで使用するのが座標です。コンピューターは右という概念などではなく数値を使用して情報を与えることができます。今回は右に動かしたいので、X座標をプラス方向に増やして上げることで右に動かすことができますね。このように、これらすべてを論理的にプログラミングしてあげて初めて、右ボタンが押されたら右に動くというプログラムが完成するのです。この順序がばらばらであったり、必要な部品を間違えていたらうまく動作させる事ができません。次に問題解決能力です。これは文字からなんとなく雰囲気はわかりますね。先程の右に動かすプログラムを例にとってみましょう。論理的にプログラミングが行われていると、どのようなメリットがあるかと言うと、どのような順番で、どのような処理を行っているか。いうのが理解しやすい点にあります。右ボタンを押したときにキャラクターが左に動いたとします。論理的に考えてみます。右ボタンを押したタイミングで、キャラクターが動いている。いうことは、右ボタンからの命令をコンピューターがしっかりと受け取れている解くことになります。ここは問題なさそうですね。次に、キャラクターを指定できているか。右ボタンを押したときに、ブロックや敵ではなく、キャラクターを動かせているということはしっかりとどの画像がキャラクターか判断できているということですね。ここも問題はなさそうです。右に動かしたいのに、左に動いてしまっている。いうことは、X座標への数値がマイナス値になっているのではないか。ここが問題ありそうですね。このようにして、論理的に考えることができるとすぐに問題となる場所を特定することができます。あとは、今のアプローチがだめなら、次のアプローチ、また次のアプローチといったトライ&エラーを繰り返しながら問題を解決していきます。効率的に向上させることができるのです。最後に創造力向上について絵を書くこと、文章を書くこと、音楽を作ることこれらすべて創造性がありとても育まれやすいものです。プログラミングはこれらすべての要素を組み合わせて一つの作品とすることもできるのです。ゲームをイメージしてみてください。たくさんの絵が動いていますね。シナリオがありますね。BGMなどもありますね。このように自由自在に自分の創造するものを簡単に実現するためのスキルがプログラミングなのです。最後にプログラミング教育がなぜ、話題になっているか。プログラミング教育とはどういうものなのか。ビジュアルプログラミングや本格的なプログラミング言語についてもレッスンを行っていますので、ぜひお問い合わせください。