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

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

公式ブログ

2020/12/04

橿原市 Scratchプログラミングで学ぶゲーム製作

Scratchとは

Scratchとはプログラミングに触ったことが無い人やコーディングに苦手意識を憶えてしまった人に向けて開発されたプログラミングアプリです。すべての機能が無料で仕様することが出来ます。プログラムを作っていくうえでアルゴリズムやフローチャートといった処理の順番や優先順位などを考えなければいけないのですがScratchはそれを視覚的、感覚的に分かりやすく表してくれます。なのでプログラミングに触ったことが無い人でもさせたい動きとそれに必要な処理さえ分かっていればプログラムを作ることが出来るのです。目標を決め、それに必要な動作や処理の順番をあれこれ試行錯誤する過程を感覚的に進めることが出来るのがScratchの良いところです。ゲームを自作する場合もまずはScratchから進めていき、より本格的なものを作りたくなったら別の言語やツールを使っていくことをお勧めします。

ゲームを作る準備

ゲームを作る為にはたくさんの準備が必要になります。まずはゲームのジャンル決めです。どのようなゲームにするのか、格闘ゲームなのかシューティングゲームなのかといったゲームの大まかなジャンルを決めます。その次に実際のゲームの動きについて決めていきます。ここで自分の個性を発揮していきましょう。ただし、あまりにも複雑にすると構築が大変になるので最初の内はシンプルなゲームを作ることをお勧めします。全体の動きを考えた後はその動きを実現するために必要な命令を考えていきます。この際に必要な命令と処理の順番、条件の分岐などを考えていく必要があります。言葉にするとすごく難しく聞こえますが要するにどんな時にどんな動きをさせるかをまとめる作業です。そして最後にゲームに使う画像や音楽などの素材の準備です。これはゲーム製作を始めてからでも大丈夫ですので出来たら準備しておいたほうがいい、程度に考えて大丈夫です。これらの準備を資料にしたものを仕様書と呼び、実際の制作現場では必ず最初に用意するものになります。この仕様書がどれだけ精密でしっかりと書けているかによって作品のクオリティも変わってきます。

実際にゲームを作成していく

仕様書が出来ましたら実際に作成していきます。仕様書にある必要な動きを実現していきます。この際、複数の動きを一気に作り、後でまとめてチェックしてしまうとどの部分で不具合が起きているのか、組み合わせの問題なのかがわからなくなってしまうので1つずつ作り、その都度動作チェックをしていきましょう。Scratchの場合、各動作ごとにプロジェクトを分けてしまうのもお勧めです。その時点で動きがおかしい場合、動きを実現させるためのプログラミングがそもそも間違っていると考えられます。その部分を直していきましょう。ある程度動きが出来てきたら複数を組み合わせましょう。どのように組み合わせればよいのか、処理の順番はどうなのか、分岐の条件は等、試行錯誤しつつ組み合わせていきます。ここで不具合が出てしまった場合、先ほどの組み合わせの部分や処理、条件分岐が間違っていると考えられますのでより良い方法を探りましょう。このサイクルを繰り返していき、目的の動作を実現させます。

他の人を参考にする

先ほどのやり方はすべて自分で考えて作る場合になります。実際にはほとんどの動きは他の人の手によって実現されています。Scratchでは他の人の作品を全て、中身まで見ることが出来ます。さらにその中から気に入ったものをバックパックに入れることで自分の作品に持っていくこともできます。なのでどうしてもアイデアが出ない時や動きの実現方法が思いつかない時は一旦他の人の作品を眺めてみましょう。それが出来るのもScratchを使用するメリットです。様々な作品の中から自分の気に入ったものを探し出し、どの部分がその動きなのかを見つけ出しましょう。もしくは作った本人に尋ねてみるのもいいかもしれません。予期せぬアドバイスをもらえるかもしれませんし、なによりアイデアというものは一人では限界があります。複数人でアイデアを出し合うことでより良い作品を作り出すことが出来ます。そういった交流関係を気付いていける環境がScratchには整っています。

完成した作品をどうするか

上記で述べた作業を何度も繰り返していくことで自分の納得できる作品が出来上がったかと思います。その作品をそのまま自分だけで楽しむものとして終わらせるのもいいですが、他の人と共有してみてはどうでしょうか。Scratchでは簡単に他の人と作品を共有できます。先ほど他の人の作品を参考に、と書きましたが今度は自分が参考にされる番になるのです。しかし、参考にされるだけでは終わりません。他の人が自分の作品を実際にプレイし、感想を言ってくれます。感想はクリエイターにとって一番うれしい反応になります。頂けた感想を糧に更に面白い作品を作るためのモチベーションにしていきましょう。もしくは完成した作品に手を加えてより面白くすることもできます。公開した作品を少しづつ改良していくことをバージョンアップと呼んだりもします。ゲーム製作の最終目標は面白いゲームを作ることです。完成した後もより面白くするための政策は続いていきます。

2020/12/03

橿原市 初心者が感じるプログラミングの壁を超えるには

プログラミングにはどのような壁があるのか

プログラミングに初めて触れる際、どうしても高いハードルを感じるシーンがいくつかあります。まず最初にプログラミングを行っていくうえで必要になる環境を整えていく作業に壁を感じてしまいます。例えばテキストツール等をPCにインストールしていく際、基本的にツール配布サイトは英語です。さらにPCのスペックに応じて適切なバージョンのツールを選択しないと起動すらしてくれないこともあります。そして環境を整え、プログラミングを学習していくと大量に出てくる英語もまた壁の一つになります。コーディングに使用するのはもちろん、プログラミングを行う上で出てくる専門用語もほとんどが英語です。そしてなんとか作り上げたプログラムには大体エラーが付いてきます。そのエラーの原因を探るためにメッセージを見るのですが、このメッセージも英語です。これらが主に初心者が感じる大きな壁だと思います。しかし、実際のところこれらは簡単に解決することが出来ます。以下に記述していきたいと思います。

プログラミングの環境を整える

プログラミングを学んでいく際、まず最初に行う作業が環境の構築です。ここでPCについてのある程度の知識が試されますが、学習したい種類によって難易度が変わってきます。例えばPHPを学びたい場合、動きを確認するためにサーバの準備が必要になってきます。コンパイラと変換用のソフトが必要な言語もあります。これらに比べてJavaScriptやHTMLは特別なソフトが必要ありません。最低限メモ帳アプリがあればコーディングし、プログラムを実行することが出来ます。ただし、メモ帳アプリはとても使いにくいので本格に学習していくならテキストツールをインストールすることになります。テキストツールはたくさんの種類がありますがそのほとんどが英語ベースです。さらにPCのスペックやOSのバージョンに応じてインストールする必要もあります。これも少し難しく感じてしまいます。これらの壁ですが、Google等で検索すると日本語で解説してくれているサイトがたくさんあります。これらを参考にすれば簡単に整えられます。

専門用語を理解していく

環境を整えた後、実際に色々な本やサイトを参考にしてプログラミングを学んでいくのですが次に来る壁として専門用語があります。プログラミングでは普段使わないような単語が頻出します。さらにそれらは英語がメインになっているのでなおさら馴染みがなく、意味が分からずに躓いてしまいがちです。ゲームやアニメの専門用語だと思って何とか一つずつ理解していきましょう。それぞれの意味や使いどころを知ることでプログラミングについて何かわからないことがあった際に参考にしたい文献内容をより理解しやすくなります。最終的にはすべて覚えてしまうのが最善ですが、最初から覚えようとするとそっちにばっかり意識が向いてしまい、肝心のプログラミングの知識まで覚えられなくなってしまいます。これでは本末転倒なので最初はそんな言葉があるんだなぁくらいに思っておき、出てくる度に検索を掛ける程度でいいと思います。それよりも実際のスキルに結び付くであろう知識を優先しましょう。何度も検索をしていく中で自然と単語は頭に入っていくはずです。

コーディングに使われる英語たち

さて、これで環境を整え、参考資料を読めるようになりました。ここから実際にプログラミング作業に入っていくのですがここでさらなる壁にぶち当たります。ほとんどのプログラミング言語では英語がベースになってます。そしてコーディングをしていく際にはその英語をアルファベットのまま打ち込んでいくのです。カタカナでは無く正真正銘の英文を打ち込んでいく印象を持ってしまいます。ここの壁が非常に高く感じやすいです。今まで日常的に英文を打ち込んでいた人は少ないと思います。また、学校で習うような普通の文章とは違い、プログラミング言語独自の文法が存在しています。これらも非常に話をややこしくしてしまいます。ただ、これらも実際に作業していけば気付くのですが決して難しい物ではありません。英語がずらっと並んでいますがそのほとんどは英単語の羅列です。そこに英文の文法は関係ありません。プログラミング言語毎の文法も決して難しくなく、むしろ通常の英文より簡単になっています。1つ1つの意味をしっかりと意識しながら記述していきましょう。

壁を感じてしまった時

プログラミングは慣れるまでに様々な壁が出てきます。上記に上げた以外にも感じたことのある壁は多数あるかと思います。そんなとき、どうすれば壁を越えられるのか、何をモチベーションにすればよいのか、それは最初に自分がプログラミングを学びたいと思った動機を思い出すことです。例えばプログラミングが楽しそうだと思った場合、ややこしい話を抜きにしてプログラミングを楽しめるScratchを触ってみる、他の人の作品を遊んでみる等してプログラミングの楽しさを思い出してみましょう。資格取得や就職のために学んでいる場合、本当に自分にとって必要なのかを考えてみましょう。流行っているから、なんか就職に有利そうだから、等では少し続けるのは難しいです。自分の将来に絶対役に立たせるんだ、という強い意志を持つか純粋にプログラミングに楽しさを見いだせるか、このどちらかが出来ていないと上記の壁を乗り越えることは厳しいです。しかしこれはプログラミングに限らずあらゆる学習に言えることですね。

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

橿原市 プログラミングレッスンはオンラインでも学べるのか

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

プログラミングレッスンと一口にしますが、実際のところ何を学ぶのでしょうか。勿論、教室によって方針は違うかと思いますが、最終目標は同じです。それは自分の思い描いた通りのプログラムを書くことです。その為の考え方を優先するのか、各言語毎の文法を優先するのか等が方針になってきます。例えば当教室では小学生低学年の子にはプログラミングの考え方、プログラミング的思考を意識して指導し、ルールの部分はあまり優先していません。これは先に考え方をしっかりとすることでプログラミング以外の個所でも役に立つのでは、という考えから来ております。高学年の子や中学生以上の子の場合もまずは考え方がしっかりとしているかの確認からします。目標を決め、それに必要な物を自便で考え、わからなければ調べる。この一連の流れが出来る様になっているかで指導の方針を決めます。どの言語を学んでいくにしてもこのサイクルをしっかりとこなしていく必要がありますのでまずはこれの習得を目指します。

オンラインレッスンは実際できるのか

プログラミング学習はオンラインでも可能です。しかしパソコン、それもオンライン通話アプリとプログラミング環境を同時に動作できるスペックが必要になります。プログラミング環境については学習する言語によって異なってきますので、もしわからない場合は各教室にお問い合わせしましょう。環境が整ったら実際のレッスン自体はオンラインでも問題なく行えると思います。プログラミングレッスンで実際に受ける指導の内容はひたすらコーディングになります。Scratchの場合は課題となる作品の完成を目指します。それらは基本的に自力で進めてもらいます。わからない箇所やしたいことがわからなくなったり、完成したはずなのに上手くいかない場合のチェックとして先生に聞くのが基本的な進め方になりますのでそれがオンラインになったとしても問題なくレッスンを行えます。ただ、どうしても手元を常に見ておくことが出来ないため、周りの目が無いと集中出来ないタイプの子はオンラインにはあまり向いていないと言えます。

オンラインレッスンの向き不向き

オンラインレッスンを受けようかどうか悩まれる理由の一つに受講する本人がオンラインでやっていけるかどうか不安だ、というのがあると思います。教室で受けるレッスンと異なり他の生徒がいないため自分一人でやっていくことになります。もちろん先生とオンラインでつながっているため分からない部分は質問出来ますし、新しい内容は最初に解説があります。わからない時に自分から質問出来るかどうかが一番重要になってきます。こちらから様子をうかがうこともありますがそれもずっとではありません。なので先生や周りの目が無いと集中出来ずに手が止まってしまうような子はオンラインレッスンに不向きと言えます。逆に一人だと集中できる、周りに人が居ないほうが先生に質問しやすいと言った子はオンラインレッスンの方が向いていると言えます。特に先生への質問をする際、教室では大きな声を出したりするのが恥ずかしい子でもオンラインではマウスをクリックするだけで先生を呼ぶことが出来ます。

オンラインレッスンを受ける際の注意点

オンラインレッスンは基本的に自分のプライベートスペースで受けることになります。その分リラックスして受講できますし、飲み物や場合によってはおやつなんかも食べて受講できます。大分落ち着いて受講できる反面、普段の生活とのメリハリがついていないとどうしてもレッスンに集中しづらくなってしまいます。また、レッスンの最中には生徒様のパソコン画面を共有して見る機会があります。その際に例えばお父様、お母様のパソコンを貸し与えているとよくある問題点として仕事に関係するファイルがデスクトップ上に存在しており、それを先生方が見てしまう、というパターンです。子ども用のアカウントを別に制作する等して対策をしておく必要が出てきます。また、オンラインですので通信環境にも大きく左右されます。通話が乱れてしまったり、途切れてしまう場面もあるかと思います。そういった場合にしっかりと対応してくれる教室なのかどうか予め確認しておきましょう。

オンラインの今後について

今後、あらゆるものがオンラインに変わっていくと思われます。学校の授業や習い事等の学習だけではなく買い物や仕事等、あらゆるものがオンラインで行われていく世の中になっていきます。そんな中で習い事及び仕事としてプログラミングはどのようになっていくのか。実は凡そ予想はついております。何せプログラミングの世界では既にほとんどがオンライン化しています。ただしこれはプログラミング先進国であるアメリカなどの話です。日本はプログラミング技術においては後塵を拝しております。その影響かオンラインやユビキタス等、ネットワークを使った効率化がほとんど進んでおりません。しかし、今回のコロナウィルスの騒動によって一気にこのあたりの技術が介入し、世の中にあふれてくると思います。そんな先進技術に少しでもなじめるよう、今の内から様々なオンラインサービスに慣れ親しんでいき、これからのより便利になっていくであろう世の中に順応していきましょう。

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を制作していく場合は是非とも習得しておきたい言語になります。

連絡窓口

プログラミングアカデミー;
〒634-0006 奈良県橿原市新賀町232
橋本第2ビル2階
TEL:0744-29-1043
E-mail: info@online.programming-academy.jp

公式チャンネル

ロボットの動画を上げています!!ぜひ見てね!!