改訂新版・上級Cコーステキスト
学習指導案
学習指導案
■単元名
新・上級Cコース Unit1, 2 タイタニック号データの分析
■単元の学習目標
タイタニック号の乗船者のデータから情報を導き出す。
■テーマ選定の理由
ビッグデータから数学、統計学、計算機科学を駆使して、意味のある情報、法則、現象間の関連姓などを導き出し、新たな価値をもたらすデータサイエンスの分野が注目を浴びている。実際のデータから情報を導き出す経験は将来役に立つと期待される。
■単元の学習計画
カリキュラム
タイタニック号からの生還 Unit1 120分
タイタニック号からの生還 Unit2 120分
■育成したい思考力
ロジカルシンキング
■評価計画
PythonのライブラリであるPandas、Seabornなどを使って簡単なデータの処理ができる。
■応用・発展
他のデータを使って、そこから意味のある情報を引き出してみる。
講義
Unit 1(120分)
Python
AI活用講座
AI活用講座 第25回をご紹介します。
- claude.aiでPythonコードを書いてもらおう(AI活用講座 第25回):「1次関数のグラフを描くPythonコードを書いて」と依頼し、関数定義(引数・戻り値)の構造を確認します。
Unit 2(120分)
Python
AI活用講座
AI活用講座 第26回をご紹介します。
- 数と暗号のプログラムをAIと作ろう(AI活用講座 第26回):シーザー暗号の暗号化・復号プログラムをAIに書いてもらい、鍵(ずらす数)を変えて結果を比較します。
Unit 1 and 2 講義動画
学習指導案
学習指導案
■単元名
新・上級Cコース Unit3-8 AI(人工知能)の初歩
■単元の学習目標
AIの初歩として回帰、分類、クラスタリングについて学ぶ。
■テーマ選定の理由
AIが様々な分野で活用されるようになってくると、その中の仕組みをある程度は知っておいた方が良いと考えられる。しかしながら、多くの生徒にとって、その機会は少ない。ここでは、AIの初歩的なテーマとして、回帰、分類、クラスタリングの3つに焦点を当て、その原理を学び仕組みを理解する。
■単元の学習計画
カリキュラム
AI(人工知能)研究の歴史
回帰 Unit3, 4 各120分
分類 Unit5, 6 各120分
クラスタリング Unit7, 8 各120分
■育成したい思考力
ロジカルシンキング
■評価計画
回帰について理解している。
分類について理解している。
クラスタリングについて理解している。
■応用・発展
ディープラーニングなどのAIの最先端技術について調べてみる。
講義
Unit 3(120分)
Python
AI活用講座
AI活用講座 第27回をご紹介します。
- Description実践:関数の仕様を正確に伝えて実装してもらう(AI活用講座 第27回):「入力」「出力」「例外時の挙動」を明記した仕様書からコードを実装してもらう練習をします。
Unit 4(120分)
Python
AI活用講座
AI活用講座 第28回をご紹介します。
- 確率・統計のシミュレーションをAIと作ろう(AI活用講座 第28回):サイコロを1000回振るシミュレーションをAIに書いてもらい、試行回数と結果の安定性の関係を確認します。
Unit 3 and 4 講義動画
Unit 5(120分)
Python
Roblox演習
この単元で学んだ「分類」を、Roblox Studio上でも体験します。
- パーセプトロンによる二値分類ゲーム:2つのデータ群を1本の直線で分類するパーセプトロンの学習を、Robloxで赤チーム・青チームに分かれたNPCやアイテムの間を仕切る境界線(壁やビーム)を用意し、誤分類されたものがあるたびに境界線を少しずつ回転・移動させて正しく仕分けられるようにするゲームに置き換えます。「重みの調整」が「壁が動いて正しく分ける」という目に見える動作として体感できます。
AI活用講座
AI活用講座 第29回をご紹介します。
- ベイズ統計の考え方をAIに説明してもらう(AI活用講座 第29回):ベイズの定理を身近な例(病気の検査)で説明してもらい、説明とコードの計算結果が一致しているか確認します。
Unit 6(120分)
Python
AI活用講座
AI活用講座 第30回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。
- データ分析プログラムをAIと作ろう(AI活用講座 第30回):テストの点数リストから平均・最大・最小を求めてヒストグラムを表示するPythonコードをAIに書いてもらいます。
Unit 5 and 6 講義動画
Unit 7(120分)
Python
AI活用講座
AI活用講座 第31回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。
- 線形代数・主成分分析をAIと一緒に理解する(AI活用講座 第31回):複数教科の点数データに主成分分析(PCA)を行い、2次元の散布図にまとめるPythonコードを、高校生向けの解説つきで依頼します。
Unit 8(120分)
Python
Roblox演習
この単元で学んだ「クラスタリング」を、Roblox Studio上でも体験します。
- k-meansクラスタリングを拠点集合シミュレーションで再現:6個のデータを2つのクラスタに分ける演習を、Robloxで複数のNPCやパーツを2〜3個の「拠点(重心)」のうち最も近いグループへ移動させ、拠点の位置をグループの平均位置に更新する処理を繰り返すシミュレーションに置き換えます。繰り返すうちに拠点とグループが安定していく様子を、実際に物が動く形で観察できます。
AI活用講座
AI活用講座 第32回をご紹介します。この回は、本コース(Ex-Gram 07)との対応が明記されている回です。
- Discernment実践:分析結果・グラフの妥当性を検証する(AI活用講座 第32回):前回までに作った分析結果について、「軸のスケール」「外れ値の扱い」「元データとの整合性」を具体的にチェックします。
Unit 7 and 8 講義動画
学習指導案
学習指導案
■単元名
新・上級Cコース Unit9-12 線形代数の初歩、主成分分析
■単元の学習目標
線形代数の初歩について学ぶ。
主成分分析について学ぶ。
分散と共分散にについて学ぶ。
アイリスのデータセットで主成分分析を行ってみる。
乳がんのデータセットで主成分分析を行ってみる。
■テーマ選定の理由
線形代数や高次元のデータセットの次元削減が行える主成分分析はデータサイエンスの基礎知識として重要である。その中身を理解することにより、今後のデータサイエンスやAIの学習をスムーズに進められるようにする。
■単元の学習計画
カリキュラム
線形代数 ベクトル、内積など Unit9 120分
線形代数 行列、線形変換、固有ベクトルと固有値など Unit10 120分
主成分分析 分散と共分散、アイリスのデータセットの主成分分析など Unit11 120分
主成分分析 乳がんのデータセットの主成分分析など Unit12 120分
■育成したい思考力
ロジカルシンキング
■評価計画
主成分分析について理解している。
簡単なデータセットの主成分分析を行うことができる。
■応用・発展
様々なデータセットで主成分分析を行ってみる。
講義
Unit9, 10で使用する線形代数の初歩のテンプレートプログラムを以下からダウンロードします。
Unit 9(120分)
Python
線形代数の初歩1
AI活用講座
AI活用講座 第33回をご紹介します。
- 自然言語処理の簡単なプログラムをAIと作ろう(AI活用講座 第33回):ある文章の中でよく出てくる単語トップ5を数えるPythonコードをAIに書いてもらいます。
Unit 10(120分)
Python
Roblox演習
この単元で学んだ「線形代数」を、Roblox Studio上でも体験します。
- 線形変換(回転・反転行列)をパーツの変形で体感:点にx軸対称・y軸対称・回転などの行列を掛けて座標を変換する演習を、Robloxのパーツやモデルを実際にCFrameで回転・反転させる演習に置き換えます。行列の数値操作が3Dオブジェクトの向きの変化として直接見えるため、線形代数の抽象的な計算を直感的に理解できます。
AI活用講座
AI活用講座 第34回をご紹介します。
- WebAPIを使うプログラムをAIと作ろう(AI活用講座 第34回):無料の天気予報APIからデータを取得して表示するPythonコードの書き方を、利用規約やAPIキー管理の注意点とあわせて依頼します。
Unit 9 and 10 講義動画
Unit 11(120分)
Python
Unit11, 12で使用する主成分分析のテンプレートプログラムを以下からダウンロードします。
AI活用講座
AI活用講座 第35回をご紹介します。
- 自分のテーマでミニ分析・ミニツールを企画する(AI活用講座 第35回):自分の興味あるテーマ(部活動の記録分析など)でミニ分析・ミニツールの企画書を、「AIに任せる部分」「自分で確認する部分」も含めて作成します。
Unit 12(120分)
Python
AI活用講座
AI活用講座 第36回をご紹介します。
- クール3まとめ:ミニ分析・ミニツールをAIと共同制作する(AI活用講座 第36回):企画書をもとにclaude.aiと対話しながらプログラムを完成させます。
Unit 11 and 12 講義動画
改訂新版・上級C 課題
課題1 回帰の問題
ある野菜の販売データに基づいて、価格と販売数量の関係を予測する線形回帰モデルを作成し、訓練してください。
モデルを使用して、価格が110円のときの販売数量を予測してください。
以下のデータを使用します:
価格 (円) 販売数量 (個) 50 200 60 180 70 160 80 140 90 120 100 100
ヒント:
1.Pythonライブラリのnumpyとsklearnを使用すると便利です。
2.sklearn ライブラリを使用して、線形回帰モデルを作成するために
from sklearn.linear_model import LinearRegression
を使用します。
3.データは
X = np.array([50, 60, 70, 80, 90, 100]) y = np.array([200, 180, 160, 140, 120, 100])
のように与えるとよいでしょう。
ただし、reshapeが必要です。
4.fit メソッドを使用してモデルを訓練します。
5.predict メソッドを使用して価格が110円のときの販売数量を予測します。
課題2 分類の問題
以下の花のデータを使用して、花が「アヤメ」か「チューリップ」かを分類するモデルを作成してください。
モデルを使用して、新しい花(花弁の長さが5.0cmで花弁の幅が1.5cmの花)の花がアヤメかチューリップかを予測してください。
花 花弁の長さ (cm) 花弁の幅 (cm) アヤメ (1) / チューリップ (0) 花1 5.1 1.4 1 花2 4.9 1.5 1 花3 5.8 1.8 1 花4 5.0 1.4 1 花5 5.9 2.0 1 花6 4.7 3.2 0 花7 4.6 3.1 0 花8 4.5 3.4 0 花9 5.5 4.1 0 花10 5.7 4.2 0
ヒント
1.Pythonライブラリのnumpyとsklearnを使用すると便利です。
2.データは
X = np.array([
[5.1, 1.4],
[4.9, 1.5],
[5.8, 1.8],
[5.0, 1.4],
[5.9, 2.0],
[4.7, 3.2],
[4.6, 3.1],
[4.5, 3.4],
[5.5, 4.1],
[5.7, 4.2]
])
y = np.array([1, 1, 1, 1, 1, 0, 0, 0, 0, 0])
のように与えるとよいでしょう。
3.sklearn ライブラリを使用して、Perceptronモデルを作成してください。
from sklearn.linear_model import Perceptron
を使用します。
4.fit メソッドを使用してモデルを訓練します。
5.predict メソッドを使用して新しい花の分類予測を行います。
課題3 クラスタリングの問題
以下の果物データを使用し、k-means法に基づいて果物を3つのクラスタに分けてください。
果物 重さ (g) 直径 (cm) りんご (Apple) 150 7 バナナ (Banana) 120 3 さくらんぼ (Cherry) 5 1 ぶどう (Grape) 5 1.5 オレンジ (Orange) 180 8 レモン (Lemon) 100 6 メロン (Melon) 1000 15
ヒント
1.Pythonライブラリのmatplotlibとnumpyとsklearnを使用すると便利です。
2.データは
X = np.array([
[150, 7],
[120, 3],
[5, 1],
[5, 1.5],
[180, 8],
[100, 6],
[1000, 15]
])
のように与えるとよいでしょう。
3.sklearn ライブラリを使用して、k-meansクラスタリングを実行してください。
from sklearn.cluster import KMeans
を使用します。
4.fit メソッドを使用してクラスタリングを実行します。
5.labels_ 属性を使用してクラスタリング結果を確認します。
6.クラスタリング結果を表示し、各果物がどのクラスタに属するかを確認します。
