Original: Computing Progression Pathways (http://community.computingatschool.org.uk/files/5096/original.pdf)
日本語訳ドラフト(2015/05/02, © 太⽥ 剛, 2015) on 「⿊板を超えてReturns (http://beyondbb.jp/)」アルゴリズムプログラムと開発

KS1&2 ・アルゴリズムが何であるか理解して、単純な直線 ・ユーザが自らプログラムを開発できることを知1
的(分岐を含まない)なアルゴリズムを記号を使って り、テキストを使わない(例えばプログラムで動く表現することが可能になる。(AL)

ロボット等)環境で簡単なプログラムを作成するこ・コンピュータが正確なインストラクションを必要 とができる。(AL)

データとデータ表現

ハードウェアと処理

コミュニケーションとネットワーク

・デジタルコンテンツが多くの形式で表現できるこ ・コンピュータは知能を持っていないことと、プロ ・Web ブラウザを使って World Wide Web からとを認識する。(AB)(GE)

グラムが無ければ何もできないことを理解する(AL) コンテンツを得る。(AL)

情報技術
・ 教師の指導のもと、適切なファイル名とフォルダー名を使って、ソフトウェアを使いデジタルコン・デジタルコンテンツの形式を区別して、情報の伝 ・デジタル機器で実⾏される、すべてのソフトウェ ・安全かつ礼儀正しくオンラインでコミュニケート テンツを作成、保存、修正する。(AB)(GE)(DE)達には異なる⼿段があることを説明できる。(AB)アはプログラミングされたものであることを認識す することの重要性と個人情報を非公式にする必要を ・人がコンピュータと対話することを理解する。とすることを理解する。(AL)・プログラムを実⾏、確認、変更する。(AL)理解する。(EV)・学校内で、テクノロジーの⽣徒の利⽤⽅法を共有

・エラーを避けるための注意と正確さの態度を⽰

・プログラムは正確なインストラクションに従って・ コンテンツと係るか、連絡をとる時に、何をすする。

す。

実⾏されることを理解する。(AL)べきか知る。(AL)・教室の外の、情報技術の⼀般的な利⽤⽅法を知る。(AL)る。(GE)
・⽣徒の成果について話し合い、それを改善するために変更する。(EV)KS1&2 ・アルゴリズムがデジタル機器上にプログラムとし ・ステートメント(命令文)の中で算術演算子とプロ ・異なるタイプのデータ:文字,数値を認識する
・さまざまなデジタル機器はコンピュータと⾒なす ・Web をナビゲートして、デジタルコンテンツを ・ 徐々に⽣徒自身で、目的を持ってデジタルコン
2(AB)(GE)集めるために単純な Web 検索ができる。(AL)(EV) テンツを整理するため、技術を使う。(AB)ことができることを認識する。(AB)(GE)
グラムの中でループを使⽤する。(AL)て実装されることを理解する。(AL)・ループやif文などの分岐を使った簡単なアルゴリ ・プログラムの動作を予測するため論理的な推論を ・プログラムは異なるタイプのデータと共に動作す ・さまざまな⼊⼒機器と出⼒機器を認識して使⽤す ・オンラインでの不適切なコンテンツやコンタクト ・収集したデジタルコンテンツの品質を意識するこズムを設計する。(AL)使⽤する。(AL)・アリゴリズムで、例えばデバッグのような、エ・ プログラムで、例えばデバック等の、単純な意ラーの検出と修正を⾏う。

味的のエラーを検出して修正する。(AL)ることができることを確認する。(GE)を報告する、いろいろな⽅法を知って、安全で責任 とを⽰す。(EV)る。
・データを有効活⽤するためテーブルに組むことが ・プログラムがどのように汎⽤的であるコンピュー を持ったコンピュータの利⽤を⽰す。(AL)(EV)・デジタルコンテンツ(データと情報)を操作し、プできることを認識する。(AB)(GE)

レゼンするため、いろいろなソフトウェアを使う。

タに、特定の機能を付加するか理解します。(AB)(AL)
・技術の経験を学校内で学級を越えて共有する。
(GE)(EV)・⽣徒の成果について話し合い、受け取ったフィードバックをもとにした改善を⾏う。(EV)KS1&2 ・反復やif-else文のような⼆分岐を使う解決⽅法
3（アルゴリズム）を設計する。(AL)・解決⽅法を表現するため、図表を使う。(AL)・与えられた目的を達成するアルゴリズムを実装し ・データと情報の違いを理解する(AB)・デジタルコンテンツの中のデータと情報を収集・・構造のない⼀つファイルの中のデータを並べ⽅す フトウェアを含めて、種々の⼊⼒装置からのデータ トとインターネット・サービスの違いを理解する。 整理し、提⽰する。(AB)・変数を宣言したり割り当てる。(AB)

ることが、情報の検索を改善する理由について知・インプットを意識し、論理的な推論をアウトプッ ・"until"等の後判定ループと"if -then-else"を含む分岐 る。(EV9トを予測するために使う。(AL)・コンピュータが、センサーやアプリケーションソ ・例えば World Wide Web のように、インターネッたプログラムを作る。(AL)の流れ、をプログラムの中で使う。(AL)を集めることを知る。(AB)・ハードウェアとアプリケーションソフトウェア(AB)・例えばブログなどで、より広範囲の相⼿とコミュ・VOIP(インターネット電話)などの、いろいいろな ニケーションするため、インターネットサービスと・フィルターを使う、又は⼀つの基準をもとに情報 の違いと、コンピュータシステムにおけるそれらの インターネット・サービスを意識し、それらを使⽤ ソフトウェアパッケージを組み合わせて使い、与えすることができる。
役割を理解する。(AB)られた目標を達成するようなデジタルコンテンツをを検索することができる。(AB)・技術やオンラインサービスを使⽤する時、何が不 作成する。(AL)
適切か適切な⾏動であるか認識する。

・フィードバックをもとにして適切に改善して、そしとその成功した解決にコメントすることができる。(EV)KS1&2 ・人又はコンピュータによって、最も良く達成され ・if文とif-then-else文の違いを理解し、それらを適切 ・より複雑な情報の検索ができる。例えば論理演算 ・コンピュータがどんな時に、何故使われるか理解 ・ウェブ・クローラー(ウェブ自動巡回ソフト)を検 ・特定の相⼿にとってデジタルコンテンツを評価や4索エンジンを使うということを含んで、効果的にど 変更する場⾯において、それを正しく判断する。
する。(EV)に使⽤する。(AL)や関係演算子を使⽤するる。(AL)(GE)(EV)たタスクを意識したことを⽰す。(EV)・問題を分割し、個々の部分に対しての個別の解決 ・変数と⽐較演算子を、終了判断を制御するために ・データと情報を分析、評価する。そして、低品質 ・ オペレーティング・システムの主な機能を理解⽅法を作ることによって、解決⽅法をデザインす使⽤する(AL)(GE)のデータが信頼できない結果と不正確な結論を導く する。(DE)(AB)る。(DE)(AL)(AB)・ プロシージャー(サブルーチン)を使って、モことを認識する。(AL)(GE)(EV)・⼀つの問題に対して異なる解決⽅法が存在するこ ジュールプログラムをデザイン、作成、デバッグすとを認識する。(AL)(AB)のようにサーチ・エンジンを使うべきかや、どのよ (EV)(Ge)
うに検索結果が選択されるかを理解する。

・有線、ワイアレスと携帯電話のネットワークの違 (AB)(GE)(EV)
いを知る。(EV)・デジタルコンテンツを作成するときは、相⼿を意識する。(GE)・インターネットサービスを選択、組み合わせて使 ・コンピュータがネットワークで結ばれたとき、協る。(AL)(DE)(AB)(GE)う。(EV)

・プロシージャーは、下位の解決⽅法の詳細を隠す

・技術とオンライン・サービスの責任がある使⽤を (GE)ために使⽤できることを知る。(DE)(AB)(GE)

⽰し、それら係りを報告する、いろいろ⽅法知る。 ・問題解決の質を評価するため基準を使⽤する、そ働作業にとっての情報技術の潜在能⼒を理解する。

して将来的な解決と若⼲の改善を確認することができる。(EV)(GE)KS1&2 ・イリーテーション(終了条件までの繰り返し処理) ・プログラミングがアルゴリズムによる問題解決と ・デジタルコンピュータはすべてのデータを表現す ・ 基本的なコンピュータアーキテクチャの主な内5がルーブのような繰り返しの処理であることを理解 コンピュータの間を繋ぐものであることを理解す部構造の機能を認識し、理解する。(AB)るためバイナリーを使⽤することを知る。(AB)する。(AL)る。(AB)

・いかにビットパターンが数値と画像を表現するか ・フェチ(取り出し)-実⾏サイクルの背後にある概・⼀つの問題に対して異なるアリゴリズムが存在す ・プログラミングの時に標準ライブラリを使⽤する 理解する。(AB)

念を理解する。(AB)(AL)

・検索エンジンが検索結果をどのようなランキング ・与えられた目的を達成するため、適切なデジタルするか理解する。(AL)

機器、インターネットサービスとアプリケーション

・ どのように HTML と CSS を使って静的なWeb ソフトウェアを評価できる。(EV)
ページを作成するか理解する。(AL)(AB)・学校の外での、情報技術の利⽤を取り巻いているることを認識する。(AL)

テキストベースの高級言語の実践的な経験を持つ。 ・コンピュータがバイナリーを使ってデータを伝達 ・同じハードウェアでも、いろいろなオペレーティ ・例えば:IP アドレスとパケット交換などで、 イン 倫理的問題を認識する。

・ 構造化された表記法で解決⽅法を表現する。

(AB)(AL)(AL)(AB)・論理型(ブーリアン)等のいろいろな演算子と数式 ・バイナリーとファイルサイズ(非圧縮)の関係を理 あることを知る。(AB)することを知る。(AB)・状況における類似性と差異を識別できて、それら を使⽤し、それらをプログラムでの制御で利⽤す

解する(AB)を問題解決に利⽤できる(パターン認識)。(GE)る。(AL)

・データ型を定義する:実数と論理型。(AB)・適切なデータの型を選択する。(AL)(AB)・典型的な問い合わせ言語を使って、⼀つのテーブング・システムとアプリケーションソフトウェアが ターネット を含めて、ネットワークの上でデジタ

・問題解決の質を評価するため基準をデザインすルコンピュータがどのようにデータを伝送するか理 る、そして、その基準を改善⽅法を特定するために解する。(AL)(AB)

使⽤し、適切な改善をすることができる。
(EV)(GE)

ルからデータを取り出す。(AB)KS3
6

・問題に対する再記的な解決⽅法は、その問題のよ ・⼊れ子(ネスト)になった分岐文を使⽤する(AL)・数値、画像、音と文字が、ビットパターンという ・データがどのようにメモリに格納されるかを含め ・例えばハブ、ルーター、スイッチなどのハード・与えられた目的を達成するため、多様なデジタルり小さな実体(インスタンス)に同じ解決⽅法を繰り ・引数を持つ関数の必要性を認識し、独自の関数を 同じものをどのように使っているか理解する。て、フォン・ノイマンアーキテクチャを、フェチウェアの名前と、SMTP 、 iMAP 、ＰＯＰ、 FTP機器、インターネットサービスとアプリケーション返し適⽤することを理解する。(AL)(GE)(取り出し)-実⾏サイクルとの関係から理解する。

、 TCP / IP などのプロトコルの名前を、ネットソフトウェアの選択と、自主的な組み合わせと利⽤作成する。(AL)(AB)(AB)(GE)・いくつかの問題が同様の特徴を共有し、それらを ・プロシージャと関数の違いを理解し、それらを適 ・ビットパターンを使う単純な操作ができる。例え (AB)(GE)
ワーキング・コンピュータ・システムと結び付けて について、 正しく判断する。(EV)・位置参照メモリ(location addressable memory)の基本 知る。(AB)解決する同じアルゴリズムを使⽤することを認識す 切に使⽤する。(AL)(AB)ば⼆進数の加算。(AB) (AL)・デジタルコンテンツの信憑性を評価する。そしる。(AL)(GE)・(ビット)反転の演算子を理解し使⽤する。(AL)・ファイルの⼤きさに対する影響を含めて、解像度 的な機能と操作について理解する。

・安全に技術とオンライン・サービスを使い、そし て、特定の相⼿のためにデジタル人工物をデザイ

・ アルゴリズムにおけるパフォーマンスの概念を・⼀次元配列変数構造を使⽤し操作する。(AB)と⾊深度の関係を理解する。(AB)て、どのように不適当な⾏為を識別し報告するか知 ン・制作する時、視覚的なデザインのユーザビリ理解して、同じタスクでも、いくつかのアルゴリズ ・シンタックスエラーを検出し修正する。(AL)・プログラムの中で変数として扱われるデータと、る。(AL)ムが異なるパフォーマンスを持つことを確認する。

そのデータの記憶装置での構造を区別する。(AB)ティを考慮する。(EV)・情報技術の使⽤が社会⽣活に影響を、いかに与え(AL)(GE)

るかを特定し説明する。
・ 問題解決の質を評価するためユーザからみた基準をデザインする、そして、そのユーザからのフィードバックを改善⽅法を特定するために使⽤し、適切な改善をすることができる。(EV)KS37・アルゴリズムのデザインが、それをプログラム言 ・変数の有効なスコープを確認する。例えばローカ ・データの表現とデータの質の関係について知る。 ・プロセッサ(CPU)が命令セットを持っていること ・ネットワーキング・コンピュータ・システムと関 ・特定の利⽤者グループの要求を満たすため、デー語(利⽤可能なプログラミング構造に依存するであ

ル変数はその関数の外からはアクセスできないこと (AB)ろう)で表現することと、違うことを認識する。など。(AB)(AL)(AL)(AB)・引数の受け渡しについて理解して利⽤する。
・類似した問題のアルゴリズムとモデルの有効性を (AB)(GE)(DE)評価する。(AL)(AB)(GE)・"while"のような前判定と"until"のような後判定の・問題解決の⼀般化において、情報をどこで取り除 ループの違いを理解し、利⽤する。(AL)
くことができるか認識する。(AL)(AB)(DE)・モジュール指向をエラーの検出と修正に活⽤すと、そしてこれらがコンピュータによって実⾏され 連付けてハードウェアとプロトコルの目的を知る。 タの収集・分析・評価を⾏う、制作プロジェクトを・ブール論理を含めて、⼆進数と電子回路の関係に る基本的なインストラクションに関連していること (AB)(AL)・動的Web ページがどのようにサーバーサイドのついて理解する。(AB)を知る。(AB)(AL)(GE)・より広範囲かつ離れた相⼿のためにデジタル人工スクリプトを使⽤しているかを含めて、クライアン 物を効果的にデザイン、制作する。(AB)・数値がプログラムの中で操作されるとき、多くのト-サーバーモデルと、Webサーバーが利⽤者に異なる言語の中で、いろいろなデータ型が、如何・デジタル人工物の中に他のメディアを取り込むとよって⼊⼒されたデータを処理し保存することを理 き、その所有権を考慮する。(AB)に、どうやって表されるか理解する。(AB)解する。(AL)(AB)(DE)

・ユーザからのフィードバック、特定された改善⽅
・インターネット上のデータの持続性は、オンライ 法、解決⽅法の修正をドキュメント化する。(AB)・論理的な推論を、アルゴリズムがどのように動作 る。(AB)(DE)(GE)するか説明するために使⽤する。(AL)(AB)(DE)

ンの身元とプライバシーを注意深く保護することを ・社会的、経済的、政治的、法律上、倫理上、そし・構造化された言語を使⽤してアルゴリズムを表現必要とすることを、認識する。

する。(AL)(DE)(AB)

KS48・同じ問題のより小さな部分の解決⽅法に依存する実施する。(AL)(DE)(EV)て道徳的な問題の⾒地から、いかに情報技術が社会に強い影響を与えるかを特定し説明する。(EV)・サブルーチンとして、どこでも再利⽤可能に作ら ・ビットを使う操作、例えば⼆進数と16進数の変換 ・ 小さい（仮想的）な低レベルのプログラム言語問題解決をデザインする(再帰)(AL)(DE)(AB)(GE) れた、⼊れ子になったモジュールブログラムをデザ や⼆進数の減算、ができる。(AB)(AL)(GE)の実践的な経験を持つ。(AB)(AL)(DE)(GE)・WAN と LAN を含めて、ネットワーキング・コ・情報技術の利⽤をとりまく倫理的な問題と、それンピュータ・システムに関連すハードウェア理解す を管理する法的枠組み,個人情報保護、コンピュータ

・いくつかの問題は計算/コンピュータ処理では解イン、作成する。(AL)(AB)(GE)(DE)

・データ圧縮の必要性を理解し説明できる。そして ・コンピュータによるマルチタスク処理を理解し説 る、そして、それらの目的と、 Mac アドレスを含 不正使⽤禁⽌、著作権、...の存在を理解する。(EV)

決できないことを理解する。(AB)(GE)・ループカウンターを使⽤する"While"ループと簡単な圧縮⽅法が使える。(AB)(AL)(GE)"For"ループの違いを理解する。(AL)(AB)・関係データベースが何であるか知る。また点数・⼆次元配列構造を理解し利⽤する。

テーブル内の整理されたデータの利点について理解する。(AB)(GE)(DE)

明することができる(AB)(AL)(DE)

めて、それらが、どう動作するか働くかを理解する。(AB)(AL)(DE)(GE)