8×9通信 2023年12月号
2023.12.15

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!
12月です🎄 1年が過ぎるのが、年々早くなっている気がしますね・・・。
「生成AI」「ChatGPT」という言葉が流行語大賞にノミネートされ、IT分野においては革新的な変化のあった2023年でした。
来年はどんな変化が待ち受けているでしょう。楽しみですね。

それでは、今月の【8×9通信】をお届けします!

お知らせ

年末年始の休校期間は下記の画像の通りとなります。


※この画像は、六甲道校にトライやるウィークで職業体験に来てくれた中学生が作成してくれました!

 

初級Ⅰコース

《レッスン内容》

11月は、8x9Craftを用いて条件分岐「もしも~」についてしっかり学ぶことのできる、「ライントレース」というワークでした。
スタート位置から赤いブロックのゴールまで、黒いブロックをたどって前にすすみます。

途中、
・もしも緑のブロックが下にあったら、右に曲がる
・もしも青のブロックが下にあったら、左に曲がる
・もしも前にブロックがあったら、上にあがる
・もしも下にブロックが無かったら、下にさがる など、
いくつもの条件分岐を組み合わせ、はっくんをゴールまで導きます。
上手くプログラムを作ることが出来ると、複雑なコースでも、
スタートボタンをクリックするだけで、はっくんが上手にゴールまで進みます!
とても楽しいレッスンとなりました。
最後には、ワールドに作られた大きなサーキットでみんなでレースをしました!

平面のコース

上り下りありのコース

レース場(サーキット)

《狙い・成果》

・プログラミングの力で、思い通りに、モノ(はっくん)を動かすことで、
モノゴトが自動化ができることを実感してもらうこと
・プログラミングの重要な機能である「くり返し」「条件分岐」を学ぶこと
・論理的な思考力を養うこと
・「プログラミングの力って 不思議だな」と感じてもらうこと
・「プログラミングの力って すごいな」と感じてもらうこと
・そして なにより「プログラミングって 楽しいなと」と感じてもらうこと

 

初級Ⅱコース

《レッスン内容》

<自動レジをAIで動かす>

前半でScratchで作った自動レジを改造して、AIに商品を予測させます。
Teachable Machine というツールで写真をとって、機械学習させます。

学習したモデルをScratchから参照します。

AIが予測した結果により、商品をレジに登録します。

<ボールをAIで動かす>

指の形をAIに機械学習させて、ボールを動かすワークも実施しました。
ボールを動かすのが、楽しいようで、何度もくり返して、やっている生徒さんもいました。

<AIの仕組み を のぞいてみる>

機械学習の本質的な部分をのぞいてもらいました。
これまでの授業で使ってきた「学習する」「トレーニングする」という部品の中に実装されている、AIの本質的な部分をのぞいてもらいました。
下のようなツールでAIが学習していく様子が意味は十分には分からないなりに、実感してもらえたようです。
下の動画では、座標データを元に 右の四角の中を青とオレンジのエリアに分ける学習をしています。

機械学習の方法を、いろいろ変えて、どうしたら複雑なデータを分類できるか、
試行錯誤で、試してもらいました。

また、算数の考え方を応用して、AIに効率よく学習させる方法も学びました。

《狙い》

  • 機械学習を体験していただくこと
  • 機械学習をメインにしています。(ゲームをおもしろくするために機械学習を使うのではない)
  • 機械学習そのものを「不思議だな」「なんかしたことのない体験をした」と感じていただきたい。
  • あまり機械学習の難しい概念は説明せずに、大きな流れをつかんでもらうことを意識しています。
  • 機械学習に興味を持っていただくための、入り口になれば良いかと思います。

《成果》

  • 画像をAIに学習させる際、どんな写真を撮ればAIに正しく予測してもらえるか、
    くり返しているうちに、わかってきたようです。
    AIの性質が肌感覚でわかってきたのではないかと思います。
  • うまく予想してくれないときも、面倒がらずに再度機械学習させて、
    どういうデータを学習させたらいいかを試行錯誤で学んでいってました。
  • 「これは みなさんが育てたAIですよ」というと、興味も湧くようでした。
  • AIの仕組みを のぞいたり、さわったりして、AIが機械学習をする大まかなイメージはつかめたと思います。

 

中級Ⅰコース

《レッスン内容》

11月後半はアウトプットレッスンで、はっくんライントレースを実施しました。
はっくんライントレースは初級のブロックプログラミングでも実施している教材であり、「条件分岐」の学習成果・考え方を実践する内容となっており、はっくんが平面の道路や山あり谷ありのコースを自律的に進んでいけるようにプログラミングします。
現実に例えると「交通ルールを学び、そのルール通りに行動すれば安全に通行できるようになる」ということをコンピュータ上で行うイメージです。
最初は平坦なまっすぐな道を進み、「もしも目的地に着いたら」どうする?次に「もしも曲がり角があったら」どうする?はたまた「もしも階段まで来たら」どうする?と次々と変化する状況(問題)に対応(解決)して、最終的にはすごく複雑な地形もまったく同じプログラムでクリアできるようにしていきます!
最後は全員でレース!同じプログラムを作ったはずなのに、なぜか早くなったり、遅くなったり、動けなくなったり・・・と盛り上がりました!

《狙い・成果》

初級(ブロックプログラミング)で実施している内容を、中級(テキストプログラミング)で実施というのは、「同じことをするの?意味があるの?」という声も聞こえてくるかもしれませんが、実はプログラミングの本質を理解できているかの大事な指標になります。
生徒のみなさんはブロックプログラミングでできていたことに対して「もっと上手くできた」「苦戦した」などの結果を受けるのですが、これにより「プログラムの流れの普遍の部分を理解できているか」や「自分自身の実力の把握」をいただくことを狙っています。

アウトプット回では、基礎学習で得た知識を総動員して、問題の解決を試みる場です。
シンプルなコースではシンプルな考えで済みますが、徐々に複雑になり「やってはいけない書き方」「思わぬ例外」にも対応していく必要もあるので、各人の習熟度が顕著に現れる場面が多数あります。
しっかりとこれからの学習に活かせる「反省」「展望」を持っていただけたと思います。同時に、中級1で学ぶ基礎の大事さをより感じていただけていると思います!

なお、この「ブロックプログラミングで実施している内容を、そのままテキストプログラミングで実施」ですが・・・簡単そうに聞こえますがじつはプログラミング教材でこれができるものは世界でもほとんど存在しません。ハックが開発した「8x9craft」だからこそできる、とっておきのプログラミング学習メソッドなのです!!

 

中級Ⅱコース

《レッスン内容1  HTML5・CSS3 WEB開発》

西宮北口校の中級Ⅱコースのレッスンを紹介します!
西宮北口校では、Webシステム開発を行ってもらっています。現在は3名です。中学3年生の女子、高校2年生の男子はWEBサイト課題5つを順に作成していっています。二人とも最後の練習課題に近づき、次はオリジナル作成やPHPのレッスンに入るまでにすすみました!
うまくいかないところは、自分で調べデベロッパーツールからバグを見つけ自分で解決できる力も身についてきました。それでもわからない場合は講師も一緒になってバグ潰しです!

構造タグの構成を覚えていくにはとにかくアウトプットで作っていくのが一番近道!頭の中で再現できないなら、紙に書いてコードと睨めっこします。

11月末でタイミングよく、二人の練習課題が完成したので、お披露目です!
一つ目の動画は中学3年生の女子が作った練習サイトです。コードの意味もしっかり理解して作成できました!「はいお願いしますー」という合図は西北講師の森本です(^^;)
二つ目の動画は高校2年生の男子が作成した練習サイトです!ちょっとつまづく部分もありつつも最後まで作りきりました!
中級2コースは生徒自身のPCに開発環境を作り、ファイル管理や整理、ファイル名の命名ルールなどもしっかり身につけてもらっています!

《レッスン内容2  オリジナル WEBアプリ開発》

高校1年男子は、WEB制作練習は全てクリアし、夏からオリジナルのWEBアプリ開発を頑張ってくれています!
今着手しているのはデータベース作成とフロントエンド部分のモックアップ作りです!

データベースは一から自分で作成してもらい、テーブル(データを格納する場所)も構造からしっかり考えて作ってもらいます。
データベース構造は、Googleスプレッドシートを使い、細かい設定やネーミングなどを決めていきます。

データベースの構造をスプレッドシートでまとめたら、実際にWEB上で構築です!

年明けからのレッスンでは、データベースの内容をフロントエンドに組み込み、動的なページ作りを進めていきます!仕上がりが楽しみです!

 

《狙い・成果》

WEBサイト構築はサイトの仕様・要件・ペルソナを想定し、そこからどんなシステムが必要となるのか、どんな操作が適切なのか、そこをプログラミングしていくためにどの言語を使いどういったコードを目指していくのか、と考える工程がとても大事になります。

これはすべてのモノづくりでも必要な作業になり、大変重量な部分でハックでは初級2コースでもすでにカリキュラムに取り入れています。 西北の中級2コースで学んでもらっている生徒には、その部分をさらに深く取り組んでもらい、仕事にも通じるレベルでアウトプットできる人材となってもらいたいと考えています。

データベース案をまとめるアプリも、講師側で指定せず、生徒本人が使いたいアプリを選んでもらいました。利用するアプリの特徴を調べたり講師に相談したりして、外部に求められるアウトプットの仕上がりレベルや、今自分にできる操作、身につけたいと思うスキルを見極める力をつけて欲しいという狙いでもあります。 IT業界の進化や流行りは他の業種に比べ、格段に早いため、能動的に自分から情報を取りにいくハングリー精神も必要です。 プログラミングを通じて、その意識を自然に持ち、行動に移し、作品成果として形にすることができるような人材になってもらいたいと思っています。

 

《西北中級2おまけ》

中級2コースの男子二人は、西宮北口校のタイピングトップ2です。11月は西北新記録84wpm(1分間に420文字)のハイスコアを更新しました!
その時のタイピングではありませんが、本人たちの許可をもらい15分間タイピング練習の様子を動画に撮りました!

講師陣顔負けのスピードと無駄のない動きでタイピングです。初級コースの小学生たちのお手本に見せようと思っています!