こどもプログラミング教室・オンライン講座/プログラミングアカデミー

こどもプログラミング教室・オンライン講座/プログラミングアカデミー

プログラミング的思考

2020/12/01

かしはら市 PGA プログラミング教室 Scratchレッスンについて

初めての方にScratchを勧める理由・1

プログラミングを初めてする方や小学校低学年の方にはScratchをまずは受講するようおすすめしております。いきなりJavaScriptやHTML、C言語等を学ぼうとすると考え方の基礎や処理の仕方を覚える前にまず立ちはだかる壁としてコーディング作業があります。コーディングとはプログラムを実際に各言語のルールに合わせて記述することなのですが、ほとんどの言語が英語ベースです。英語が苦手な人はこの時点でかなり心が折れそうになるかと思います。さらに、学校で教えてもらえるような英単語ではなく専門的な単語が多くあります。さらに普段PCで使わないような記号等も列挙しており、見ただけでしり込みしてしまいがちです。考え方や処理の順番など、プログラミングの基礎がわかってくれば一気に理解度は進むのですがそれまでが非常に遠いです。そこで活用されるのがScratchになります。こちらはプログラミングの基礎を学ぶために開発されたものになります。

初めての方にScratchを勧める理由・2

では何故Scratchがプログラミングの基礎を学ぶのに最適なのでしょうか。それは、Scratchにはコーティング、つまり文字を書く必要が無いからです。各種命令を実行するためのブロックを処理する順番に並べていくだけで簡単にプログラミングを行うことが来ます。さらに日本語にもしっかりと対応しているため、目標の動きをしっかりと把握し、文章にすることが出来ればその日本語の通りにブロックを用意し、順番に並べることでプログラムがほぼ完成します。この目標の動きを把握し、文章化するという作業がプログラミングで最も重要な作業であると言っても過言ではありません。なのでScratchでのレッスンではこの作業をしっかりと意識してもらえる様務めております。お手本を見てそれを再現するのが基本的な流れですが、そのお手本はどのような動きをしているのかを意識してもらい、実行するためにそれまでに学んだものを駆使していく、という作業に慣れてもらえたらと思っております。

Scratchで教える事 座標について

Scratchをまず教えることは座標の概念です。平面上の位置を確定させるために必要な情報が数字2つであると説明します。ここで大事なのは座標そのものではなく、あるものを確定させるために必要な情報が何なのかを意識s手貰うことです。プログラムでは様々な情報をもとに動きを決めます。最終的にさせたい動きに必要なものは何なのかをしっかりと意識してもらうために、まず位置を決める座標について解説しています。そのあとは座標の数字の変え方やコスチュームの変更のさせ方を指導し、スプライトを好きな位置に表示させられるようになってもらいます。位置を好きに変えられる、どのように変化させれば良いかを把握できるようになってもらうことで他の情報を触る際にも活かしていけるようになります。また、座標の考え方は実際にプログラミングをしていく上で頻出するのでここで慣れておいてほしいという思いもあります。

Scratchで教える事 メッセージについて

メッセージとは、Scratch上での各スプライト間での情報のやり取りになります。Scratchを知らない人にはちんぷんかんぷんだと思うので簡単に説明しますと、登場人物Aが何かをしたときに登場人物Bが何かをする、という命令を作りたい場合、Aが行動したあとに合図を出します。この合図がメッセージと呼ばれるものです。この合図は登場人物全員が同時に聴きます。Bも勿論その合図を聞きます。なのでBには合図を聞いたときに行動する、と命令しておきます。これで予定通りの動きになります。このメッセージはプログラミングにおいてすごく重要で、ある事象と別の事象を関連付けて考え、全体を通して命令を繋げていくやり方の練習になります。実現したい動きが1つで完結している場合は必要ありませんが、複数の要素が関係してくる場合も多々あります。その際にこのメッセージを使った処理を思い出していただけたらスムーズに記述できるかと思います。

Scratchレッスンの目標

Scratchを使ったレッスンの最終目標ですが、それはプログラミング的思考の習得です。目的に合わせて必要な命令や情報をそろえ、それらを適切な順番で処理出来る様に組み合わせていく流れを習得してもらうことがScratchレッスンの目標になります。必要な情報が何なのかを得る訓練が座標の流れになりますし、それらを適切に処理していく際に手段の一つとして使えるものがメッセージになります。その他にも多数の命令ブロックや条件ブロックをレッスンしていきますがそれらはすべて手段の一つです。最終的には自分で取捨選択し、最適な順番で処理するようになってもらえたらと思います。プログラミング的思考をマスターできたな、と感じた生徒様には引き続きより本格的なScratchでのゲーム製作に挑戦してもらったり、各種プログラミング言語の習得に進んでもらったりしています。逆に習得が不十分だなと感じた生徒様には足りない部分を復習として再度レッスンを受けなおしていただく場合もあります。

2020/11/28

橿原市 初心者・子どもにおすすめのプログラミング学習

今、プログラミングを学ぶ理由

現在、小学校や中学校等の義務教育期間内にプログラミング学習を必修化させる動きが来ています。それに合わせて就職や転職活動をされている方の間でもプログラミングを学び、習得したいという方が増えて来ています。理由はそれぞれで少し違ったりします。小学生に学んでもらう理由はプログラミング的思考の習得の意味合いが大きく、プログラミング学習という名前ですが実際にプログラミングをせずに考え方だけ学ぶ方針の学校もある程です。中学生以降ではちょっとずつプログラミングに触れていく内容の授業も出てくると思います。ただ、ここでも実際にプログラムを組んでいくのではなく身の回りに使われている技術を知る目的が大きいです。現在ではコンピュータを活用した機械が身の回りに溢れています。これらをより活用していくために最低限の知識を詰めていくのが中学校でのプログラミング学習になります。そして最後に大人の方々ですが、日本はAI技術が遅れています。特にプログラマーの不足が深刻化していますので求人は一杯あります。なので就職にとても有利になっています。

身の回りにあるプログラミング技術の結晶

先ほど述べたように現在、身の回りには様々なIT技術が活用されています。最もイメージしやすいのはパソコンです。またスマートフォンやゲーム機などもプログラムが組まれていることが分かりやすいかなと思います。意外と気付かないところでは各種家電や自動車等です。これらもある一定の動きが予めプログラミングされています。このように身の回りに存在するあらゆるものにプログラミング技術は使用されています。これらを普通に使う分には特に専用知識はいりません。しかしこれらのコンピュータは仕組みを理解することでより便利に、より快適になります。これからの社会ではさらに様々なコンピュータが増えていくのでそれらに対応できるよう今の内からしっかりとプログラミングについて把握していく必要があるのです。プログラミングを実際に出来るようになる必要はまだありません。どのようにプログラムが作られるのか、どのようにして動きを命令しているのかを把握しましょう。

子ども・初心者がプログラミングを学ぶには

プログラミングを学ぶ際にはまず目標を決めましょう。プログラミングをしっかりと理解し、プログラムを自作出来る様になるまで頑張るのか、プログラミング的思考の取得を目指し、将来に役立てる様にしていくのか、取り合えず流れだけつかんでみて楽しそうだったら続けようかな、等です。そしてその目標達成を目指していく際に自分がどの程度プログラミング的な考え方を出来るのかをチェックします。少しでも躓きそうだと感じたらまずはScratch等のプログラミング教育ツールから触るのがおすすめです。Scratchではプログラミングの中でも特に躓きやすい”英語での記述””文法”の2つが簡略化されています。文字を書いていくのではなく命令に応じたブロックを並べていくので視覚的、感覚的に分かりやすくなっています。実際のプログラムと同じく上から順番に処理し、ループや条件分岐などもしっかりと設定できますのでプログラミング初心者の方や子どもでもかなり本格的なプログラムを作成できます。

Scratchでプログラミングを学ぶ際に意識すること

プログラムを自作するのが目標の場合、Scratchを学び、ある程度プログラミングの流れをつかめたら次は本格的に自作プログラムの作成に入るはずです。その際に必要なプログラミング言語も確認しましょう。動きに合わせて最適な言語があるはずです。もしくはScratchで実現させる選択肢もあるでしょう。このように目的に合わせて必要なものを自分で選択していく必要があります。これはScratchを学ぶ際にも意識していくべき考え方になります。基本的にお手本を再現していくのがScrachのレッスンになります。お手本の動きをしっかりと確認し、どのような命令が必要なのか、どのような組み合わせをしていけばいいのか、どのような順番で実行していくのか等、プログラミングの基本的な考え方はScrachでも学べます。この流れをしっかりと掴むことで別の言語でもスムーズにプログラミングをしていくことが出来ます。

初心者の方におススメのプログラミング言語・JavaScript

上記ではプログラミングをまったく触ったことのない人向けのおすすめとしてScratchをお勧めしました。しかしScratchは元々が子ども向けですので中学生以上の方には少し子どもっぽいかもしれません。学べる内容的にはScratchでも問題ないのですが、考え方を分かっている人には実際のプログラミング言語を触っていく方が楽しいかと思います。その中でよくおススメされるのが”JavaScript”です。この言語は主にWebページに動きをつける際に利用されています。HTMLやCSS,PHPも並行して学べるとより良いのですが初心者にはさすがにヘビーですのでまずは一つJavaScriptに絞ってみましょう。おススメの理由ですが、開発環境を整えるのがとても簡単だということです。PCに元から入っているメモ帳でも作ることが出来ます。もちろんメモ帳では不便なのでより便利なテキストツールを探していくべきですが、最初のハードルが低いのは利点です。とにかくプログラミングをしてみたい、コーディングの雰囲気がつかみたいという方にはJavaScriptをおススメします。

2020/11/24

かしはらし プログラミング的思考を小学生に求める理由

プログラミング的思考とは

プログラミングを行っていく際、基本的にはまず目標を定め、その目標に必要なものをしっかりと把握してから試行錯誤を開始していきます。どのような動きが必要なのか、組み合わせ方はこれでいいのか等、1つ1つの動きに対応した書き方をどのように組み合わせていけばより効率よく目標を達成できるのか、といったものをしっかりと論理的に考えていきます。この考え方をプログラミング的思考と呼び、文科省ではこれの習得を目指すような方針を立てています。難しく話しましたが要するに、何をしたいのかを明確にし、それに必要な物を考えてそれらを効率よく組み合わせていきましょう、ということになります。うまくいかなかった場合はもちろん試行錯誤するのですがその際にも何がダメだったのか、原因をしっかりと明らかにしてからそれの解決策を考えていくのが効率の良い思考錯誤方法になります。これらを繰り返して目標達成を目指していきます。

プログラマー以外でも必要なのか

プログラミング的思考はプログラミング以外にも、あらゆる場面で使用されます。例えば日常生活でも先に完成形を思い浮かべ、それに必要な物を準備し、最適な手順を踏んで行くといった工程を踏んだ行動は少なくありません。普段は特別に意識をしていないだけで、効率的な過程を求めているのです。そして、社会で生きていく中で目標をしっかりと定め、必要な過程を最適な手順で進めていくことはとても重要です。無駄を省き、効率を上げていくことでよりよい成果を上げられるためです。もし目標にたどり着けなかったとしても大丈夫です。必要な過程をしっかりと判別しているため、それぞれの内容がわかっているはずです。ミスの内容に対してどの過程が悪かったのか、改善するためにはどのようにすればよいのかが容易になってきます。失敗を恐れずに試行錯誤を繰り返し、目標達成に向かって論理的に進んでいくためのサポートとしてこの考え方をより深く身に着けていくことが重要になってきます。

プログラミング学習の内容とは

プログラミング的思考とは言いますが今まで説明してきた通り、必ずしもプログラミングのみでしか習得できないものではありません。常日頃からしっかりと意識して目標を決め、それに必要な物や効率的な過程を考えていけば自然と身につくはずです。しかし、逆に言うと意識していかないとなかなか身につかないものでもあります。さらに小学生くらいの子供に習得してもらおうと思うと一段と難しくなってきます。そこで出てくるのが小学校からのプログラミング学習の必修化です。小学校の内から意識してプログラミング的思考を使ってもらい、早期の習得を目指していく流れになります。実際にプログラミングをしてもらうことはほとんどなく、様々な科目でプログラミング的思考を意識した内容を取り入れていく形になっていきます。もちろん実際にプログラミングに触れていく学校もあると思いますが作業環境やPC台数の問題から少数になると考えられます。

プログラミング学習が必修になる前に出来る事

現在、プログラミング教育は急速に展開されています。お父様やお母様の中にはパソコンに不慣れな方や苦手意識を持つ方も少なくないと思います。そんな中でご自身のお子様に近い将来、プログラミング教育が必修になりますと多くの不安を抱えると思います。小学生にパソコンは早いんじゃないのか、プログラミングなんて難しそうなのに大丈夫なのか、下手に触って壊したらどうしよう等、数えだしたらキリがありません。プログラミング学習が始まるまでに出来る事は2つほどあります。1つはしっかりとプログラミング学習の内容について調べる事です。通われる学校によって内容は変わってきますので直接学校へ問い合わせるのもいいかと思いますし、熱心な学校ですとHP等に情報を挙げていたりします。情報収集をしっかりと行い、どのような教育が行われていくかを知るのが安心につながります。次にプログラミング学習が始まった背景を知ることです。上記で述べた通りプログラミング的思考の習得を目的としていますが何故そうなったのかまでしっかりと把握しますとより理解が増します。

これからの学習内容について

コロナウィルスの流行もあり、今年度からオンライン学習を本格的に取り入れる学校がかなり多くなりました。それに合わせて先生も生徒も父兄もパソコンに触れる機会が非常に多くなりました。つまりコンピューターに触れ、命令する機会が多くなったということです。その命令がどのように作られているのか、どのような仕組みになっているのかを知ることでよりコンピューターを活用できるようになります。その知識を得るきっかけにプログラミング学習はなってくれると期待されています。今までは専門性が強く、初心者にはハードルが高いようなイメージがありました。その原因にはプログラミングに慣れていないことが多分に含まれています。今後、社会はより情報化が進んでいきます。そのため、より優秀なプログラミング等のIT技術を持った人材が求められています。小学生の内からプログラミングに少しでも慣れ親しんでもらうことで将来、優秀なプログラマーやシステムエンジニアになってもらえたらと思います。

2020/11/17

橿原市 プログラミング教育を小学生の間に学ぶ理由について

プログラミングとは

2020年度以降から本格的に小学校や中学校にてプログラミングが必須科目に入ってきます。これからの時代、コロナウィルスの影響もあり、よりネットワーク上でのやりとりやプログラミング関係の知識、技術が問われる時代いなっていくと思われます。今回はそんなプログラミング教育について、さらに言うとそもそもプログラミングとは何なの、というところから説明していきたいと思います。プログラミングとはコンピュータに対して決められた順番、ルールに応じて指示を出し、コンピュータに自分の思い描いた通りの動きをさせることを言います。コンピュータにさせたい動きをしっかりと把握し、それを実行できるように全体を設計していきます。本番の前にチェックをし、うまくいかなければ何がダメで解決策どうすればよいかを考えていきます。これらを繰り返し、最終的に自分の思い描いた通りの動きにすることがプログラミングの目標になります。こうして出来上がったものが私たちの生活をより便利にしてくれています。

小学校でのプログラミング教育とは

以上で述べた通りプログラミングの作業は大変です。専門的な知識が必要になることも多数あります。小学生の内に必修化されるプログラミング教育とはどのような内容か、説明していきます。小学生で学ぶ内容はプログラミング作業そのものよりも、物事を解決に導くための論理的な考え方であるプログラミング的思考になります。物事を論理的に考え、より効率的に問題解決を目指していく考え方を小学生の間から少しずつ習得していくのが狙いになります。しかしプログラミング必修化と言っても教科としてプログラミングが追加されるわけではありません。既存の科目の中にプログラミングの内容を織り交ぜていく、という形になります。ですので各学校のPC、インターネット環境などの現状に合わせて何年生のどの科目で取り組んでいくか、が変わってきます。小学高出のプログラミング教育はプログラミングに触れるのが目的ではなく、あくまでプログラミング的思考の取得を目指すのが目的となっています。

プログラミング的思考とは

プログラミング的思考とは先ほど述べたプログラミングの一連の流れの様に目標の達成に必要なものを把握し、それに合わせてどのような作業が必要なのか、どのような組み合わせがより効率がいいか、どこがおかしくてどのように改善していけばいいのかといったものを論理的に考えていく思考方法になります。必要な動きが何なのかをそれぞれ分けて考え、動きに対応した命令を記述していき、それらを組み合わせて上手くいくかを試していきます。これらすべてを論理的に解決までもっていくことがプログラミング的思考になります。大事なのは目標を最初にしっかりと定める事です。目標に合わせて必要な動きを確認し、それらに合わせた命令を一つずつ設計していきます。一つずつが完成したら次はそれらを組み合わせます。成功しなかったらその原因を考え、解決策を見つけていきます。この考え方はプログラミングに限らず様々な職種での問題解決に必須のスキルなります。

なぜ今プログラミング教育が必修になるのか

上記で述べた通り、プログラミング的思考は様々な場面で役に立つ思考方法です。しかしこの思考方法は一朝一夕で身につくものではありません。なので小学生の内から意識してプログラミング的思考に挑戦することで、将来様々な問題解決に役立てるような人材に育ってほしいという思いがあります。しかし、それ以上の理由として、現在身の回りにコンピューターを用いたものがありふれていることです。仕事や家事、移動手段から教育現場、娯楽にまでコンピューターが使用されています。もちろんこれらを利用することで生活水準を大幅に向上させることが出来ますし、問題点の解消にも役立ちます。しかし、それらを正しく使うためには仕組みを知る必要があります。コンピューターはプログラムに従います。プログラミングに触れる機会を増やすことでコンピューターに命令できるようになるスキルも見につきやすくなり、よりコンピューターを活用することが出来るようになります。これがもっとも大きな理由であると言えます。

小学生でも出来るプログラミングツール”Scratch”

プログラミングと聞くと英語がずらっと並んでいたり、専門的な知識が必要で小学生にはとても難しいイメージがあります。しかし、Scratchというツールを用いればプログラミング初心者でも、小学生でも簡単にプログラミングを行うことが出来ます。理由は大きく分けて2つあります。1つ目に日本語に対応していることです。すべての命令や動き、情報が英語ではなく日本語で記載されています。また、ひらがなにも対応しているため感じを習っていない年齢のお子様でも日本語の意味さえ分かってしまえばある程度の動きを理解することが出来ます。2つ目にプログラムの流れが視覚的に分かりやすいことです。Scratchでは命令の1つ1つがブロックで表現されており、それらを並べることでプログラミングしていきます。そして上から順番にブロックに記載された命令を実行していきます。さらにブロックには色や形にも意味があるのでより見た目でわかりやすくなっています。これら2つの理由からプログラミングを最初に触れる際はScratchがおすすめされています。詳しい使い方や仕様については別ブログにて解説しております。