コンピューターサイエンス(スライド資料15回ほか)

【概要】 本教材は、情報工学の基礎を15回の講義で学ぶためのスライド資料と演習で構成されている。情報工学は、プログラミング、人工知能、データベース、情報セキュリティなどの分野を包含する学問である。プログラミングは、人間の意図を論理的手順としてコンピュータに伝える活動である。人工知能は、知能、知識、学習の3要素を持つシステムであり、言語処理や画像認識などに活用される。ただし、創造性や倫理的判断には限界があるため、人間の補助ツールとして活用することが望ましい。データベースは、大量のデータを効率的に管理するための基盤技術である。情報セキュリティは、デジタル社会において情報を安全に扱うための対策であり、ウイルス対策やパスワード管理がその基本となる。

本資料は、大学授業用に作成したものを更新・改良して公開している。 クリエイティブコモンズ 表示-非営利-継承 4.0 国際ライセンス(CC BY-NC-SA 4.0) で提供しており、事前の許可なく利用できる。利用条件は、著作者表示(BY)、非営利目的のみ(NC)、同一ライセンスでの再配布(SA)の3点である。

目次

  1. cs-1. 無料ソフトウエア、無料データ、エコシステム、Scratch プログラミング、Scratch のキャラクタ [PDF], [パワーポイント], [HTML]

    【概要】Scratchは、ビジュアルなブロックを組み合わせてキャラクタを制御する教育用プログラミング環境である。ブロックの組み合わせにより動作を定義でき、繰り返しや条件分岐などの制御構造も実現できる。プログラミングの基本概念を視覚的に学習でき、論理的思考力の育成に有効である。

  2. cs-2. コンピュータによる画像制作、人工知能でできること、情報のコード化、デジタル画像、画素 [PDF], [パワーポイント], [HTML]

    【概要】デジタル画像は、画素(ピクセル)と呼ばれる小さな点の集合で構成される。各画素はRGB(赤、緑、青)の3つの数値でコード化される。この仕組みにより、画像データをコンピュータで処理することが可能となり、人工知能による画像生成や編集が実現されている。

  3. cs-3. パノラマ画像、ストリートビュー、3次元コンピュータグラフィックス [PDF], [パワーポイント], [HTML]

    【概要】3次元コンピュータグラフィックスでは、ポリゴン(多角形の平面図形)を組み合わせてポリゴンメッシュ(多角形の集合体)を構成し、3次元モデルを表現する。Blenderなどの3DCGソフトウェアを使用することで、3次元モデルの作成、編集、映像制作が可能となる。

  4. cs-4. プログラミング入門 [PDF], [パワーポイント], [HTML]

    【概要】プログラミングは問題解決のための活動であり、Python、Java、Cなど多様な言語が存在する。各言語には固有の特性があり、目的に応じて選択する。プログラミングにより作業の自動化や効率化が可能となるが、コンピュータの計算には精度の限界があることを理解する必要がある。

  5. cs-5. 人工知能の概要 [PDF], [パワーポイント], [HTML]

    【概要】人工知能は、知能知識学習の3要素を持ち、言語処理、画像認識、データ分析など多様な分野で活用される。24時間稼働や大量データ処理が可能である一方、創造性や倫理的判断には限界がある。人間の補助ツールとして活用し、最終判断は人間が行うことが望ましい。

  6. cs-6. データベースシステムとデータサイエンス [PDF], [パワーポイント], [HTML]

    【概要】データベースは現代社会に不可欠な基盤技術であり、データサイエンスはデータベースから有益な情報を引き出す学問である。Excelなどの表計算ソフトを使用することで、データの集計、分析、可視化が可能となり、意思決定や問題解決に活用できる。

  7. cs-7. 乱数、シミュレーション [PDF], [パワーポイント], [HTML]

    【概要】乱数は予測不可能な数値を生成する技術であり、一様分布(全ての値が同じ確率で出現)と正規分布(平均値付近に集中)の2種類がある。Excelでは「RAND()」関数で一様分布の乱数を生成できる。乱数は、不確実性を含む現象の分析に活用される。

  8. cs-8. 表計算ソフトウェアを用いたデータの扱い [PDF], [パワーポイント], [HTML]

    【概要】Excelでは、散布図の色分けによるクラスタ分析(類似データのグループ化)やVLOOKUP関数(表からのデータ検索)が可能である。セル参照には絶対参照($記号使用、参照先を固定)と相対参照(コピー時に参照先が移動)があり、これらを使い分けることで効率的なデータ分析が実現できる。

  9. cs-9. 一次式、線形計画法 [PDF], [パワーポイント], [HTML]

    【概要】線形計画法は、限られた資源の制約条件(満たすべき条件式)の下で目標関数(最大化または最小化したい式)を最適化する手法である。Excelで計算することで、生産計画や資源配分の最適解を求めることができる。

  10. cs-10. Python プログラミングの基本 [PDF], [パワーポイント], [HTML]

    【概要】Pythonプログラミングでは、オブジェクト(データと操作をまとめたもの)にメソッド(オブジェクトに対する操作)を適用して処理を行う。CodeCombatやタートルグラフィックス(カーソルの軌跡で図形を描画する手法)を使った演習を通じて、プログラミングの基本概念を視覚的に理解する。

  11. cs-11. 式の抽象化と関数 [PDF], [パワーポイント], [HTML]

    【概要】Pythonプログラミングでは、inputによる入力とprintによる出力、defによる関数定義が基本となる。関数は類似した処理を抽象化(共通部分をまとめること)することでコードの再利用性を高め、保守性向上とバグ防止に寄与する。

  12. cs-12. 条件分岐と繰り返し、ステップ実行 [PDF], [パワーポイント], [HTML]

    【概要】Pythonプログラミングでは、変数による値の保存と参照、if-elseによる条件分岐、リストによる複数要素の管理、forによる繰り返し処理が基本となる。これらを組み合わせることで、効率的なデータ処理や計算を実現できる。

  13. cs-13. プロセッサ、メモリ、文字コード、論理演算と足し算 [PDF], [パワーポイント], [HTML]

    【概要】コンピュータはプロセッサ(演算装置)とメモリ(記憶装置)を中心に構成され、全てのデータを2進数(0と1の組み合わせ)で処理する。論理演算(AND、OR、NOT)を組み合わせて複雑な計算を実現する。OS(オペレーティングシステム)がハードウェアとソフトウェアの橋渡しを行う。

  14. cs-14. 情報化社会でのマナー、情報セキュリティ [PDF], [パワーポイント], [HTML]

    【概要】デジタル社会では情報の流通と共有が活発化し、個人も情報発信者となる。そのため、情報の真偽確認、プライバシー保護、セキュリティ対策(ウイルス対策、パスワード管理)が必要である。フェイクニュース(虚偽情報)やマルウェア(悪意のあるソフトウェア)への注意が求められる。

  15. cs-15. 全体まとめ [PDF], [パワーポイント], [HTML]

    【概要】情報工学は、AI、データベース、3次元CG、プログラミングなど多様な技術を扱う分野である。全てのデータはデジタル化され、コンピュータで処理される。これらの技術は社会の発展に不可欠であり、セキュリティへの配慮も必要である。

サイト内の関連ページ

資料

cs-1. 無料ソフトウエア、無料データ、エコシステム、Scratch プログラミング、Scratch のキャラクタ

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs1-scratch-scratch-258351961

【概要】Scratchは、ビジュアルなブロックを組み合わせてキャラクタを制御する教育用プログラミング環境である。ブロックの組み合わせにより動作を定義でき、繰り返しや条件分岐などの制御構造も実現できる。プログラミングの基本概念を視覚的に学習でき、論理的思考力の育成に有効である。

【関連する外部ページ】

Scratch(ビジュアルプログラミング環境): https://scratch.mit.edu

Scratchはアカウント登録なしでも利用可能である。作品を保存する場合はアカウント登録が必要となる。

cs-2. コンピュータによる画像制作、人工知能でできること、情報のコード化、デジタル画像、画素

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs2-258351976

【概要】デジタル画像は、画素(ピクセル)と呼ばれる小さな点の集合で構成される。各画素はRGB(赤、緑、青)の3つの数値でコード化される。この仕組みにより、画像データをコンピュータで処理することが可能となり、人工知能による画像生成や編集が実現されている。

【関連する外部ページ】

情報源:

バーチャル美術館:

ルーブル美術館オンラインツアー: https://www.louvre.fr/en/online-tours

デジタルアート制作:

AutoDrawでは、"Start Drawing"を選択して描画を開始する。

機械学習デモ:

これらのデモは、機械学習による画像生成の仕組みを体験できる。

3DCG制作(オプション):

Blender(無料3DCGソフトウェア): https://blender.jp/

cs-3. パノラマ画像、ストリートビュー、3次元コンピュータグラフィックス

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs3-258351983

【概要】3次元コンピュータグラフィックスでは、ポリゴン(多角形の平面図形)を組み合わせてポリゴンメッシュ(多角形の集合体)を構成し、3次元モデルを表現する。Blenderなどの3DCGソフトウェアを使用することで、3次元モデルの作成、編集、映像制作が可能となる。

【関連する外部ページ】

360度パノラマ写真サービス:

360 cities: https://www.360cities.net/

Google Earthを用いた作品:

映像作品(Vimeo、作者: Matteo Archondis): https://vimeo.com/203253308

地図サービス:

cs-4. プログラミング入門

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs4-258351991

【概要】プログラミングは問題解決のための活動であり、Python、Java、Cなど多様な言語が存在する。各言語には固有の特性があり、目的に応じて選択する。プログラミングにより作業の自動化や効率化が可能となるが、コンピュータの計算には精度の限界があることを理解する必要がある。

【関連する外部ページ】

Python Tutor: https://pythontutor.com/

Python Tutorは、プログラムの実行過程を1行ずつ可視化するツールである。変数の値の変化を視覚的に確認できるため、プログラムの動作理解に役立つ。

【演習】

演習1: 基本的な計算

Pythonで四則演算を実行し、計算結果を確認する。

print(100 * 200)
x = 100

演習2: 日時の取得と表示

datetimeモジュールを使用して現在の日時を取得する。

import datetime
now = datetime.datetime.now()
print(now)

演習3: 数学関数の使用

mathモジュールを使用して数学的な計算を行う。

import math
print( math.gcd(24, 18) )  # 最大公約数の計算
import math
print( math.sqrt(7) )  # 平方根の計算
import math
print( 3 * 3 * math.pi )  # 円の面積計算
import math
print( (1/2) * 4 * 6 * math.sin(60 * math.pi / 180) )  # 三角形の面積計算

演習4: 浮動小数点数の特性

コンピュータでは小数を正確に表現できない場合がある。この演習で浮動小数点数の精度の限界を確認する。

print(1/3)  # 循環小数の表示
print(1/6)  # 循環小数の表示
print(1/9)  # 循環小数の表示
print(0.333333333333333 * 3)  # 浮動小数点数の精度
print(100 * 1.1)  # 消費税計算の例
print(150 * 1.1)
print(200 * 1.1)

cs-5. 人工知能の概要

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs5-258351999

【概要】人工知能は、知能知識学習の3要素を持ち、言語処理、画像認識、データ分析など多様な分野で活用される。24時間稼働や大量データ処理が可能である一方、創造性や倫理的判断には限界がある。人間の補助ツールとして活用し、最終判断は人間が行うことが望ましい。

【関連する外部ページ】

人工知能のデモンストレーション:

以下のサイトで人工知能の動作を体験できる。外部サービスのため、利用規約を確認の上で使用すること。

画像生成・処理AI:

創作支援AI:

機械翻訳:

ニューラルネットワークの学習過程可視化:

TensorFlow Playgroundでは、ニューラルネットワークがデータを分類する過程を視覚的に確認できる。

cs-6. データベースシステムとデータサイエンス

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs6-258352007

【概要】データベースは現代社会に不可欠な基盤技術であり、データサイエンスはデータベースから有益な情報を引き出す学問である。Excelなどの表計算ソフトを使用することで、データの集計、分析、可視化が可能となり、意思決定や問題解決に活用できる。

【演習】

演習1: データの可視化

散布図を作成することで、2つの変数間の関係を視覚的に把握できる。傾向やパターンの発見に有効である。

次のデータについて、Excelを用いて散布図を作成する。データは総務省が公開しているものを使用している。

1985 1432 752
1990 1222 820
1995 1187 922
2000 1191 962
2005 1063 1084
2010 1071 1197

演習2: データの基本統計量

合計や平均を算出することで、データの全体像を数値で把握できる。

演習1のデータについて、Excelを用いて合計と平均を算出する。

【関連する外部ページ】

パソコン室設置のパソコンにはExcelがインストールされている。BYOD(個人のデバイスを持ち込んで使用すること)でMicrosoft 365を使用する場合は、以下のURLからアクセスできる。

Microsoft 365: https://portal.office.com

cs-7. 乱数、シミュレーション

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs7-258352021

【概要】乱数は予測不可能な数値を生成する技術であり、一様分布(全ての値が同じ確率で出現)と正規分布(平均値付近に集中)の2種類がある。Excelでは「RAND()」関数で一様分布の乱数を生成できる。乱数は、不確実性を含む現象の分析に活用される。

【演習】

シミュレーションにより、実験や観測が困難な現象を計算機上で再現し、分析できる。

  1. 一様分布の乱数(範囲は-1から1)の生成(資料中に記載、Excelを使用)
  2. モンテカルロシミュレーション(乱数を用いた数値計算手法)による円周率の算出(資料中に記載、Excelを使用)
  3. 待ち行列シミュレーション(窓口での待ち時間などを分析する手法): ランダムな到着と到着間隔の分析(資料中に記載、Excelを使用)

【関連する外部ページ】

cs-8. 表計算ソフトウェアを用いたデータの扱い

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/kunihikokaneko1/cs8-258352023

【概要】Excelでは、散布図の色分けによるクラスタ分析(類似データのグループ化)やVLOOKUP関数(表からのデータ検索)が可能である。セル参照には絶対参照($記号使用、参照先を固定)と相対参照(コピー時に参照先が移動)があり、これらを使い分けることで効率的なデータ分析が実現できる。

【演習】

演習1: データ分析の基礎(Excelを使用)

データを分類・可視化することで、隠れたパターンや傾向を発見できる。

アヤメの花のデータセット:

機械学習の入門でよく使用されるデータセットである。花弁の長さと幅から品種を分類する。

petal_length	petal_width	species
1.4	0.2	setosa
1.4	0.2	setosa
1.3	0.2	setosa
1.5	0.2	setosa
1.4	0.2	setosa
4.7	1.4	versicolor
4.5	1.5	versicolor
4.9	1.5	versicolor
4.0	1.3	versicolor
4.6	1.5	versicolor
6.0	2.5	virginica
5.1	1.9	virginica
5.9	2.1	virginica
5.6	1.8	virginica
5.8	2.2	virginica

タイタニック号の乗客データ:

元の1309名分のデータから抽出した100名分のデータである。生存率と各属性の関係を分析できる。

Survived	Age	Fare
0	22	7.25
1	38	71.2833
1	26	7.925
1	35	53.1
0	35	8.05
0		8.4583
0	54	51.8625
0	2	21.075
1	27	11.1333
1	14	30.0708
1	4	16.7
1	58	26.55
0	20	8.05
0	39	31.275
0	14	7.8542
1	55	16
0	2	29.125
1		13
0	31	18
1		7.225
0	35	26
1	34	13
1	15	8.0292
1	28	35.5
0	8	21.075
1	38	31.3875
0		7.225
0	19	263
1		7.8792
0		7.8958
0	40	27.7208
1		146.5208
1		7.75
0	66	10.5
0	28	82.1708
0	42	52
1		7.2292
0	21	8.05
0	18	18
1	14	11.2417
0	40	9.475
0	27	21
0		7.8958
1	3	41.5792
1	19	7.8792
0		8.05
0		15.5
1		7.75
0		21.6792
0	18	17.8
0	7	39.6875
0	21	7.8
1	49	76.7292
1	29	26
0	65	61.9792
1		35.5
1	21	10.5
0	28.5	7.2292
1	5	27.75
0	11	46.9
0	22	7.2292
1	38	80
0	45	83.475
0	4	27.9
0		27.7208
1		15.2458
1	29	10.5
0	19	8.1583
1	17	7.925
0	26	8.6625
0	32	10.5
0	16	46.9
0	21	73.5
0	26	14.4542
1	32	56.4958
0	25	7.65
0		7.8958
0		8.05
1	0.83	29
1	30	12.475
0	22	9
1	29	9.5
1		7.7875
0	28	47.1
1	17	10.5
1	33	15.85
0	16	34.375
0		8.05
1	23	263
0	24	8.05
0	29	8.05
0	20	7.8542
0	46	61.175
0	26	20.575
0	59	7.25
0		8.05
0	71	34.6542
1	23	63.3583
1	34	23
0	34	26

演習2: Excel関数の基本(絶対参照と相対参照)

絶対参照と相対参照を使い分けることで、数式を効率的にコピーできる。

商品販売データの例:

氏名	商品名	数量	単価	合計
AA	みかん	3			みかん	50
BB	メロン	2			りんご	100
CC	りんご	5			メロン	500

【関連する外部ページ】

パソコン室設置のパソコンにはExcelがインストールされている。BYOD(個人のデバイスを持ち込んで使用すること)でMicrosoft 365を使用する場合は、以下のURLからアクセスできる。

Microsoft 365: https://portal.office.com

cs-9. 一次式、線形計画法

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/slideshow/cs9-252037293/252037293

【概要】線形計画法は、限られた資源の制約条件(満たすべき条件式)の下で目標関数(最大化または最小化したい式)を最適化する手法である。Excelで計算することで、生産計画や資源配分の最適解を求めることができる。

【演習】

線形計画法を用いることで、限られた資源を最も効率的に配分する方法を求められる。

演習1: 変数xについての線形式(1次式)

線形式をグラフ化し、式と直線の関係を確認する。

5x + 3

この式をグラフ化し、散布図として表示する。

演習2: 変数x、yについての線形式

2変数の線形式を理解する。

たまご = 2x + y
牛乳 = 100x + 200y

これらの式について、xとyに様々な値を代入して計算結果を確認する。

演習3: 変数x、yについての線形不等式(制約条件)

制約条件を満たす領域を理解する。

たまご: 2x + y ≦ 10
牛乳: 100x + 200y ≦ 1000

xとyの値の組み合わせによって、制約条件を満たす場合と満たさない場合がある。

演習4: 目的関数の最大化(線形計画法)

制約条件の下で売り上げを最大化する。

売り上げ = 150x + 200y を最大化する。

xはプリン(150円)、yはケーキ(200円)の個数を表す。詳細は資料のページ58を参照すること。

【Excelファイル】

【関連する外部ページ】

cs-10. Python プログラミングの基本

【資料】 [PDF], [パワーポイント]

SlideShare: https://www.slideshare.net/slideshow/cs10-python-252041852/252041852

【概要】Pythonプログラミングでは、オブジェクト(データと操作をまとめたもの)にメソッド(オブジェクトに対する操作)を適用して処理を行う。CodeCombatやタートルグラフィックス(カーソルの軌跡で図形を描画する手法)を使った演習を通じて、プログラミングの基本概念を視覚的に理解する。

【演習】

演習1: CodeCombat(プログラミング学習ゲーム)

ゲーム形式でプログラミングの基本を学習できる。

https://codecombat.com

注意事項:

演習2: 図形描画の基本

タートルグラフィックスで座標を指定して線を描画する。

https://trinket.io/python/f29bfe71cd

このリンクでは、次のプログラムをオンラインで実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

import turtle
t = turtle.Turtle()
t.goto(0,100)
t.goto(100,0)

演習3: 図形描画の応用

複数の座標を指定して星形を描画する。

https://trinket.io/python/5366def2f4

このリンクでは、次のプログラムをオンラインで実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

import turtle
t = turtle.Turtle()
t.goto(0, 100)
t.goto(58, -80)
t.goto(-95, 30)
t.goto(95, 30)
t.goto(-58, -80)
t.goto(0, 100)

演習4: 色付き図形の描画

繰り返し処理と配列を組み合わせて、色を変えながら図形を描画する。

https://trinket.io/python/f8cd554693

このリンクでは、次のプログラムをオンラインで実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

import turtle
t = turtle.Turtle()
colors = ["red", "green", "blue"]
for i in range(3):
t.color(colors[i])
t.circle(30)
t.forward(50)

cs-11. 式の抽象化と関数

【資料】 [PDF], [パワーポイント]

【概要】Pythonプログラミングでは、inputによる入力とprintによる出力、defによる関数定義が基本となる。関数は類似した処理を抽象化(共通部分をまとめること)することでコードの再利用性を高め、保守性向上とバグ防止に寄与する。

【演習】

演習1: 変数の基本操作

変数に値を代入し、計算結果を確認する。

https://trinket.io/library/trinkets/1e414fec80

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

x = 100
y = 200
x = x + 100
y = y + 100
print("x =", x)
print("y =", y)

演習2: 繰り返し処理の基礎

for文を使用して同じ処理を繰り返す。

https://trinket.io/python/27f6ebe1da

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

for i in range(10):
print(i * '&')

https://trinket.io/python/b7eb532453

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

s = 1
for i in range(5):
s = s * (i + 1)
print(s)

演習3: タートルグラフィックス

繰り返し処理を使用して図形を描画する。

https://trinket.io/python/895c3ea5b6

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

import turtle
t = turtle.Turtle()
for i in range(5):
t.forward(100)
t.right(170)

https://trinket.io/python/0d8dbc1139

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

import turtle
t = turtle.Turtle()
for i in range(5):
t.forward(i * 20 + 100)
t.right(170)

演習4: 入力と計算の基本

ユーザーから値を入力し、計算結果を出力する。

https://trinket.io/python/bdca234a3e

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

print("teihen =")
teihen = float(input())
print("takasa =")
takasa = float(input())
print("teihen * takasa / 2 =", teihen * takasa / 2)

https://trinket.io/python/bdca234a3e

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

print("r =")
r = float(input())
print("r * r * 3.14 =", r * r * 3.14)

演習5: 関数定義と使用

関数を定義することで、同じ処理を複数回使用できる。

https://trinket.io/python/68a090babf

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

def foo(a):
return a * 1.1

print(foo(100))
print(foo(150))
print(foo(400))

cs-12. 条件分岐と繰り返し、ステップ実行

【資料】 [PDF], [パワーポイント]

【概要】Pythonプログラミングでは、変数による値の保存と参照、if-elseによる条件分岐、リストによる複数要素の管理、forによる繰り返し処理が基本となる。これらを組み合わせることで、効率的なデータ処理や計算を実現できる。

【演習】

演習1: 条件分岐の基本

条件によって処理を分岐させる。この例では年齢によって料金を変える。

https://trinket.io/python/0fd59392c8

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

age = 18
if age <= 11:
print(500)
else:
print(1800)

演習2: プログラムの動作確認(ステップ実行)

Python Tutorでプログラムを1行ずつ実行し、変数の値の変化を確認する。デバッグ(プログラムの誤り修正)に有効な手法である。

https://www.pythontutor.com/

Python Tutorでは、次のプログラムを1行ずつ実行して動作を確認できる。

age = 18
if age <= 11:
print(500)
else:
print(1800)

演習3: プログラミング演習

https://trinket.io/python/62f74d3bfc

このリンクでは、プログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

演習4: プログラミング演習

https://trinket.io/python/88a728c3cb

このリンクでは、プログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

演習5: プログラミング演習

https://trinket.io/python/cc2c13d793

このリンクでは、プログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

演習6: プログラミング演習

https://trinket.io/python/e27702ef75

このリンクでは、プログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

cs-13. プロセッサ、メモリ、文字コード、論理演算と足し算

【資料】 [PDF], [パワーポイント]

ドクセルのURL: https://www.docswell.com/s/6674398749/5671MZ-2021-12-17-134428

【概要】コンピュータはプロセッサ(演算装置)とメモリ(記憶装置)を中心に構成され、全てのデータを2進数(0と1の組み合わせ)で処理する。論理演算(AND、OR、NOT)を組み合わせて複雑な計算を実現する。OS(オペレーティングシステム)がハードウェアとソフトウェアの橋渡しを行う。

【演習】

演習1: 文字コードの変換

文字がコンピュータ内部で数値として扱われていることを確認する。

https://trinket.io/python/595c091dd9

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

c = 'A'
print(hex(ord(c)))

演習2: 論理演算の基礎

AND演算とOR演算の動作を確認する。論理演算はコンピュータの基本的な計算処理である。

https://trinket.io/python/7f31113af9

このリンクでは、次のプログラムを実行できる。trinketという実行環境で編集も可能である。実行時は「実行」ボタンを選択する。

a = True
b = False
print("a and b =", a and b)
print("a or b =", a or b)

cs-14. 情報化社会でのマナー、情報セキュリティ

【資料】 [PDF], [パワーポイント]

ドクセルのURL: https://www.docswell.com/s/6674398749/5V6XVZ-2021-12-17-134504

【概要】デジタル社会では情報の流通と共有が活発化し、個人も情報発信者となる。そのため、情報の真偽確認、プライバシー保護、セキュリティ対策(ウイルス対策、パスワード管理)が必要である。フェイクニュース(虚偽情報)やマルウェア(悪意のあるソフトウェア)への注意が求められる。

【関連する外部ページ】

IPAのサイトでは、最新のセキュリティ脅威や対策方法を確認できる。

cs-15. 全体まとめ

【資料】 [PDF], [パワーポイント]

ドクセルのURL: https://www.docswell.com/s/6674398749/KNJXEZ-2021-12-17-134355

【概要】情報工学は、AI、データベース、3次元CG、プログラミングなど多様な技術を扱う分野である。全てのデータはデジタル化され、コンピュータで処理される。これらの技術は社会の発展に不可欠であり、セキュリティへの配慮も必要である。

【演習】

演習1: 画像生成AI(人工知能)の実践

テキストから画像を生成するAIを体験する。プロンプト(指示文)の書き方によって生成結果が変わることを確認できる。

  1. Stable Diffusion XL(画像生成AIモデル)のサイト
    https://clipdrop.co/stable-diffusion
  2. Stable Diffusion Playground(画像生成AIの実験環境)のサイト
    https://stablediffusionweb.com/

注意事項: プロンプト(指示文)は英語で記述する必要がある。外部サービスのため、利用規約を確認の上で使用すること。

動画

  1. cs-1. 無料ソフトウエア、無料データ、エコシステム、Scratch プログラミング、Scratch のキャラクタ

    YouTube動画: https://www.youtube.com/watch?v=k8VwaW2GI5g

  2. cs-2. コンピュータによる画像制作、人工知能でできること、情報のコード化、デジタル画像、画素

    YouTube動画: https://www.youtube.com/watch?v=89Kiy7yaTMQ

  3. cs-3. パノラマ画像、ストリートビュー、3次元コンピュータグラフィックス

    YouTube動画: https://www.youtube.com/watch?v=JfsXT9ZQefA

  4. cs-4. プログラミング入門

    YouTube動画: https://www.youtube.com/watch?v=blBX7q2hdCQ

  5. cs-5. 人工知能の概要

    YouTube動画: https://www.youtube.com/watch?v=76Xa2ZGqpy0

  6. cs-6. データベースシステムとデータサイエンス

    YouTube動画: https://www.youtube.com/watch?v=hafgkLQ2fzs

  7. cs-7. 乱数、シミュレーション

    YouTube動画: https://www.youtube.com/watch?v=22MbFeFAYNE

  8. cs-8. 表計算ソフトウェアを用いたデータの扱い

    YouTube動画: https://www.youtube.com/watch?v=vUJKLwNQn44

  9. cs-9. 一次式、線形計画法

    YouTube動画: https://www.youtube.com/watch?v=GKy0Bl5ZCQY

  10. cs-10. Python プログラミングの基本

    YouTube動画: https://www.youtube.com/watch?v=PW0nH3bHEqM

  11. cs-11. 式の抽象化と関数

    YouTube動画: https://www.youtube.com/watch?v=zeleeooCfT0

  12. cs-12. 条件分岐と繰り返し、ステップ実行

    YouTube動画: https://www.youtube.com/watch?v=Z102Pg28nW8

  13. cs-13. プロセッサ、メモリ、文字コード、論理演算と足し算

    YouTube動画: https://www.youtube.com/watch?v=cwR4w-hPW2c

  14. cs-14. 情報化社会でのマナー、情報セキュリティ

    YouTube動画: https://www.youtube.com/watch?v=MmR1Ha8zHBU