見出し画像

【子供用だけどとてもためになる】GASを含めてプログラムに一歩踏む出そうとした人が、コードを書くのと並行してやっておいたほうがいいこと

プログラムを学んでみようとしてすこし前に進んでいる人、プログラミングスクールや、有料コンテンツで学習している人に見てもらいたいコンテンツのご紹介です。
Google Apps Script、VBA、Python、JavaScript、Ruby、Java、Swift、プログラミング言語を問わず共通する大切なことです。
※本文記載:2022年9月23日※

プログラムを進めるうえで「どう実現するか」

プログラムを進める設計図として、
・何をしたいか
・どう実現するか
の二つが必要になります。
「どう実現するか」を習得するために、コードを学んでいるのですが、
「どう実現するか」を分類すると
・どのように構成するか(アルゴリズム)
・どうやって書くか(コード)
に分けることができます。

アルゴリズムは、コードを書いて、実際動かしての繰り返しで自然と身につくところでもありますが、それ自身を鍛えるということも大事ではないでしょうか。

アルゴリズムとプログラム

プログラムは、特定の処理をさせるための指示、
アルゴリズムは、問題・課題を解決するための手順。
むずかしいプログラムのコードを学ぶことと、どう使うか考えることを並行して行ってきましょう。
いまからご紹介する2本(+1本)のコンテンツは、気楽にアルゴリズムを学べるので、ガリガリ学習している合間や、すこし行きづまったときの気晴らしにどうぞ。

テキシコー(NHK)

NHK、Eテレの番組です。ピタゴラスイッチみたいなやつに解説を加えてプログラム的な考え方がふんわり理解できます。
「コンピューターを使わずにプログラミング的思考を育む」というキャッチワードがついてます。
1話10分、計10話ですので一通り見るのにもそんなに時間もかかりません


事前にどうなるか考えてみましょう。

第一回のコンテンツです。

丸いレールを作り、ゲートを置きました。レールには、三角形の積み木がついています。電車を走らせると、一体どうなるでしょうか?

動画あらすじ

このように、仕掛けをつくって、それを実際に動かしたらどうなるのか、実証してくれます。
ゲートにぶつかるのはわかるけど、積み木がどうなるの??関係ある??
なんて考えたら、制作側の思うつぼです!

こちらの結果はどうなるか?

ぜひ、動画で確認してみてください。
考えてから見ると「お!」ってなるコンテンツが盛りだくさんです。
プログラムも同じように、少しナナメの方向から考えないとうまく動作しないこともあります。業務改善でも、一つの方法にこだわると成果につながらないケースもあると思います。GASにこだわるより関数で解決したほうが早いとか。頭の柔らかさを鍛えておきましょう。

LINE entry

こちらはゲーム感覚でプログラムに基本操作が体感できます。
アプリのDLもいらないし、スマホからでも操作できますので、ほかの類似サイトよりも敷居が低いです。
最初のおすすめは、「ミッション」の「サリーを探せ」→「サリーを救え」→「サリーと脱出」です。

ブロックリストで行動を指定してミッションを遂行する。

画像のように、ブロックリストから行動を指定します。Scratchみたいなブロック形式です。テキストを打ち込むスクリプト言語より単純なので、プログラミング的思考だけで進めることができるので、コード学習と並行して進められます。
プログラムは、指示したとおりにしか動いてくれません。ただし、確実に動いてくれます。
こちらの回答です。

いかがですか?合ってましたか?納得いかないなーという方はぜひ本サイトにどうぞ。

ステージが上がれば、順次・反復・条件も

ステージが上がれば、ブロックの機能や種類も増えて、攻略の難易度が上がっていきます。理想のブロック数も設定されてますので、非効率な設計だと、クリアしてももっといい方法があると教えてもらえます。
これがコンプリート出来るスキルがあれば、実用的なコードの理解が早いんじゃないかなと思います。

Scratch

LINE entryのところで名前だけ出したので触れておきますが、目的がある方にはいいプラットフォームだと思います。学習にはなりにくいかなと思います。

ジェイソンさんの、Why?プログラミング

こちら見ながら、どういう風にエラーを回避していくか見るのは参考になりそうですね。


まとめ

筆者は基本的には実務家を想定して記事を書いています。すぐに業務直結するのと、これを乗り越えれば生産性向上、業務改善の武器になるという内容をお伝えしたいと思ってます。その一方で直接役には立たないけれど、簡単に基礎能力の開発に向いているなと思ったコンテンツですので、ご紹介させていただきました。

どんな記事ならサポートしてみようと思えるか、ご要望ありましたら教えてくださいね。