見出し画像

【8x9通信】2022年6月号

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!たくさんの生徒さんにプログラミングの楽しさ、奥深さを知っていただけること、とても嬉しいです!みんなで楽しくプログラミングを学んでいきましょう(^^)
それでは、今月の【8x9通信】をお届けします!

初級Ⅰコース

《レッスン内容》

5月は大人気の8x9Craft(ハッククラフト)ではっくんビルディングを実施しました(^^)
はっくんビルディングは体験レッスンのプログラムでも使用されており、ご存じの生徒・保護者の皆様も多いかと思います!
ただ体験レッスン時は1名でチャレンジしていただきましたが、本講座では2〜4名でのチーム協力、反復処理(繰り返し)を活用して建築物を大量生産して点数を競うグループレッスンとなります。

建築物は4種類あり難易度によって点数が決められています。簡単な建築物はたくさん作ってもあまり点数を稼げず、逆に難しい建築物は作ること自体が難しいので時間切れで0点もありえます。
個々のプログラミング能力に加えチーム内での相談・役割分担といった戦略性、協働性も求められるため、生徒のみなさんはチーム内で活発にコミュニケーションを取っていました(^^)

《狙い・成果》

【狙い】
①反復処理(繰り返し)
・処理の自動化を達成するため、繰り返しを活用し効率的にプログラミングを制作する方法を知る
例)50点の建築物(高難度)を繰り返しで大量生産する

②協働性
・自身の役割と作業範囲を能動的に見出す、他者を信頼し作業を任せる、またそれらを達成するために必要なコミュニケーション等、コラボレーションに不可欠な能力を育む
例)自信のある生徒が高難度の建築物にチャレンジ、もし作れなかったとしても保険となるように他の生徒ができるだけ点数の高い建築物を手分けして作る等の作戦会議をしながらプログラミングする

【成果】
初級Ⅰコースで8x9Craftを使用する際はグループレッスンを実施することが多いものの、プログラミングしながら終始リアルタイムで相談・協力しながら進めても良いのがはっくんビルディングの特徴とも言えます。
その甲斐あってか、高難度の建築物作成を繰り返しで完全自動化できた生徒はチームメイトの助けに回ったり、あるいは高難度を選択した生徒が悩んでいる時は複数人で一緒に考えてなんとか完成させようとする姿などたくさんのチームワークを見ることができました(^^)

初級Ⅱコース

《レッスン内容》

初級Ⅱクラスは、4月~5月の2か月かけてScratchで作品作りをしました。今回は、毎年8月9日に行われる「8x9プロコン」にエントリーできるような作品を作り上げることを目標としました。(エントリー必須ではありません)
クイズや迷路、シューティングなど、それぞれが工夫して作品を作り上げていました。
2か月のレッスン時間内では完成できなかった生徒さんもおられると思いますが、Scratchはお家のパソコンでも続きが出来ますので、ぜひ、満足のいく作品を作り上げ、8月の8x9プロコンにエントリーしてみてくださいね!

《狙い・成果》

<狙い>
主に次のような点を生徒に伝えています。
・作品づくりをする時のアイディアの出し方について
・設計書がどうして必要なのか
・スケジュールを書くことで残りどれくらい作業があるか確認する
・色々な人に作品を見てもらうことのメリットを知る

<成果>
設計書やスケジューを書くことが慣れていない生徒もいますが、完璧でなくてもできるところ、わかるこころからやってもらいます。
1年程、初級Ⅱで設計書やスケジュールを作っている生徒は2ヶ月で作品を完成させている生徒が多かったように思います。
モノづくりの流れが身についてきているのだと思われます。
設計書やスケジュールを毎回確認する事で、これから必要な事が見えてきます。こういった経験からプログラミング以外でも段取りして自ら行動する力が身につくと考えています。

中級Ⅰコース

《レッスン内容》

5月後半の中級Ⅰクラスのレッスンは、アウトプットレッスンでした。初級Ⅰの生徒さんたちと同じ8x9クラフトのビルディングというワークを、コードエディタで行いました!

《狙い・成果》

アウトプットレッスンでは、それまでに学んできた知識を自由に使ってプログラミングをします。
「オブジェクト」のカタチを見て、指示を与えるはっくんの動作(ある意味で制限)を踏まえて、まずカタチを実現する順を頭に思い描く必要があります。これは頭の中でプログラムが作れているか?という実力確認となります。そして、一旦作ったところでテストをし、それをさらに数多く効率良く作るための変更を考えることになります。
プログラミング作業において、”一旦動くものを作る”のは、じつはそんなに難しくありません。大事なのは、さらにそこから不具合が起こらないようにしたり、処理として効率良くしたり、将来の更新をしやすくすることであり、それこそがプログラミング作業としては本番であると言っても過言ではありません。
プログラミング学習・能力向上のためには、テキスト通りに打ち込んで、動いて、出来た!終わり!ではないことを実感いただけていると思います!

また、チーム制でのワークになりますので、ワークの最初に(これはゲーム開発やコンピュータシステム開発に限らず)仕事とはチームで成し遂げるものと伝えて、共同作業の打ち合わせ、途中進捗報告、自分の言いたいことを伝える、他の人の言うことに耳を傾ける、議論をする、出来上がったら共に喜び、お互いに感謝をする!ということも実践体験いただいてます!

中級Ⅱコース

《レッスン内容》

【辻クラス】
 私自身、数学が好きなので、プログラミングと関係性の深い、機械学習(AI)、数学・物理・統計・データ分析などのレッスンを実施しています。
 言語は人工知能、機械学習で多く使用されるPython言語を使用しています。
 中級2クラスでは、生徒さんのレベルと、やりたいことに合わせて授業を進めています。
<数学プログラミング>
 統計、度数分布や、回帰直線をグラフで、書きました。グラフはJupyter notebookというノートのようにプログラムと実行結果を並べて表示できるツールを使います。学校の数学ともつながる内容なので、関心を持ってもらえました。
<AI (Deep Learning)>
 「自然言語処理」の手法を学んでいます。Googleのブログサイトから多数のブログデータを抽出し、その言語を元にして、文章を生成する処理を作成しました。データ件数も少ないため、ぎこちない文章でしたが自動生成できてました。
 「画像認識処理」の手法も学んでいます。手書きを数字を描いた画像を判定するプログラムに取り組んでします。
<Webアプリ作成>
 サーバ側の処理を、python で作り、クライアント側の処理を、HTMLで用意して、サーバ ⇔ クライアントを動作させて、Webアプリの基本を学んでいます。
 今月は、同じWebページをjQueryを使った場合と、ライブラリを使わない場合とを長所短所を比較してみました。
<アルゴリズムとデータ構造>
 アルゴリズムとは「問題を解決するための手順や計算方法」のことです。
プログラミングでいうとある処理を実現するための手順になります。
「Aizu Online Judge」(https://onlinejudge.u-aizu.ac.jp/)というWEBサービスを利用して学習しています。与えられた課題を解決するプログラムを書いて、提出すると、あらかじめ用意されたテストデータでテストされて、結果を判定してくれます。
 考える力を養ってもらい、また考える楽しさ、気持ち良さを理解してもらいたいと思っています。

《狙い・成果》

【狙い】
・時代が変わっても役に立つ、基礎となる技術を修得する
・プログラミングを通して数学、物理の理解を深め、より幅の広い開発ができる事を目指す
・プログラミングに限らず、考えることの楽しさを知ってもらうこと
【成果】
・自分で学んで、自分で調べて、自分で解決する力を身につける
・パターンを見抜く力がつき、そこから応用する力に発展させる
・数学に関しては、生徒から次のような声をきいています。
「学校の数学授業の予習になった」「数学が目に見える形になると、おもしろい」「数学が学校以外でも役立つことに気づいた」

【この記事を書いた人】

大原 真希 / インストラクター及び事務スタッフ
大学卒業後、神戸の企業でシステムエンジニアとして働き、出産を機に退職。その後母親業に専念し、徐々に自宅でのプログラム請負やパートでの事務職を経験する。現在は大学で派遣スタッフとして働く傍ら、「キッズプログラミングスクール8x9(ハック)」でのインストラクター兼事務スタッフとして働く。プログラミング、データ加工、業務効率化が好き。Excel、SpreadSheetが得意分野。


この記事が気に入ったらサポートをしてみませんか?