8×9通信 2023年11月号
2023.11.15

こんにちは、神戸・西宮・大阪・姫路にある現役エンジニアが教えるプログラミング教室、ハックです!
11月も半ばに入り、急に寒くなりましたね。あまりの急激さに慌てて暖房器具を用意しました(;^_^A
先月の初級Ⅱのレッスンは、はじめてのカリキュラムで、AIについて学び、体験してもらいました。
「AIに仕事を奪われる」のではなく、「AIを使いこなし仕事の能率をぐんと上げる」ことのできる人材に育っていってほしいです!
ぜひ初級Ⅱのレポート内容をご覧になってみて下さいね。

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

お知らせ

今年も、トライやるウィークに、4名の中学2年生の男子生徒がハックに職業体験にきてくださいました。
詳しくは、生徒が作成したブログを公開していますのでぜひ読んでみて下さい!
ブログはこちら

 

初級Ⅰコース

《レッスン内容》

FireAlpacaというペイントツールを使い、Scratchで使える素材づくりを行いました。
Scratchでゲームを作る際に、オリジナルのキャラや背景を作ることができます。
基本的な使い方と著作権について学びました。

《狙い・成果》

FireAlpacaを使ったデジタルイラストを描くことを通して、ファイルの種類や保存方法・保存先などPCに必要なスキルを身に着けました。
また、後半レッスンでは著作権について学びました。Scratch内で自分の良く知るキャラクターを使ったゲームなどを例にあげ、
「これはいいこと?悪いこと?」を具体的に考えることができました。
著作権は有名なキャラクターを守るものではなく、すべての人に関係することだと知ってもらうことで、創造(クリエイディブ)ものを大切にしてもらう狙いがあります。
レッスン前には、コミュニティガイドラインのお話をしました。
Scratchコミュニティガイドラインは、Scratchを使う人たちに守ってほしいルールのことです。
今回は ・敬意をもって接すること ・安全に使うこと について考えてもらいました。
頭ではわかっていても、油断してしまいトラブルに巻き込まれることがあります。
その際には、身近な大人(もちろんハックの先生にも!)に相談することが大切だよと伝えました。

 

初級Ⅱコース

《レッスン内容》

<手書き文字を機械学習>

Scratchで機械学習を体験します。
Scratchのペンで描いた「1,2,3」をAIに学習させます。
その後、AIに今までに学習させてない形の「1,2,3」を見せて予測させます。

<自動レジを作る>

Scratchで自動レジを作ります。
Scratchのリスト(配列)を使います。
リストを使うことで、メンテナンス性の良いプログラムを作る方法を学びます。
商品は3秒ごとにランダムに選択されるように作りました。
11月の授業では機械学習させたAIに、カメラに写した「商品」を予測させて、
レジの登録を行ないます。

《狙い》

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

《成果》

  • 何度も手書きの数字を学習させなければならず、退屈するかと危惧していましたが、
    結構、熱心にAIを機械学習させていました。
  • 「これは みなさんが育てたAIですよ」というと、興味も湧くようでした。
  • うまくAIが文字を予測してくれると、うれしそうな様子でした。
  • うまく予想してくれないときも、面倒がらずに、再度、機械学習させて、
    どういうデータを学習させたらいいかを試行錯誤で学んでいってました。

 

中級Ⅰコース

《レッスン内容》

1)ブロックプログラミングからテキストプログラミングへの移行を主目的とした「基礎編」は慣れ親しんだ8x9Craftで学びます。
2)次に基礎知識を応用やテキストプログラミングならではのテクニックを学ぶ「応用編(共通)」をp5.js(OpenProcessing)で学びます。
3)テキストプログラミングで出来ることをしっかり学んだあとは「応用編(選択)」として、選択制で数学、アート、音楽、ゲーム、ホームページ、便利ツールなどのさまざまな分野でのプログラミング・コンピュータの応用・活用を経験していただけます。

《狙い・成果》

※中級Ⅰは初級とは違い、基本的に期間毎の内容の区切りはありませんので、以下は通年の中級Ⅰ自体の狙いと成果となります。
本格的なプログラムをつくるためには、やはりテキストでのプログラミングが必須になってきます。
ゲーム・アプリ・業務システム・科学技術研究・ホームページ・その他のIT技術活用やコンピューティングなどのプログラムは、それぞれの用途目的に適した英語ベースのテキストプログラミング言語でプログラミングをします。
中級Ⅰでは、将来、どのようなテキストプログラミング言語を使うことになっても対応できるような、テキストプログラミングの基礎・本質を身につけることを目標にカリキュラムを定めています。

まずは、初級のブロックプログラミングで学習したプログラム3大要素「順次処理」「繰り返し」「条件分岐」を、改めてテキストプログラミングとして学びます。
8x9craftならではの「同じ目的を、違うプログラミング言語で実現」を活かして、「あ!英語(テキスト)になったからと言っても、ブロックプログラミングとプログラムの流れは変わらないのか!」という感覚をしっかりと体験します。

その後、さらに本格的なプログラミングの文法や考え方を実践を通して身につけていきますが、淡々と教科書通り的にやっていくのではなく、1つ1つ本質を捉えて問題解決に取り組むカタチになっており、1つの課題に何時間もかかることもありますが「仮説と検証」「Try&Error」をたくさん経験し、根気よく粘り強くやれば必ず問題は解決できることを身につけ、チャレンジすることを恐れない心を育んでもらえるようにしています。
また、プログラミングなどの制作作業はチームワークが大事になってくることなどを伝え、コミュニケーションの大事さをプログラミングを通して学びます。これはきっと将来プログラマー以外のお仕事にも活かされていくと考えます。

 

中級Ⅱコース

データ構造とアルゴリズムを学ぶ

 

数学をプログラミングして、数学の理解を深め、プログラミングも学ぶ

【オンライン 辻クラス】

《レッスン内容》

私自身、数学が好きなので、プログラミングと関係性の深い、機械学習(AI)、数学・物理・統計・データ分析などのレッスンを実施しています。
言語は人工知能、機械学習や、データサイエンスで、良く使用されるPythonを使用しています。
中級2クラスでは、生徒さんのレベルと、やりたいことに合わせて授業を進めています。

<数学プログラミング>
中級Ⅱクラスに上がったばかりの生徒さんは、中学数学をプログラミングで学習しています。
高校生の生徒さんは、微分・積分・統計などをプログラミングで、学習しています。
学校でやっている数学をプログラミングでやってみることで、数学をより楽しんで学ぶことができます。
グラフはJupyter notebookというノートのようにプログラムと実行結果を並べて表示できるツールを使います。学校の数学ともつながる内容なので、関心を持ってもらえています。
受験が近い生徒さんには、大学の入試問題の過去問を解いてもらい、プログラミングでグラフを描いて理解を深めてもらうということもしています。

<AI (Deep Learning)>
教師あり学習で画像認識ができる仕組みを学んでます。
特定のフレームワークによらず、機械学習の基礎となる概念を、サンプルコードを元に学んでいます。
最近のChatGPTなどの生成AIの紹介もしています。

<アルゴリズムとデータ構造>
アルゴリズムとは「問題を解決するための手順や計算方法」のことです。
プログラミングでいうとある処理を実現するための手順になります。
「Aizu Online Judge」(https://onlinejudge.u-aizu.ac.jp/)というWEBサービスを利用して学習しています。
与えられた課題を解決するプログラムを書いて提出すると、
あらかじめ用意されたテストデータでテストされて、結果を判定してくれます。
考える力を養ってもらい、また考える楽しさ、気持ち良さを理解してもらいたいと思っています。

<ゲーム数学>
Unityを使って、ゲーム作りの基礎、C#の文法、ゲーム作りに必要な数学、物理を学びます。

《狙い》

・時代が変わっても役に立つ、基礎となる技術を修得する
・プログラミングを通して数学、物理の理解を深め、より幅の広い開発ができる事を目指す
・プログラミングに限らず、考えることの楽しさを知ってもらうこと、
・AIを基礎にしたIT社会に対応していける人になってもう。

《成果》

・自分で学んで、自分で調べて、自分で解決する力を身につける
・パターンを見抜く力がつき、そこから応用する力に発展させる
・数学に関しては、生徒から次のような声をきいています。
「学校の数学授業の予習になった」
「数学が目に見える形になると、おもしろい」
「数学が学校以外でも役立つことに気づいた」
・AIに関しても
「今、急激に普及しつつあるAIの仕組みがイメージできるようになった」