V1.0 2022/2/16

抜粋版
はじめてのＡＩプログラム学習キット６
高等学校情報科「情報Ⅰ」教員研修用教材 完全準拠

情報Ⅰ学習編(Pi4B版）

情報Ⅰ
スペクトラム・テクノロジー株式会社
https://spectrum-tech.co.jp
sales@spectrum-tech.co.jp
all rights reserved 2022 spectrum technology co.

1

学習キット 目次• RaspberryPi運用マニュアル• RaspberryPiについて• Linux基本コマンド• RaspberryPi基本操作• 日常運用（ウイルススキャン、更新）

34568910• 学習キット 全体像• ハード概要• ソフト概要
• 情報Ⅰ
1. 概要
2. 演習
①
②
③
④
⑤
⑥
⑦

ページ
抜粋版のため、本文とページは異なります12

学習１１ コンピュータの仕組み
学習１２ 外部装置との接続
学習１３ 基本的プログラム
学習１４ 応用プログラム
学習１５ アルゴリズムの比較
学習１６ 確定モデルと確率モデル
学習１７ 自然現象のモデル化とシミュレーションall rights reserved 2022 spectrum technology co.

131516202529332

Pi運用マニュアル
1. Raspberry Piについて
既に全世界で1000万台以上販売された手のひらサイズのコンピュータです。
ＬｉｎｕｘベースのＲａｓｂｉａｎＯＳで動作しております。

2. Linux基本コマンド① システム関係• 起動：電源を入れると自動で起動します。
• 再起動：# reboot
又は、アプリケーション>ログアウト>再起動；左上のメニューから• 終了：# shutdown
又は、アプリケーション>ログアウト>シャットダウン；左上のメニューから• ログアウト # logout
又は、アプリケーション>ログアウト>ログアウト；左上のメニューから• 日本語／英語の入力切替：キーボードの全角/半角キーで切替ます。

all rights reserved 2022 spectrum technology co.

3

Pi運用マニュアル
2.

Linux基本コマンド② ディレクトリ操作、コピー、移動、削除
root@:~$ cd /root/Documents
ディレクトリの切り替え
root@:/root/Documents# ls
ファイルとディレクトリの表示（表示したら操作したいファイルを右クリックでコピペして操作します
root@:~# cp ファイル名 ディレクトリ
配下のディレクトリのファイルを別のディレクトリへコピー
root@:~# mv ファイル名 ディレクトリ
配下のディレクトリのファイルを別のディレクトリへ移動
root@:~# rm ファイル名
ファイルの削除
便利な機能 rm –help
コマンドのオプションが分からない場合は、ヘルプで問い合わせる。すべてのコマンド共通(マイナスを２個とhelp)③ ユーザ権限、プロセス他
root@:~ $ su スーパーユーザ（root)に切り替え、パスワードを入力
root@:~# ps a
現状の動いているプロセスを表示
root@:~# kill
特定のプロセスを強制終了
root@:~# apt-get install pkg
パッケージのインストールなどに使用
root@:~# date
日付、時間の設定を行います。
root@:~# leafpad /etc/network/interfaces インタフェースに記述してい内容を変更します。Viよりも使いやすいです。

④ モジュール、usb、メモリ、ＨＤＤなどの表示
root@:~# lsmod
root@:~# lsusb
root@:~# free -mt
root@:~# df -h

linuxのモジュールリスト表示
usbのデバイス表示
メモリ使用状態表示
ＨＤＤ（マイクロＳＤ）の使用状態表示

pi@raspberrypi:~$ sudo
も同様のコマンドになります
all rights reserved 2022 spectrum technology co.

4

Pi運用マニュアル
3. Raspberry Piの基本操作① 表示画面と内容トップ画面（上段のタスクバーで選択）• メニュー• ブラウザ• ファイルマネジャ• ターミナル

•
•
•
•
•
•
•
•

日本語入力
ＶＮＣ
ＣＰＵ使用率
メモリ使用量ＢＬＥ
WiFi音量時刻

all rights reserved 2022 spectrum technology co.

5

Pi運用マニュアル
4. 日常運用①

セキュリティ対策（アンチウイルス更新、スキャン）• アンチウイルス対策として無料のclamAVをインストールしてます。
• 手動での運用を基本としてます。
パターンファイル更新

手動スキャン時に更新されます
手動でスキャン
$ sudo clamscan --infected --remove --recursive
自動化可能ですが、バックグランドで重くなる可能性大。コマンド入力後約30分位かかります。

all rights reserved 2022 spectrum technology co.

6

Pi運用マニュアル
4. 日常運用②

インストール済パッケージの更新リスト、アップグレード• Linuxの場合は、頻繁に更新が発生します。アップグレードを定期的に実施してください。
• 更新前には、バックアップを取ることをお勧めします。特にアップグレードはまれに動作不良、戻せない状態が発生します。自己責任で実施してください。

更新リスト取得$ sudo apt-get update
アップグレード実施$ sudo apt-get upgrade

all rights reserved 2022 spectrum technology co.

7

学習キット 全体像(RaspberryPi版）
ＯＳ
ハードウエア
ＡＩ用物品追加

Raspberry Pi4B+Ｒasbian OSＡＩ系カメラ（オプション）

USB accelerator(オプション）(v2)
画像系

プログラム言語モバイル（オプション）（オプション）
all rights reserved 2022 spectrum technology co.

8ハード概要
本体

品名

項目

内容

Raspberry Pi 4model B

ＣＰＵ

1.5GHz 64bit クアッドコアCoretex-A72

ＧＰＵ

デュアルコア VideoCore VI® 500MHz

メモリ

4GB RAMＯＳ

Raspbian buｌｌseye(Debianベース）

インターフェース

2.4/5GHz WiFi(802.11 bgnac), Bluetooth 5.0, BLE, Bluetooth 5.0, USB
1G ether, USB 2.0x2, USB 3.0x2, micro HDMIx2,3.0追加, microHDMI
microSDカード, 40 GPIO pin
へ

電源／消費電力

Micro USB Type C 3.0A

サイズ

85ｘ56ｘ18mm

付属品

内容

ケース

透明、白、黒から選択できます。

microSD 128GBRaspbian OS, 必要なモジュールをインストールして提供します。お客様が設定するものは必要最低限のパスワード設定、ＷｉＦｉ設定、ＶＮＣ設定になります。

プログラム

Tensorflow, tfjs, Pytorch, 関連pip インストール済,Tensorflow,tfjs, Pythonサンプルプログラム

マニュアル

学習キット設定編、Python学習編、Tensorflow_v1,v2
学習編、Tensorflow.js学習編、Pytorch学習編

ＵＳＢ電源ケーブル、ＨＤＭＩケーブルは付属しておりません。
all rights reserved 2022 spectrum technology co.
別途オプション品を購入ください

備考2021/10リリース

Type Cへ
備考

9ソフト概要①ソフトウエア一覧
提供するソフトウエアの概要です。
区分

ソフト名バージョン

備考

OS

Raspbian

Buｌｌseye 64bit

今回から64bit版になります。

プログラム言語

python3.9.2

Node.js

V10.24

tensorflow

2.6.0

GoogleTensorflow.js1.7.4

GooglePytorch

1.11

Facebook

ＡＩ用プログラム

サンプルプログラム

Mnist,cifar10など

その他

Jupyter notebook、matplotlibなど多数のpipラ
イブラリ

all rights reserved 2022 spectrum technology co.

使用ＡＩ言語により比較が可能

10

ソフト概要②プロトコルスタック
Application Program
Tensorflow(.js)
PytorchRaspberry Pi版
Raspbian
RaspberryPi

プログラム言語:Python, JavaScript

グラフィック版（プログラム提供）
Tensorflow(.js)
PytorchcuDNN

OpenCV

グラフィック版（お客様で準備、設定）
Windows

UbuntuCPU

アプリ

ＡＩ
画像処理（将来）

CUDA

ＯＳGPU

ハード

本格利用には、ＧＰＵ版（グラフィック版）をお勧めします。学習の計算速度が、Raspberry Pi版に比べて、実測で５倍速から１５０倍速とストレスなく学習できます。
all rights reserved 2022 spectrum technology co.

11

高等学校情報科「情報Ⅰ」
１．概要

公式サイト
https://www.mext.go.jp/a_menu/shotou/zyouhou/deta
il/1416746.htm① 概要• 平成30年3月に公示した高等学校学習指導要領に基づき、令和４年度より指導内容を充実されることになり、高等学校情報科担当教員の指導力を高めることが一層重要となっていることから、文部科学省では、都道府県等の研修でも活用できる新学習指導要領に対応した教員研修用教材の作成を行いました。
• 上記の教員用研修教材に基づき、pythonを使用する演習プログラムを提供します。

② 利用方法• 本「情報Ⅰ学習編」を利用する前に、python学習編を習得することをお勧めします。約３０時間で習得できます。
• 本「情報Ⅰ学習編」は、全てpythonのプログラムで動作します。また、MITライセンスに基づき、プログラムの修正、利用は可能です。

③ 範囲• 教員用研修教材「情報Ⅰ」、第３章コンピュータとプログラミングに記載された演習になります。
• /home/pi/Documents/info_highのフォルダ、文科省の資料を参照ください。
• 教員研修_情報1_プログラミング.pdf• 教員研修_情報2_プログラミング.pdf

all rights reserved 2022 spectrum technology co.

12

高等学校情報科「情報Ⅰ」
２．演習① 学習１１ コンピュータの仕組み

入力コマンド$ cd/home/pi/Documents/info_high/info1/11_computer$ python3 info1_diff1.py

全体ページ番号（第３章のページ番号）• 計算誤差（２）プログラミングで誤差を体験 101（7）Float,オーバフローを体験$ cd /home/pi/Documents/info_high/info1/11_computer$ python3 info1_diff1.py• 出力は、ターミナル画面に。

•pythonプログラムをWindowsでさくらエディタなどで開く

RaspberryPi側でのプログラムの実施

all rights reserved 2022 spectrum technology co.

13

高等学校情報科「情報Ⅰ」

入力コマンド$ cd/home/pi/Documents/info_high/info1/13_basic$ python3 info1_basic_for1.py

２．演習③ 学習１３ 基本的プログラム• 順次、分岐などの基本プログラム（４）制御構造のプログラム例 116（22）繰り返しの例、for文$ cd /home/pi/Documents/info_high/info1/13_basic$ python3 info1_basic_for1.py• 出力は、ターミナル画面に。

応用例
range(y)で関数を使いx+=1の１増するプログラムを作ってみよう。

all rights reserved 2022 spectrum technology co.

14

高等学校情報科「情報Ⅰ」

入力コマンド$ cd/home/pi/Documents/info_high/info1/13_basic$ python3 info1_basic_comb1.py

２．演習③ 学習１３ 基本的プログラム• 順次、分岐などの基本プログラム（４）制御構造のプログラム例 116（22）繰り返し,分岐の例、for、if文$ cd /home/pi/Documents/info_high/info1/13_basic$ python3 info1_basic_comb1.py• 出力は、ターミナル画面に。

応用例
range(y)で関数を使いx+=1を使い３で割って、余りが0の時に印刷１づつ値がずれてます。何故か？

all rights reserved 2022 spectrum technology co.

15

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_list1.py④ 学習１４ 応用プログラム• リスト、関数定義などの応用プログラム（１）リスト 122（28）pythonの配列の基本的なリスト$ cd /home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_list1.py
出力は、ターミナル画面に。

応用例
Pythonの配列にはタプル、辞書が他にあります。非常に重要です。python学習編で確認して同じように作成してください。

リストの３番目と７番目の合計

all rights reserved 2022 spectrum technology co.

16

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_ran1.py④ 学習１４ 応用プログラム• リスト、関数定義などの応用プログラム（２）乱数 123（29）ランダム関数で、基準値と比較します。よく使います。
$ cd /home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_ran1.py
出力は、ターミナル画面に。

all rights reserved 2022 spectrum technology co.

ランダム値、基準値、結果と印刷文を変更しています

17

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_web1.py④ 学習１４ 応用プログラム• リスト、関数定義などの応用プログラム（４）WebAPI 125（31）
郵便番号からWebAPIを使って住所を表示する。
$ cd /home/pi/Documents/info_high/info1/14_enhanced$ python3 info1_enh_web1.py
出力は、ターミナル画面に。

http://zipcloud.ibsnet.co.jp/api/searchをつかった例

応用例
Input関数を使って、ターミナルから郵便番号を入力できるプ
ログラムを作成しよう。

all rights reserved 2022 spectrum technology co.

18

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/15_algorithm$ python3 info1_algo_sort1.py⑤ 学習１５ アルゴリズムの比較• 線形、二分探索のアルゴリズムを理解（２）ソート 128（34）ソートする。
$ cd /home/pi/Documents/info_high/info1/15_algorithm$ python3 info1_algo_sort1.py
出力は、ターミナル画面に。

リストからひとつづつ小さいものに置き換えて、並び替える

応用例
time関数を使って、ソート時間を算出するプログラムを作成。

all rights reserved 2022 spectrum technology co.

19

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/16_model$ python3 info1_model_comp1.py$ python3 info1_model_graph1.py⑥ 学習１６ 確定モデルと確率モデルモデル化し、シミュレーションを行う（２）確定モデル 136（42）
複利計算を行う。
$ cd /home/pi/Documents/info_high/info1/16_model$ python3 info1_model_comp1.py$ python3 info1_model_graph1.py
出力は、ターミナル画面に。グラフも応用例
input関数を使って、金額と年利を入力するプログラムを作
成

all rights reserved 2022 spectrum technology co.

20

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/16_model$ python3 info1_model_pie1.py$ python3 info1_model_scat1.py⑥ 学習１６ 確定モデルと確率モデルモデル化し、シミュレーションを行う（３）確率モデル 136（42）モンテカルロ法により円周率、散布図など表示。
$ cd /home/pi/Documents/info_high/info1/16_model$ python3 info1_model_pie1.py$ python3 info1_model_scat1.py 出力に数分かかります

応用例
試行回数を変更して違いを確認してみましょう。

all rights reserved 2022 spectrum technology co.

21

高等学校情報科「情報Ⅰ」
２．演習

入力コマンド$ cd/home/pi/Documents/info_high/info1/17_simulation$ python3 info1_sim_radum1.py⑦ 学習１７ 自然現象のモデル化とシミュレーション
自然現象のモデル化、シミュレーションを行う（３）生命体の増加 144（50）乱数を使ったランダムウォークでシミュレーション。
$ cd /home/pi/Documents/info_high/info1/17_simulation$ python3 info1_sim_radum1.py

応用例
パラメータを変えて、シミュレーションしてみよう。

all rights reserved 2022 spectrum technology co.

22