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

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

教育

2020/12/02

かしはら市 子どもも大人も楽しめるロボットプログラミング

今人気のロボットプログラミングとは

近年よく話題に出てくるロボットプログラミングとは何なのか、解説していきます。ロボットプログラミングとは読んで字のごとく、ロボットにプログラミングしていくことになります。教室や講座によってはロボットははじめから用意されており、プログラミングだけしていくこともありますが、基本的には目標時に応じた動きをするロボットを自分で組み立てていき、それに合わせてプログラミングしていく流れになります。簡単なブロックで作るロボットから本格的なビス止めや電子回路を構成していくものまで多種多様です。子どもでも大人でも楽しむことが出来ます。普通のプログラミングとの違いは、プログラムを書き換えた際の変化が実際のロボットに反映されるため、見た目に分かりやすく、ロボット制作段階から動きを予想しながら作業を進められるのでプログラミングの方向性が明確で分かりやすいです。半面、ロボットによって対応している言語が違ったり、専用のソフトが必要だったりする可能性があります。

ロボットとプログラミングの関係性

ロボットとプログラミングは切っても切れない関係にあります。ロボットを思い描いた通りに動かそうとしたとき、モーターのオンオフだけではどうしても限界があります。例えば音を拾った時だけ動かしたり、黒い線を感知したときにモーターの回転方向を変えたりしようとするとそれを察知するためのセンサーが必要になり、そのセンサーから出される信号をきちんと認識しないといけません。この信号を認識し、それに合わせてモーターの出力を変えたりする部分がプログラムになります。プログラムがあるのと無いのとでは動きの自由度が天と地の差になります。なのでロボットを学んでいく際には一緒にプログラミングも学ぶことがほとんどになります。ロボットにさせたい仕事をしっかりと明確にし、それに必要なものを挙げていきます。センサーの読み取りやそれに対する返答等をプログラムでしっかりと組むことでロボットは完成するのです。

ロボット教室で学べる事

ロボット教室ではロボット制作を学ぶのはもちろん写真を見てどのようになっているのかを把握するための空間認識能力や説明文から実際の仕組みを把握するための読解力、途中でミスが無いかを確認する危機管理能力等を鍛えることが出来ます。また、もし間違っていたときにどこが間違っているのかを確認し、修正する力も見につきます。これらはロボット制作でも非常に重要になってきますが、他の作業でも十分に活用出来ます。より注意深く、確実に仕事をこなせるような能力を育てることが出来ます。空間認識能力も鍛えられるため、将来的に重機を扱ったり車の運転の際、死角を減らしたり、その部分が今どうなっているかを予想出来たりします。勿論ですが実際に指先を動かしてロボットを制作していくため手先の器用さも鍛えられます。これらを満遍なく鍛えらえれるロボット教室は将来、必ず役に立つスキルを提供していけると思います。

身の回りにあるロボットたち

私たちの身の回りにはたくさんのロボットが存在しています。自動車や電車、飛行機などの移動手段を担っているものや工場で働くアームロボット、ベルトコンベヤー、最近流行のルンバやドローンなど、多種多様なロボットが存在しています。それらのロボットにはすべて役割があり、その役割を果たすために効率よく動くように作られています。ギヤの組み方やモーターの取り付け位置、電源の配置や各ケーブルの配策等、物理的に調整できる箇所ではそのロボットの行動範囲の限界を広げることが出来ます。ですがどれだけ外側を改良してもそれをきちんと扱ってあげないと性能を発揮できません。どれだけいい車に乗っていても運転手が免許を取っていないとまともに運転できないようなものです。その運転技術に当たる部分が内部、プログラムになってきます。決められた性能の内、どれだけ引き出すことが出来るかを決めます。もちろんどれだけ効率よく動かせても元の性能が低ければ発揮される仕事の質も下がります。バランスが大事になってきます。

大人も楽しめるロボット

ロボット教室といえば子どもたちがワイワイと賑やかにロボットを作成したり競争したりしているイメージがあるかと思います。しかし昨今では大人の方がプログラミングを学ぶ手段としてのロボット教室も存在します。子ども向けの教室ではプログラミングは専用のアプリを使ったりするのですが大人向けの場合、Pythonと呼ばれるプログラミング言語を用いることが多いです。このPythonはAI技術等に使われている言語でJavaScriptやPHPのような目に見えるところで使われている言語は無く、システム面で多用されています。このような裏側で動くプログラムを作るエンジニアはバックエンドエンジニアと呼ばれています。本来でしたらPython習得の際にはプログラミングの結果がすぐにはわからないためハードルは高いのですが、ロボットですとすぐに動きに反映されるため、初心者の方でもとっつきやすくなっております。その為、大人向けロボット教室ではPythonを主流にしているのです。

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/26

かしはら市 初心者がプログラミングを習得するためには

プログラミングに英語の知識は必要か

現在、世界ではIT産業及び情報化社会が急速に発達しています。ここ日本でもその傾向は変わらず、身の回りにはコンピュータを用いたものが増え、あらゆる情報が飛び交いそれらを自由に閲覧出来るような世の中になってきています。しかし、急速な発達に反して日本では優秀なIT技術者、プログラマーが不足しているという現状があります。理由はたくさんありますがその一つにプログラミング習得への苦手意識、ハードルの高さがあります。専門用語の数々やプログラミング言語のほとんどが英語ベースであるため、元来英語が苦手とされている日本人には特にハードルが高く感じてしまいます。ただ、実際にプログラミングに触れていくと英語の知識はそこまで必要では有りません。もちろん詳しい方が誤字脱字のミスが減ったり初見である程度理解出来るといったメリットがあります。ただ、分からない単語は調べればいいですし英語の文法なんかは全く必要ないです。

実際に必要なスキル その1

では実際に必要なスキルは何になるのかと言いますと、まず第一に国語力です。意外に思うかもしれませんがこれはかなり重要なスキルになります。何故ならば、実現したい目標には何が使われているのか、どのような動きなのかをしっかりと言葉にする必要があるからです。漠然とした指示ではコンピュータは動きません。1から10まですべてをしっかりと命令してあげる必要があります。そのためにもきちんと動きの説明が出来るような国語力が必要になってくるのです。常日頃から何がしたいのか、それをするために何が必要でどの順番で処理していくのか等を頭の中で考えたり実際に文章に起こしたりしてプログラミングに必要な国語力を鍛えていきましょう。また、この話はプログラミングだけではなく、人に説明するときや自分の意見をしっかりと通したい時等、様々な場面で必要となってきます。話しの分かりやすい人になれるような力を身に着けていきましょう。

実際に必要なスキル その2

上記に続いて必要なスキルを述べていきます。国語力に続いて必要なスキルとして数字を操る力が必要になります。これは計算が出来たらいいわけではありません。何せコンピュータですので計算自体は勝手にしてくれるのです。では数字を操るとはどういう意味かと申しますと、計算式そのものを作り、自分の思い描いた通りに数字を変化させることになります。コンピュータへ命令する際、様々な数字を使っていくことになりますがそれらは自分で考えた命令に適切な範囲で、適切な変化の仕方をしてもらう必要があります。その為の範囲の決め方だったり意味のある計算式の記述だったりをしっかりとこなせる力が必要になります。学校の授業だと記述式の文章問題を解く際に使う力です。そしてこの計算式の意味を決めたり、範囲を決めたりするときに先述した国語力を使う必要が出てくるのです。これも日々の勉強の際に毛再意識の意味を考えてみたり、自分で例題を思いうかべてそれに沿った式を作ってみたりして練習していきましょう。

実際に必要なスキル その3

ここまでは学校で鍛えれるスキルを書いていきました。勿論これらは大変重要なスキルですが、更に必要なスキルがあります。それは調べる力です。プログラミングの世界は日進月歩です。常に新しい便利なものが誰かによって作られています。最終的にはそのステージに立ちたいものですが最初の内は厳しいです。自分の目標に使えそうなものを探し出し、それを活用していくスキルを最初は養っていきましょう。ただし、見たままを何も考えずに真似していくだけでは力になりませんので、なぜそれが便利なのか、なぜこのような動きが出来るのか、どのような応用方法があるのか等しっかりと仕組みを把握していくようにしましょう。最初の内は検索に時間がかかったり、何度も同じことを調べてしまうことになりますが、経験を重ねていくうちにより効率のいい検索方法を見つけ、検索した内容を自分の力にしていけるようになっていくはずです。

プログラミングを習得するコツ

プログラミングを習得するには多くの努力が必要になってきます。そんな中で少しでも早く習得するためのコツがあります。それが上3つで述べたスキルを意識することです。例えば国語力をつけるために自分の起こした行動についての説明を頭の中でしてみたり、文章問題を読んで式を立てる練習をしてみたり、そしてこの2つをより効率よくできないかを検索してみたりです。特に検索は日ごろからたくさん行っている人も多いと思います。自分が欲しい情報を探し出す力を身に着けるのを優先すると、他のスキルもついてくるかと思います。専門用語や英単語等、わからないことがいっぱい出てくるかと思いますがそれらを逐一検索し、自分の中で納得できるまで調べてみましょう。納得できなければ他のページを見たり本を読んでみたり、人に聞くのもいいと思います。悩み続けるのではなく情報を集めていく癖をつけましょう。実際、命令のコマンドや文法を全て覚えている人は少ないと思います。検索すればいっぱい出てくるのでその中から欲しいものを選ぶ選択眼を養いましょう。

2020/11/25

橿原市 小学生から始めるプログラミング Scratchで出来る事

Scratchとは

小学生に限らず、プログラミングを触ったことが無い人におススメしたいものがScratchになります。こちらはMIT(マサチューセッツ工科大学)のメディアラボにて開発されました。その開発目的は子どもたちにより楽しく、分かりやすくプログラミングに触れてもらおうというものです。なのでプログラミングを行う際に特に難しいと感じるコーティングの作業がScratchでは必要ありません。また、見た目にも分かりやすくなっているためより感覚的にプログラミングを実施していくことが出来ます。また、子どもたちの将来のために作成されたため、Scratchは無料で利用することが出来ます。ネットの環境さえ整っていれば用途を問わずに誰でもいつでも、全ての機能を利用することが出来ます。これらの特徴から日本でも子ども向けのプログラミング用教材として様々な場所で活用されています。

Scratchで出来る事

Scratchでは自分のアイデア次第で様々なことを実現させることが出来ます。実現させたいな、と思ったことはほぼ実現できるといっても過言ではないかもしれません。しかしそのような素晴らしいアイデアはなかなか一人では思いつきません。そこでScratchでは他の人たちの作品を見たり、その中身を自分の作品に応用することが出来ます。それ以外にも作品を公開することで世界中の人に見てもらい、アドバイスをもらうことも出来ます。自分一人ではなく、様々な人たちと交流し、情報を共有しあうことでより素晴らしい作品を目指していきます。なので出来る事は非常に多岐にわたります。その中でも特に人気のあるものがゲーム製作及びストーリー制作です。実在するものを再現する人もいれば完全にオリジナルの作品を作る人もいます。当教室ではそんなゲーム製作を一つの目標として指導しています。もちろん生徒様が何かしたい、作りたいというものが出来た場合はそちらを最優先し、アイデアを出し合う形に移行していきます。

Scratchでプロジェクトを作る際のコツ 目標を定める

Scratchでプロジェクトを作る際、自分の頭の中には様々な<アイデアやしたいことが浮かんでいると思います。それらを全て詰め込んでいくことが出来れば一番なのですが、実際にはそれぞれで干渉してしまったり、効率があまり良くなかったり等、問題点があとから湧いてくることがよくあります。これらを未然にある程度防ぐためにもまずは作りたい作品のゴールを明確にしましょう。どんなものが作りたいのか、絶対に入れたい動きはどれなのかを予め決めておくことで実際に必要になる動きが少しずつわかってくるかと思います。明確にする際、文章にしてみるのも有効な手段です。文章に直す作業の中で自然に情報も整理していけるはずです。実際の現場でも仕様書と呼ばれる、目標を明確にして必要な物を列挙した資料をまず作成します。また、目標がわかっているので他の人の作品を参考にする際にもどのような作品を見ればよいのか、その作品のどの動きを参考にするべきかを絞ることが出来ます。

Scratchでプロジェクトを作る際のコツ 1つずつコツコツと

目標を決め、必要な物を洗い出したら、次はそれらを実現していきましょう。このとき最も気を付けなければいけないことは途中で動作の確認を挟むことです。最後まで確認せずに最後まで作った場合、エラーや動作不良の原因を探るために1つずつ見直していく必要があります。また、直したと思ったら別の不具合が発生する場合もあります。このような事態を防ぐためには1つ動きを完成させるたびにそれ単体で動作を確認し、問題が無いことを確認しましょう。そうして動作を作り終えてからそれらを組み合わせてチェックしていきます。このように段階を踏んで少しずつ進め、間にチェックを何回も挟んで作業を進めることで確実にゴールへと近づいていくことが出来ます。これはScratchに限らずプログラミングをしていく上でも重要になってきます。焦らず丁寧にチェックを重ねていき、完成を目指していきましょう。

作品が完成したら

上記の作業を何度も繰り返し、作品が完成したら他の人に見せてみましょう。いきなり公開するのが怖い場合はお友達や家族、学校の先生等に見せてみましょう。様々な反応をもらえるはずです。褒められたり笑顔になってもらえたら素晴らしい作品が出来た証拠です。もし次を作るなら特に喜んでもらえたところを意識しつつよりクオリティを上げるためにさらに試行錯誤していきましょう。また、あんまり楽しめてもらえなかった場合でも大丈夫です。何が面白くなかったのかをしっかりと聞きましょう。その部分を直せば素晴らしい作品になるはずです。こういった他の人の意見というのは非常に重要です。素晴らしい作品にしていくためにはどうしても必要になってきます。慣れてきたらScratch上の他の人にも公開したり、逆に他の人の作品にコメントをつけたりしてみましょう。お互いに切磋琢磨していく環境がしっかりと整っているのがScratchですので、有効活用していきましょう。

2020/11/24

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

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

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

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

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

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

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

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

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

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

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

2020/11/21

かしはら市 様々なプログラミング言語について

プログラミング言語とは

プログラムを実行してくれるのはコンピュータです。なのでコンピュータに伝わるように命令をしてあげないといけません。しかしコンピュータは私たち人間の言葉を理解してくれません。その為、コンピュータに理解してもらえる言語として開発されたのがプログラミング言語になります。普段人間が使用している言語と比べると、人間同士だと言葉の裏の意味や行間などを読み取ってくれるためある程度曖昧な指示でも理解してくれます。しかしプログラミング言語は必要な情報が記載されていないとコンピュータは理解してくれず、エラーという形で返事をします。また、記述する順番や文法も重要になってきます。なのでプログラミング言語を記述する際はしっかりと実行したい動きを把握し、それに必要な情報を正しい文法で記述する技術が必要になります。最初は文法等に苦戦するかもしれませんが、それぞれの記述の意味をしっかりと確認しながら読んでいけばおのずと慣れていくと思います。

プログラミング言語の種類

現在、世界では様々なプログラミング言語が存在しております。すべてを合わせると200種類上になります。使用用途に応じて向き不向きがそれぞれの言語に存在します。例えばhtml言語はWebページの制作に向いてるなどです。また各個人の好みの問題も多少あります。言語によって書き方や文法も様々なので自分にとって分かりやすい言語を選択する人もいます。どのプログラミング言語を学習していくかはよく話題に上がりますが、何をしたいかによって変わってきます。まずは目標を決め、それに合わせた言語を選択し学習してくのが一番だと思います。プログラマーになって何がしたいのかをはっきりとしたり、逆にプログラマーは何が出来るのかを検索したりして目標をしっかりと定めてから学習に入ったほうがモチベーションも高まります。目標によっては複数の言語を使用する必要が出てくるかもしれませんがその場合は一つずつ丁寧に学習していきましょう。あれもこれもと手を出しているとどれも中途半端になりがちになります。

htmlとは

htmlとは厳密にはプログラミング言語ではありません。マークアップ言語と呼ばれ、文章及びその文章の性質を表現する言語になります。しかしその他多くのプログラミング言語と同列で語る場合が多いのでここで紹介します。主にWebページを作成する際に使用されており、私たちが普段見ているWebページのほとんどにhtmlが使用されています。その役割はWebページの骨の部分になります。この文章は見出しであるとかここで改行する、ここの文字にはリンクを繋ぐ等Webページの根幹部分を構成する非常に重要な言語になります。Webページの制作やWebライター等の職種の人には必須科目となっております。また、文字のフォントを弄ったり大きさを変えたり背景に色を設定したり等見た目を整える際はhtml言語ではなくcssと呼ばれる言語を組み合わせます。cssとhtmlを組み合わせることで見た目をきれいに整え、メンテナンス性も向上することが出来ます。この2つの言語は記述した結果がすぐに確認できますので初心者の方にもプログラミングの感覚がつかみやすく、お勧めできる言語になります。

JavaScriptとは

JavaScriptも代表的なプログラミング言語のひとつです。こちらはWebページ上での様々な動きをつけるために使用されています。Webページを構成しているオブジェクトのすべてに干渉し、操作することが出来るため、実は普段最も身近にあるプログラミング言語になります。Webページ上の便利な動きのほとんどはJavaScriptで実行されており、例えば入力フォームに適正な形で入力されているかのチェックや検索ページを開いた際に自動で検索ボックスに文字を打てるように準備をしておく等、普段何気なく活用している機能が多くあります。更にJavaScriptの開発には特別な環境は必要ありません。最悪PCに元から入っているメモ帳でも作成することが可能です。しかし、これだけ出来る事が多いため、少し言語としては複雑になりがちです。完全初心者の方はまずScratch等でプログラミング的思考や流れにある程度慣れてから学習をしていく方が身につきやすいです。

PHPとは

PHPはJavaScriptと同じくWebページに動作を付けたり、Webアプリを制作する際に使用される言語になります。JavaScriptとの一番の違いはJavaScriptがブラウザ上で動作しますがPHPはサーバ―上で動作します。そのためこれまでに述べた言語と違い、開発するためにはサーバー上にPHPがインストールされている必要があります。しかしその分サーバー上のデータベースとの連携が簡単だったり、書き込む際にはhtmlに直接埋め込むことが出来るので初心者の方でも簡単に動作のチェックが可能となっています。開発環境さえ整えることが出来れば学習自体は初心者向けであると言えます。PHPはWebページの動的な部分を作る際にほぼ必須となってきます。入力フォーム欄の内容のチェックやメールの自動送信等、お客様とのやり取りで重要になってくる部分にも使われています。HPを制作していく場合は是非とも習得しておきたい言語になります。

2020/11/19

橿原市 プログラミングレッスンで使うオンライン通話zoomアプリ

オンラインレッスンの形式について

現在、様々なレッスンや習い事がオンライン対応に励んております。その対応のさせ方にもいろいろな種類がありますが最も多いのが通話アプリを用いて遠隔で会話をしながらレッスンを進めるスタイルです。授業形式にし、生徒の方が完全に受け身になるパターンや先生が複数の生徒と疑似的な1対1の形を作るパターン等があります。学校の授業なんかはどうしても人数が多くなってしまうため前者のパターンになりやすく、塾や習い事などの場合は後者のパターンを取ることが多いです。また、動画教材を用意し24時間いつでも視聴可能にすることで生徒が自由にレッスンを受けられる形を取るところもあります。このパターンは以前から大手の塾などで活用されていたビデオ教材をイメージしてもらえればいいかなと思います。その他にも課題を出し、それの解答を共有driveに上げてもらうパターンなどもあります。基本的にこれらのパターンから複数のものを組み合わせて、オンラインレッスンを提供しております。

オンライン通話について

上で述べた通りオンラインレッスンを行っていくうえでほぼ必須になってくるのがオンラインでの通話アプリです。特にお互いの顔が確認できるようビデオ通話できるものが必要っとなってきます。しかし、有料のすごい高性能なものを使用するとなるとレッスンの費用が上がってしまいます。そこで無料若しくは低料金(お客様負担にならないもの)で提供されているアプリの中で特に使用率の高いものが幾つかあります。普段使用しているLINEのビデオ通話機能を利用する、Skypeに新しく追加されたMeet Now機能を使用する、Facebookのつながりがそのまま使えるMessenger Roomsを使う等々それぞれにメリットや便利な機能が存在します。今述べたこれらは主にWeb会議使われることが多いです。しかし現在Web会議に限らずオンライン通話アプリで一番知名度の高いアプリはZoomです。特にコロナウィルスが流行しだしてからは爆発的に広まっています。

Zoomとは

何故Zoomが一番使われているのか、その理由はいくつかあると思います。まずミーティングルームを作成する際、主催者はZoomアカウントが必要になりますが参加者の方はアカウントが必要ありません。オンラインでレッスンを行う場合は講師側のみがアカウントを持っていればよいので生徒様に煩わしい作業をお願いしなくて済みます。次に通話中に画面及び音声を録画することが出来ます。例えば生徒様からの要望で復習用に動画を取りたいといった要望に応えることが出来ます。さらにzoomではこちらのPC画面、もしくは生徒様のPC画面をお互いに共有することが出来ます。生徒様の作業内容をオンラインでも確認することが出来、さらにその画面にこちらからコメントや図での説明などを書き込むこともできます。もっとややこしい部分や一旦動作を見せたい、PC設定を弄るために大切な部分を触らなきゃいけない等講師側が操作したい場面では遠隔操作を行うこともできます。これらの機能がデフォルトで、細かい設定も必要なく行うことが出来るため、Zoomアプリが最も使用されています。

更に便利な機能

オンラインレッスンを行う上でさらに便利な機能がZoomにはあります。それはブレークアウトセッションという機能です。本来は会議中グループごとに話し合いをして欲しい場合に設定するものなのですが、これを利用することで同時に複数人と疑似的な1対1の関係を作ることが出来ます。生徒様の人数分のセッションを作成し、それぞれに参加してもらいます。するとメインのルームとは別のグループセッション用のルームに入ります。このルームでは他のルームの様子を見ることは出来ません。講師も基本は参加していませんので完全に一人で集中して作業できます。わからない箇所があったり、作業が終了した際に講師を呼び出したい場合はヘルプを求めるボタンを押せば講師に案内が来るためすぐに来てくれます。講師側は各ルームに自由に参加することが出来るため、各ルームを行ったり来たりすることでそれぞれと疑似的な1対1の関係を作るとこが出来ます。

Zoomアプリの注意点

ここまでZoomアプリの様々な機能について説明してきましたがいくつか注意しないといけない点もあります。まずアカウントについてですが無料でも作成可能ですがその場合いくつか制限が掛かります。録画したデータの保存先が無料版ですと本人のPCのみとなっております。有料版はクラウドにも保存可能になり、データ容量を気にしなくて済みます。また投票機能も有料版のみとなっています。しかし、もっと重要な違いがあります。それがミーティングの時間制限です。同時接続3人以上(これは主催者を含みますのでつまり参加者2人以上)の場合、無料版では制限時間が40分となります。40分が経ちますと強制でミーティングが解散となってしまいます。レッスン時間次第では問題になりませんがもし1レッスン1時間にしていた場合、途中でミーティングを新しく作り直す必要が出てきます。なのでZoomを用いてオンラインレッスンを行う場合、レッスン時間を調整するか有料アカウントを作成することをお勧めします。

2020/11/18

橿原市 子どものプログラミングレッスンはオンラインか教室か

プログラミングを行うためには

プログラミングを行うためには様々な開発環境と呼ばれるものを整える必要があるイメージがあるかと思います。実際、学ぶ言語によっては環境をしっかりと整えないといけないものも存在します。しかし小学生や完全にプログラミング初心者の方には環境を整えるのはかなりハードルが高いです。専用のソフトをインストールしたり、便利なテキストエディタを探したり等、PC関係の知識が無いと少々厳しいことが多いです。しかし、プログラミングの基礎段階をしっかりと学ぶだけなら環境を整えなくともお手軽にプログラミングを行えます。基本的なPC操作(右・左クリックやドラッグ等)とタイピングスキル(どこのキーを押せばどの記号が出るかがわかる程度で大丈夫です)があれば簡単なhtmlファイルを作成可能です。たとえば数字を入力すると自動で計算してくれたり、ランダムでさいころを振ってくれたりしてくれるファイルを作成することが出来ます。

プログラミングレッスンで学ぶこと

実際のレッスンでは教室によって様々な教材があります。それぞれで用いるプログラミング言語やツールなんかも異なってきます。しかしどのレッスンでも最終目標は同じです。プログラミングの最終目標は”自分の思い描いた通りの動きを実現すること”です。なので当教室ではレッスンの際、必ず実現させる動きを先に見せます。本来であれば自分で考えてもらうのが一番ですが最初は何が出来るのかも分からない状態です。なのでお手本として出来る事を明確にし、それを実現するための手段を解説しています。ある程度慣れてきたらどんどんヒントを少なくしていき、最終的には自分で”自分の思い描いた動きを実現すること”を目指してもらいます。必要なものは何なのか、どれを組み合わせるのか、数字はどの範囲でどのような計算をして等等、全部自分で考えてもらいます。もちろん分からないことも出てくるかと思います。そこで私たち講師に質問してもらうのです。最終的には講師というよりアドバイザーのような立ち位置になっていきますね。

オンラインで学ぶメリット

プログラミングをオンラインで学ぶメリットとして大きく3つにわけることが出来ると思います。まず1つ目に自分のPCで行うことでプログラミングが特別なものでない、という感覚を得られることです。教室でレッスンを受けている子の中には教室ではしっかりと操作で来ているのにご自宅では全く触っていない、という子がいます。理由を聞いてみるとご自身のPCで同じことが出来ないと思うから、先生がいないところで触ると壊れそう、といった理由がよく帰ってきます。このように折角プログラミングスキルを磨いていてもそれを発揮できる場面が教室内のみになってしまうことがあります。オンラインでレッスンを行う場合、ご自身のPCで行います。プログラミングに特別なPCが必要ないことが感覚てつかめることが出来ます。次に集中できる環境を作りやすいところです。教室とは違い自室で行うことになるのでリラックスして出来ます。その分集中しやすい環境になるかと思います。最後に移動時間が無いことです。教室に通う場合、どうしても移動時間が発生します。この間は基本的に何もできないので時間の使い方として勿体ないと感じます。オンラインでは移動するに必要が無いのでその分時間を有効に活用できます。

教室で学ぶメリット

次に教室で学ぶメリットについて述べていきます。こちらも大きく3つに分けられます。1つ目に外的刺激が多いことです。教室では他の子達もプログラミングを学んでいます。その子たちへの指導も少しは耳に入ってくるかと思います。そこで楽しそうな話をしていたら自分のやる気に繋がるかと思います。その他にも自室ではないような刺激が生まれる可能性が高いと考えられます。次に対面で教えられることです。身振り手振りを用いたり図示したり等、オンラインでは少し伝わりにくい手段を用いることが出来ます。また、目の前で直接褒めることが出来るのでよりモチベーションも上がりやすいかと思います。最後に通信環境に左右されないことです。オンラインではどうしても通信環境によって通話が途切れてしまったり、音声がぶつぶつになってしまったりする可能性があります。教室に来ていただける場合、来ることさえできれば確実にレッスンを受けられます。

教室とオンラインどちらがよいのか

どちらにもメリットがありますが、その人の性格や個性に合うかどうかが最重要だと考えられます。例えば分からない部分が出てきたとき、自分でしっかりと先生を呼び、わからない箇所を伝えられる人はオンラインレッスンでも問題なく質問が出来ると思います。自分からの発言が苦手な子でも周りに人が居ない場合、ボタンを一押しするだけで先生が呼べる環境なら大丈夫な人でしたらむしろオンラインの方が1対1を作りやすい面もあり、向いていると思います。逆に教室でのレッスンが向いている子は自分から何かをするのが苦手な人です。手が止まっていたり、何か困っていそうな際に雰囲気で察しやすいのは教室になります。オンラインでもこちらから積極的にお声がけするようにはしていますがどうしても教室に比べると気付きにくくなっております。この辺りは受講者様本人の意思と、無料体験レッスンなどで実際に体験してみた感触で判断するのが一番だと思います。もしPC設定や通話アプリの使い方がわからなくてオンラインレッスンを受けられないな、と感じている方はお問い合わせいただければ設定などフォローさせていただきますのでお気軽にお問い合わせください。

2020/11/17

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

プログラミングとは

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

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

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

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

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

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

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

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

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