コンテンツへスキップ

データ

AP Computer Science Principles · トピック 2

查看幻灯片 練習する
このトピックのビデオレッスン 動画ページを開く
8:13

データ

曲を再生します。耳に届くのは波です — 滑らかで連続しており、ある値から次の値へジャンプすることはありません。しかしスマホは波を保存できません。ただ…只能

英語ナレーション・英語+中文字幕 burning-in

2.1

二進数

シラバス

持続的理解 (DAT-1): コンピュータがデータを内部で表現する方法は、ユーザーに対してデータが解釈され表示される方法とは異なる。プログラムは、人間により理解しやすい表現にデータを翻訳するために使用される。 学習目標 DAT-1.A: ビットを用いてデータをどのように表現できるかを説明する。[スキル 3.C]

  • DAT-1.A.1 データ値は変数、項目のリスト、または単独の定数として格納され、手続きへの入力として渡されたり、手続きからの出力として返されたりすることができる。
  • DAT-1.A.2 コンピューティング機器はデータをデジタルで表現しており、これはどの値の最も下位の構成要素もビットであることを意味する。
  • DAT-1.A.3 ビット は バイナリディジット の略称であり、0 または 1 のいずれかである。
  • DAT-1.A.4 バイト は 8 ビットである。
  • DAT-1.A.5 抽象化 とは、主要な概念に焦点を当てることで複雑さを低減するプロセスである。現在の問いに関係のない詳細を隠蔽し、関連して有用な詳細をまとめることによって、抽象化は複雑さを低減し、理念に集中することを可能にする。
  • DAT-1.A.6 ビットはグループ化されて抽象化を表す。これらの抽象化には、数字、文字、色が含まれるがこれらに限定されない。
  • DAT-1.A.7 同じビットのシーケンスは、異なる文脈において異なる種類のデータを表すことがある。
  • DAT-1.A.8 アナログデータは、離散的な間隔ではなく、時間とともに滑らかに変化する値を持ちます。アナログデータの例には、音楽の音高と音量、絵画の色、走者中の短距離走者の位置などが含まれます。
  • DAT-1.A.9 リアルワールドのアナログデータを近似するためにデジタルデータを使用することは、抽象化の一例である。
  • DAT-1.A.10 アナログデータをデジタルで密接に近似するには、サンプリング手法 が用いられる。これは、サンプル と呼ばれる一定間隔でアナログ信号の値を測定することである。各サンプルを格納するために必要な正確なビットを決定するために、サンプルが測定される。 学習目標 DAT-1.B: データを表現するためにビットを使用することの帰結を説明する。[スキル 1.D]
  • DAT-1.B.1 多くのプログラミング言語では、整数は固定数のビットで表現されるため、整数値の範囲およびこれらの値に対する数学的演算が制限される。この制限はオーバーフローやその他のエラーを引き起こす可能性がある。
  • DAT-1.B.2 他のプログラミング言語では、表現可能な整数のサイズがコンピューターのメモリのサイズのみによって制限される抽象化を提供している。これは試験参照シートの定義する言語の場合である。
  • DAT-1.B.3 プログラミング言語において、実数を表現するために使われる固定数のビットは、これらの値の範囲および数学的演算を制限しており、この制限は丸め誤差やその他のエラーを引き起こす可能性がある。いくつかの実数は、コンピューター内の格納において近似値として表現される。
    • 除外規定: 実数に対する特定の範囲の制限は、本コースおよびAP試験の対象外である。
Learning ObjectiveEssential Knowledge

DAT-1.C
For binary numbers:
a. Calculate the binary (base 2) equivalent of a positive integer (base 10) and vice versa. [Skill 2.B]
b. Compare and order binary numbers. [Skill 2.B]

  • DAT-1.C.1 Number bases, including binary and decimal, are used to represent data.
  • DAT-1.C.2 Binary (base 2) uses only combinations of the digits zero and one.
  • DAT-1.C.3 ⼗進数(底数 10)は、数字の $0 - 9$ のみを使用します。
  • DAT-1.C.4 As with decimal, a digit's position in the binary sequence determines its numeric value. The numeric value is equal to the bit's value (0 or 1) multiplied by the place value of its position.
  • DAT-1.C.5 各位置の位取り値は、進数をその位置の累乗として求めることにより決定される。位置は右端の位置を0として番号が振られ、左側へ向かう各 subsequent な位置ごとに1ずつ増加する。

出典: College Board AP コースおよび試験説明書

ディスプレイ上の二進数字 — 全てのデジタルデータは最終的に0と1として保存される
ディスプレイ上の二進数字 — 全てのデジタルデータは最終的に0と1として保存される

computers store everything as bits – each a 0 or 1. a group of 8 bits is a byte. numbers are stored in binary (base 2), where each place is a power of two ($1, 2, 4, 8, 16, \dots$) instead of the powers of ten in decimal. for example, binary 1011 is $8+2+1=11$.

8ビットの位取り表:合計して数値になる値の下に1が配置されています
8ビットの位取り表:合計して数値になる値の下に1が配置されています

worked example. to convert binary 1101 to decimal, write the place values 8 4 2 1 under the bits 1 1 0 1 and add the ones that have a 1: $8+4+0+1=13$. going the other way, convert 19 to binary by subtracting the largest power of two that fits: $19-16=3$, then $3-2=1$, then $1-1=0$, so the bits sit at the 16, 2, and 1 places $\rightarrow$ 10011 (check: $16+2+1=19$).

コンピュータは有限個のビットしか持たないため、表現できる値の範囲は限られます。これにより、試験で問われる2つの影響が生じます:

  • オーバーフローエラー: 利用可能なビットでは収まりきらない大きすぎる数値を正しく格納できない。
  • 丸め誤差(ラウンディングエラー):小数(実数)を含む多くの数値、例えば0.1などは、無限の実数値が有限のビットパターンにマッピングされるため、近似しかできない。

** worked example(ビット数はいくつ?).** $n$ビット则有$2^n$異なるパターン;追加されるごとにビット数は倍になる。

問題 計算過程 答え
4 ビットにおける最大整数 1111 は $8+4+2+1$ 15
3 ビットの組み合わせパターン数 $2^3$ 8
100 人の学生に異なるIDを与えるためのビット数 $2^6 = 64$ では不足しており、$2^7 = 128$ 7 ビット
6 ビットから 7 ビットへ増加する組み合わせパターン数 $128 - 64$ 64 増え、倍になります

4 ビットシステムにおいて、$15 + 1$ を表現するには 10000 が必要ですが、5ビットが必要です。4ビットしか利用できない場合、結果を格納できず、オーバーフローエラーが発生します。

all data – text, images, sound – is ultimately encoded as binary. an image is a grid of pixels, each stored as numbers for its colors; sound is stored as numbers sampled many times per second.

探索

Convert between binary and decimal

Computers store numbers in binary (base 2). Each bit is a power of two; add the place values of the 1-bits to read the decimal number.

English 日本語
bits/bɪts/ ビット
byte/baɪt/ バイト
binary/ˈbaɪnəri/ 2進数
decimal/ˈdesɪml/ 10進数
Overflow error/ˌəʊvəˈfləʊ ˈerə/ オーバーフローエラー
Round-off (rounding) error/raʊnd ɒf ˈerə/ 丸め誤差
pixels/ˈpɪkslz/ ピクセル
Data/ˈdeɪtə/ データ
information/ˌɪnfəˈmeɪʃn/ 情報
correlation/ˌkɒrɪˈleɪʃn/ 相関
Metadata/ˌmetəˈdeɪtə/ メタデータ
filtering/ˈfɪltərɪŋ/ フィルタリング
visualizing/ˈvɪʒuːəlaɪzɪŋ/ 可視化
privacy/ˈprɪvəsi/ プライバシー
レッスンを視聴
2.2

データ圧縮

シラバス

持続的理解 (DAT-1): コンピュータがデータを内部で表現する方法は、ユーザーに対してデータが解釈され表示される方法とは異なる。プログラムは、人間により理解しやすい表現にデータを翻訳するために使用される。

学習目標 DAT-1.D: 特定の文脈において哪一种が最適か判断するために、データ圧縮アルゴリズムを比較する。[スキル 1.D]

  • DAT-1.D.1 データ圧縮 は、送信または格納されるデータ(ビット数)のサイズを削減できる。
  • DAT-1.D.2 ビット数が少ないことは、必ずしも情報が少ないことを意味しない。
  • DAT-1.D.3 圧縮によるサイズの削減量は、元のデータ表現における重複の量と適用された圧縮アルゴリズムの両方に依存する。
  • DAT-1.D.4 可逆 データ圧縮アルゴリズムは通常、保存または送信されるビット数を削減できる一方で、元のデータの完全な再構築を保証する。
  • DAT-1.D.5 不可逆 データ圧縮アルゴリズムは、保存または送信されるビット数を大幅に削減できるが、元のデータの近似のみを再構築することが可能である。
  • DAT-1.D.6 不可逆データ圧縮アルゴリズムは通常、可逆圧縮アルゴリズムよりも保存または送信されるビット数をより多く削減できる。
  • DAT-1.D.7 品質や元の状態への復元可能性が最大限に重要である状況では、通常、可逆圧縮アルゴリズムが選択されます。
  • DAT-1.D.8 データサイズの削減や送信時間の短縮が最大限に重要である状況では、通常、非可逆圧縮アルゴリズムが選択されます。

出典: College Board AP コースおよび試験説明書

ハードディスクプラッターとヘッド:データは圧縮され磁気パターンとして保存されている
ハードディスクプラッターとヘッド:データは圧縮され磁気パターンとして保存されている

圧縮とは、データの格納や送信に必要なビット数を減らすことです。2種類あります:

圧縮手法:可逆と不可逆の比較、一般的な例
圧縮手法:損失なし対損失あり、一般的な例
  • 損失なし圧縮: 正確な元のデータを復元できます(テキストやプログラムのように、すべてのビットが重要である場合に使用)。
  • 損失あり圧縮: 品質のわずかな低下は許容されるため、写真、音楽、動画などにおいてサイズをさらに小さくするために一部のデータを破棄します。

両者の選択はサイズと忠実度のトレードオフです。損失なし圧縮は全てを維持しますが保存量は少なく、損失あり圧縮はより多くの容量を節約できますが詳細は永続的に失われます。データが正確である必要がある場合は損失なし圧縮を優先してください。

worked example (run-length encoding). a row of image pixels reads WWWWWWBBBWWWW, 13 symbols. run-length encoding stores each run as a count and a symbol: 6W3B4W, 6 symbols. decoding gives back exactly WWWWWWBBBWWWW, so this is lossless. it saves space only when the data has long runs: WBWBWB becomes 1W1B1W1B1W1B, twice as long. no lossless method can shrink every possible input.

探索

連続する繰り返しの圧縮

ラン長エンコーディングは可逆圧縮です。同じ記号の長い列は、その記号とカウントに置き換えられ、データは圧縮されつつも情報は失われません。

English 日本語
Compression/kəmˈpreʃn/ 圧縮
Lossless compression/ˈlɒsləs kəmˈpreʃn/ 無損圧縮
Lossy compression/ˈlɒsi kəmˈpreʃn/ 可逆圧縮
run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ ラン長符号化
レッスンを視聴
2.3

データからの情報抽出

シラバス

持続的理解 (DAT-2): プログラムを使用してデータを処理することで、ユーザーは情報を発見し、新しい知識を生成できます。

学習目標 DAT-2.A: データからどのような情報を抽出できるかを説明する。[スキル 5.B]

  • DAT-2.A.1 情報とは、データから抽出された事実とパターンの集合体です。
  • DAT-2.A.2 データには、傾向の特定、関連性の確認、問題の解決のための機会を提供します。
  • DAT-2.A.3 デジタル処理されたデータでは、変数間の相関関係が示されることがあります。データに見出された相関関係が、必ずしも因果関係が存在することを意味するわけではありません。関係の正確な性質を理解するためには、追加の研究が必要です。
  • DAT-2.A.4 単一のソースには、結論を導き出すために必要なデータが含まれていないことがよくあります。結論を立案するために、多様なソースからのデータを組み合わせる必要があります。

学習目標 DAT-2.B: メタデータからどのような情報を抽出できるかを説明する。[スキル 5.B]

  • DAT-2.B.1 メタデータとは、データに関するデータのことです。例えば、データが画像である場合、メタデータには作成日やファイルサイズなどが含まれることがあります。
  • DAT-2.B.2 メタデータに対する変更や削除は、主要なデータ自体を変更しません。
  • DAT-2.B.3 メタデータは、情報の検索、整理、管理に使用されます。
  • DAT-2.B.4 メタデータは、追加の情報を提供することにより、データやデータセットの有効的な利用を向上させることができます。
  • DAT-2.B.5 メタデータは、データを構造化し整理することを可能にします。

学習目標 DAT-2.C: データの処理に関連する課題を特定する。[スキル 5.D]

  • DAT-2.C.1 データを処理する能力は、ユーザーとツール的能力に依存します。
  • DAT-2.C.2 データセットはサイズに関わらず、以下のような課題を提起します:
    • データのクリーニングが必要であること
    • データの不完全性
    • データの無効性
    • データソースの統合が必要であること
  • DAT-2.C.3 データの収集方法によっては、一貫性がない場合があります。例えば、ユーザーが自由入力フィールドにデータを入力する場合、略語の選び方、スペル、大文字・小文字の使用などはユーザーによって異なることがあります。
  • DAT-2.C.4 データのクリーニングとは、意味を変えずにデータを統一化するプロセスです(例: 同等の略語、スペル、大文字・小文字をすべて同じ単語に置き換える)。
  • DAT-2.C.5 バイアス(偏り)は、収集されるデータの種類やソースによって生じることが多いです。単にデータを多く収集するだけでは、バイアスは解消されません。
  • DAT-2.C.6 データセットの大きさは、そこから抽出できる情報の量に影響します。
  • DAT-2.C.7 大規模なデータセットは、単一のコンピュータで処理するのが困難であり、並列システムを必要とする場合があります。
  • DAT-2.C.8 システムのスケールability(拡張性)は、データセットを扱う際重要な考慮事項です。なぜなら、システムの計算能力がデータセットの処理や保存方法に影響を与えるからです。

出典: College Board AP コースおよび試験説明書

データから情報を抽出することで初めて有用となります——パターン、傾向、問題への答えなどです。大規模なデータセットは小規模なものでは見出せない相関性を明らかにしますが、データにはまずクリーニング(エラーや不一致の修正)が施され、必要に応じて変換やフィルタリングも行われます。2つのものの間に相関があることは、一方が他方を因果関係で引き起こしていることを証明するものではありません——重要な注意点です。メタデータ(写真の撮影日時や場所などのデータに関するデータ)は、大規模なコレクションを整理・検索する際に役立ちます。

worked example(相関は因果関係ではない)。 都市のデータによると、アイスクリームの販売量が多い日ほど、日焼けの治療を受ける人が多くなっています。アイスクリームが日焼けの原因ではありません。両方とも、暑く晴れた日に上昇しています。熱気という第三の要因が両方の背景にあります。因果関係を主張するためには、データの傾向だけでなく、ある条件を変化させて他を一定に保つ実験など、より多くの証拠が必要です。

必要な行をフィルタリングし、その後カウント、合計または平均を取る
必要な行をフィルタリングし、その後カウント、合計または平均を取る
2.4

データを用いたプログラムの活用

シラバス

持続的理解 (DAT-2): プログラムを使用してデータを処理することで、ユーザーは情報を発見し、新しい知識を生成できます。

学習目標 DAT-2.D: プログラムを使用してデータから情報を抽出する。[スキル 2.B]

  • DAT-2.D.1 プログラムを使用してデータを処理し、情報を得ることができます。
  • DAT-2.D.2 テーブル、図表、テキスト、その他の視覚ツールを使用して、データから得られた洞察や知識を伝達することができます。
  • DAT-2.D.3 検索ツールは、情報を効率的に見つけるのに役立ちます。
  • DAT-2.D.4 データフィルタリングシステムは、情報を見つけたり、データ内のパターンを認識したりするための重要なツールです。
  • DAT-2.D.5 スプレッドシートなどのプログラムは、情報を効率的に整理し、傾向を見つけるのに役立ちます。
  • DAT-2.D.6 データから情報を抽出または修正するために使用できるプロセスには、以下のようなものがあります:
    • データセットの各要素を変換すること(例:リストの各要素を倍増させる、または各生徒レコードに保護者のメールアドレスを追加する)
    • データセットをフィルタリングする(例: リストから正の数字のみを残す、または全生徒のリストから吹奏楽部に参加した生徒のみを残す)
    • 何らかの方法でデータを結合または比較する(例: リストの数字を合計する、またはGPAが最も高い生徒を見つける)
    • チャート、グラフ、その他の視覚的表現を通じてデータセットを可視化する

学習目標 DAT-2.E: プログラムがどのようにしてデータから洞察や知識を得るために使用されるかを説明する。[スキル 5.B]

  • DAT-2.E.1 情報処理時にユーザーがデータについて洞察や知識を得られるよう、プログラムは反復的かつ対話的に使用されます。
  • DAT-2.E.2 プログラマーはデジタルデータをフィルタリングおよびクリーニングするためにプログラムを使用し、由此獲得洞察や知識を得ることができます。
  • DAT-2.E.3 データソースの統合、データクラスタリング、データ分類は、プログラムを使用してデータから洞察や知識を得るプロセスの一部です。
  • DAT-2.E.4 デジタルで表現された情報を翻訳および変換することで、洞察や知識を得ることができます。
  • DAT-2.E.5 プログラムを使用してデータを変換すると、パターンが出現することがあります。

出典: College Board AP コースおよび試験説明書

プログラムは人間では対応しきれないスケールでデータを処理します。一般的な操作として、フィルタリング(条件に合致する行のみを残す)、クリーニング(エラーの除去)、可視化(パターンを視覚的に表すチャートやグラフ)があります。複数のソースからのデータを組み合わせるとより多くの知見が得られますが、プライバシーに関する懸念も生じます。インタラクティブなツールや可視化により、人々はデータを探索し、独自の結論を導き出すことができます。

worked example(データで回答可能な質問とは何か)。 学校では、生徒ごとに1行ずつデータを格納しています:

氏名 学年 通学手段 距離 (km)
Ana 10 バス 6.5
Ben 11 自転車 2.0
Chen 10 バス 8.0
  1. 「バスで通学する生徒の平均距離はいくつか?」 可能:Transport = バスをフィルタリングし、Distance の平均を取ることで回答できます:$\frac{6.5 + 8.0}{2} = 7.25$ km。
  2. 「学年 10 の生徒で自転車を乗っている人は何人か?」 可能:2つの列でフィルタリングしてカウントします:0 人。
  3. 「なぜ生徒はバスを選ぶのか?」 不可能:理由を記録する列がありません。
  4. 「各通学時間は几分か?」 不可能:時間が格納されておらず、距離だけでは時間を知ることができません。

この種の問題は、一つのチェックポイントに依存します:問題で必要とする情報がすべて列に含まれているかどうかです。

試験対策: プログラムが大規模なデータセットの中で情報を発見するのをどのように助けるかを説明でき、データに見られる相関が因果関係を成立させるものではない理由を理解していること。

データクリーニングは、プログラムが処理する前にエントリを一貫性のある状態にする
データクリーニングは、プログラムが処理する前にエントリを一貫性のある状態にする
2.4

試験対策

  • confidently convert between binary, decimal, and (where asked) hexadecimal — practise until it is quick.
  • ビットは1つの二進数字であり、バイトは8ビットであることを記憶しておく。$n$ bits は $2^n$ の値を表す。
  • 全てのデータ——数値、テキスト、画像、音声——はバイナリで保存され、有限のビット数がオーバーフローおよび丸め誤差の原因となることを説明できる。
  • 損失なし圧縮と損失あり圧縮を区別し、それぞれが適切な場面に適用できることを示せる。
  • アナログからデジタルへの変換概念を示せる:サンプリングによって連続信号を離散値に変換すること。

このトピックのインタラクティブ授業

一歩ずつ進め、即時チェック付きの問題で学習します。

過去問

AP Computer Science Principles の他のトピック

ログインまたはアカウント作成

IGCSE, A-Level & AP