改訂新版・上級D

改訂新版・上級Dコーステキスト

文書を開くパスワードは別途お知らせします。

学習指導案

学習指導案

■単元名
新・上級Dコース Unit1-4 自然言語処理の初歩

■単元の学習目標
自然言語処理の初歩について学ぶ。
文字列の操作について学ぶ。
正規表現について学ぶ。
形態素解析について学ぶ。
文書データの前処理について学ぶ。
頻出単語のカウントについて学ぶ。

■テーマ選定の理由
自然言語処理では単語をベクトルにする手法が主流となっており、様々な成果をおさめている。その基本的な考え方を理解することにより、今後の学習をスムーズに進められるようにする。

■単元の学習計画
カリキュラム
自然言語処理 文字列の操作など Unit1 120分
自然言語処理 正規表現など Unit2 120分
自然言語処理 形態素解析など Unit3 120分
自然言語処理 頻出単語のカウントなど Unit4 120分

■育成したい思考力
ロジカルシンキング

■評価計画
簡単な文字列操作ができる。
形態素解析を理解し、ツールを用いて形態素解析を行える。
頻出単語がカウントできる。

■応用・発展
様々な文書データを用いて、頻出単語をカウントしてみる。

講義

Unit1からUnit4で使用するテンプレートプログラムを以下からダウンロードします。

 

Unit 1(120分)

Python

自然言語処理の初歩
 文字列の操作

AI活用講座

AI活用講座 第37回をご紹介します。

  • 高度なバグの種類を知る〜論理エラー・例外処理・型エラー〜(AI活用講座 第37回):「論理エラー」「例外」「型エラー」という3つの分類を、簡単なコード例で確認します。

Unit 2(120分)

Python

自然言語処理の初歩
 正規表現

AI活用講座

AI活用講座 第38回をご紹介します。

  • claude.aiにエラーの原因を分析してもらう(AI活用講座 第38回):エラーメッセージ全文とコードをセットでAIに提示し、原因分析をしてもらいます。

Unit 1 and 2 講義動画

Unit 3(120分)

Python

自然言語処理の初歩
 形態素解析

AI活用講座

AI活用講座 第39回をご紹介します。

  • claude.aiに修正案を複数出してもらい比較検討する(AI活用講座 第39回):1つのバグの直し方を2〜3パターン、メリット・デメリットつきで提案してもらい、比較検討して選びます。

Unit 4(120分)

Python

自然言語処理の初歩
 頻出単語のカウント

AI活用講座

AI活用講座 第40回、および本コースとの対応が明記されている第33回をご紹介します。実際の授業では、このうちいずれか1回を選んで実施します。

  • Description×デバッグ:再現手順・期待値・実際の結果を伝える(AI活用講座 第40回):「再現手順」「期待する結果」「実際の結果」の3点セットでバグ状況を伝えるテンプレートを使って依頼します。
  • 自然言語処理の簡単なプログラムをAIと作ろう(AI活用講座 第33回):ある文章の中でよく出てくる単語トップ5を数えるPythonコードをAIに書いてもらいます。

Unit 3 and 4 講義動画

学習指導案

学習指導案

■単元名
新・上級Dコース Unit5-8 ネットワークの基礎知識

■単元の学習目標

■テーマ選定の理由

■単元の学習計画
カリキュラム
ITの基礎 Unit5 120分
インターネット Unit6 120分
公開鍵暗号 Unit7 120分
デジタル署名 Unit8 120分

■育成したい思考力

■評価計画

■応用・発展

 

講義

Unit5からUnit8で使用するテンプレートプログラムを以下からダウンロードします。

Unit 5(120分)

Python

ネットワークの基礎知識
 ITの基礎

Roblox演習

この単元で学んだ「ITの基礎」を、Roblox Studio上でも体験します。

  • 2進数の加算回路をスイッチパズルとして再現:AND・OR・NOT回路を組み合わせた半加算器・全加算器の演習を、Robloxでスイッチ(パーツのON/OFF)を使った論理回路パズルに置き換えます。プレイヤーが2進数のビットに見立てたスイッチを切り替えると、AND/OR/NOT回路に対応する仕掛けが動き、足し算の結果(桁上がりと和)がランプなどで表示される、という体験的な学習ができます。

AI活用講座

AI活用講座 第41回をご紹介します。

  • Discernment×デバッグ:修正コードを自分でテストして検証する(AI活用講座 第41回):修正後のコードを「通常値」「境界値」「異常値」の3パターンで自分から確認する習慣をつけます。

Unit 6(120分)

Python

ネットワークの基礎知識
 インターネット

Roblox演習

この単元で学んだ「インターネット」を、Roblox Studio上でも体験します。

  • クライアント・サーバー方式をRoblox自身のしくみとして理解する:クライアント・サーバー型ネットワークの構成を、Roblox自体の通信方式(プレイヤーの操作がサーバーに送られ、他のプレイヤーの画面に反映されるしくみ)に対応づけて解説する教材を作成します。RemoteEventを使って「あるプレイヤーの行動をサーバー経由で全員に伝える」簡単な仕組みを実装し、自分が普段遊んでいるRoblox自体がクライアント・サーバー型であることを体感的に理解できます。

AI活用講座

AI活用講座 第42回をご紹介します。

  • リファクタリング(動くコードをより良くする)をAIと行う(AI活用講座 第42回):「動くけれど読みにくいコード」を「もっと読みやすく整理して」とAIに依頼し、変更前後を比較します。

Unit 5 and 6 講義動画

Unit 7(120分)

Python

ネットワークの基礎知識
 公開鍵暗号

AI活用講座

AI活用講座 第43回をご紹介します。

  • Diligence×デバッグ:修正履歴の記録とレビューの習慣(AI活用講座 第43回):「変更内容」「変更理由」「確認方法」を記録するテンプレートを使い、これまでの修正を振り返って記録します。

Unit 8(120分)

Python

ネットワークの基礎知識
 デジタル署名

AI活用講座

AI活用講座 第44回をご紹介します。

  • 4D総合演習①:テーマ設計〜Delegationの判断(AI活用講座 第44回):これまでの回で扱った要素(関数・暗号・確率統計・データ分析・NLP・WebAPI)を組み合わせたテーマを選び、AIに任せる範囲を判断します。

Unit 7 and 8 講義動画

学習指導案

学習指導案

■単元名
新・上級Dコース Unit9-12 データベースとWeb API

■単元の学習目標

■テーマ選定の理由

■単元の学習計画
カリキュラム
データベースの作成 Unit9 120分
SQL文による操作 Unit10 120分
Web APIの利用 Unit11 120分
Web APIの作成 Unit12 120分

■育成したい思考力

■評価計画

■応用・発展

 

講義

Unit9からUnit12で使用するテンプレートプログラムを以下からダウンロードします。

 

Unit 9(120分)

Python

データベースとWeb API
 データベースの作成

AI活用講座

AI活用講座 第45回をご紹介します。

  • 4D総合演習②:AIとの協働制作〜Description・Discernment(AI活用講座 第45回):claude.aiに仕様を伝えて実装を進め、複数のテストケースで検証しながら追加の指示を出します。

Unit 10(120分)

Python

データベースとWeb API
 データベースのSQL文による操作

Roblox演習

この単元で学んだ「SQL文による操作」を、Roblox Studio上でも体験します。

  • RobloxのDataStoreでCRUD操作を体感するセーブ機能付きミニゲーム:SQLのINSERT/SELECT/UPDATE/DELETEやWeb APIのPOST/GET/PUT/DELETEといったCRUD操作を、RobloxのDataStoreService(プレイヤーデータの保存・読込・更新・削除)を使ったミニゲームに置き換えます。プレイヤーのスコアや持ち物を保存・読み出し・更新・削除する仕組みを作ることで、テキストで学んだCRUDの概念をRobloxの実際の機能として体験できます。

AI活用講座

AI活用講座 第46回をご紹介します。

  • 4D総合演習③:仕上げとDiligence〜完成(AI活用講座 第46回):最終チェックとAI利用の記録を整理し、作品・分析を仕上げて完成させます。

Unit 9 and 10 講義動画

 

Unit 11(120分)

Python

データベースとWeb API
 Web APIの利用

AI活用講座

AI活用講座 第47回、および本コースとの対応が明記されている第34回をご紹介します。実際の授業では、このうちいずれか1回を選んで実施します。

  • 発表準備:AIとの協働プロセスを説明できるようにする(AI活用講座 第47回):「テーマ設定」「指示内容」「検証内容」「記録・工夫点」を整理して発表用メモを作ります。
  • WebAPIを使うプログラムをAIと作ろう(AI活用講座 第34回):無料の天気予報APIからデータを取得して表示するPythonコードの書き方を、利用規約やAPIキー管理の注意点とあわせて依頼します。

Unit 12(120分)

Python

データベースとWeb API
 Web APIの作成

AI活用講座

AI活用講座 第48回をご紹介します。

  • 最終発表会&総まとめ〜大学・社会で通用するAI活用力へ〜(AI活用講座 第48回):完成した作品・分析と協働プロセス(Delegation〜Diligence)を発表し、今後の学習・進路でも活かす意識を持って締めくくります。

Unit 11 and 12 講義動画

 

改訂新版・上級D 課題

課題1 真理値表の問題

全加算回路の真理値表を作成しなさい。

プログラムを使って作成しても良いですし、全加算回路の図を見ながら頭の中で考えても良いです。

ヒント

1.入力はA, Bと桁上がりのC0で全部で2の3乗、すなわち8通りの組み合わせがあります。出力はCとSです。

課題2 IPアドレスの問題

花子さんが学校で使っているPCのIPアドレスを調べたところ、

IPアドレス192.168.3.1
サブネットマスク 255.255.254.0

でした。

花子さんのPCが属しているネットワークのネットワークアドレスを10進表記で答えなさい。

また、このネットワークに接続できる端末の最大数は何台か計算しなさい。

ヒント

1.IPアドレスもサブネットマスクも2進数にしてから考えます。

2.ネットワークアドレスはホスト部を全て0にしたものです。

3.ホスト部を全て0にしたネットワークアドレスと、ホスト部を全て1にしたブロードキャストアドレスには端末を接続できません。

課題3 デジタル署名の問題

あなた(花子さん)と太朗さんと次郎さんはデジタル署名の勉強をしています。あるとき3人でファミレスに行き、ランチを食べていました。すると、太朗さんが、「今度、練習のためにデジタル署名をつけたメッセージを送ってみるよ」と提案しました。
提案内容の詳細は以下のとおりです。
1. メッセージはsha256でハッシュ化します。
2. ハッシュ値を1文字ずつord関数で10進数に変換します。
3. 数字に1を足すシーザー暗号を使ってハッシュ値を暗号化し、これをデジタル署名とします。

しばらくして、あなたの元に差出人不明のメールが届きました。
メールにあったメッセージは
message = “こんにちは花子さん。太朗です。”
でした。

メールについていたデジタル署名は
encrpt = [55, 54, 55, 100, 52, 103, 103, 49, 100, 52, 54, 101, 53, 54, 101, 100, 50, 101, 102, 56, 52, 52, 58, 57, 99, 101, 53, 52, 51, 54, 50, 57, 98, 53, 54, 103, 51, 54, 57, 50, 50, 103, 50, 99, 50, 102, 98, 50, 52, 99, 101, 103, 52, 51, 98, 51, 102, 57, 102, 102, 101, 99, 102, 49]
でした。

このメッセージが太朗さんからのものとしてデジタル署名と矛盾がないことを確かめてください。
次に、このメッセージは本当に太朗さんから送られたものか考察し、自分の考えを述べてください。

ヒント
1. もらったメッセージをsha256でハッシュ化します。
2. デジタル署名を復号します。そのためには各数字から1を引いてchrで元のアルファベットに戻します。
3. メッセージのハッシュ値とデジタル署名の復号結果を比較します。