教育用プログラミング言語( EPL )は、主に学習ツールとして、またより複雑なプログラミング言語に移行する前の出発点として使用される プログラミング言語です。
教育用プログラミング言語の種類
アセンブリ言語
当初、マシン コードがコンピューターをプログラミングする唯一の方法でした。アセンブリ言語(ASM とも呼ばれる) は、低レベルの命令の代わりにニーモニックを導入した初期の進歩として続き、現在でも使用されているプログラミング言語の最も古いファミリーの 1 つとなっています。多数の方言と実装が存在し、それぞれが特定のコンピューター プロセッサ アーキテクチャに合わせて調整されています。アセンブリ言語は、型付けされておらず、固定されているため、低レベルで使用が難しいと考えられています。教育目的で、初心者がコーディングしやすいように、アセンブリ言語の簡略化された方言が開発されました。
アセンブリ言語は特定のプロセッサ アーキテクチャ向けに設計されており、対応するハードウェアを考慮して記述する必要があります。高水準言語とは異なり、教育用のアセンブリ言語では仮想または物理プロセッサの表現が必要です。これらの言語は、教育の場でコンピュータ プロセッサの基本的な操作を示すためによく使用されます。

- リトルマン コンピュータ(LMC) (1965) は、単純なフォン ノイマン アーキテクチャコンピュータの教育モデルです。このモデルには、現代のコンピュータの基本機能が含まれており、マシン コード (通常は 10 進数) またはアセンブリを使用してプログラムできます。このモデルは、100 個のメールボックス (メモリ)、計算機 (アキュムレータ)、およびプログラム カウンタがある部屋にいる人 (「リトルマン」) の視覚的なメタファーを使用して、コンピュータ環境をシミュレートします。LMC は、学生が基本的なプロセッサ機能とメモリ管理を理解するのに役立ちます。
- MIX (1968) とMMIX (1999) は、ドナルド・クヌースの『Art of Computer Programming』で紹介されている架空のコンピュータ モデルです。MIX コンピュータは教育目的で設計されており、基本的なマシン言語の動作方法を示しています。シンプルであるにもかかわらず、高性能コンピュータに特有の複雑なタスクを処理できます。MIX では、2 進数と 10 進数の両方でプログラミングでき、両方のモデルでソフトウェア エミュレータが利用できます。MIX の後継である MMIX は、現代のコンピュータ アーキテクチャを教えるために近代化された 64 ビットRISC命令セット アーキテクチャです。
- DLX (1994) は、 MIPSおよび Berkeley RISC設計の主要開発者によって作成された、縮小命令セット コンピュータ ( RISC ) プロセッサ アーキテクチャです。DLX はMIPSの簡易バージョンであり、大学レベルのコンピュータ アーキテクチャ コースで一般的に使用される 32 ビットのロード/ストア アーキテクチャを提供します。
- Next Byte Codes (NBC) (2007) は、 Lego Mindstorms NXTのプログラム可能なブロックをプログラミングするために使用されるシンプルなアセンブリ言語です。NBC コンパイラは、NXT 互換のマシン コードを生成し、Windows、macOS、Linux でサポートされています。
- Little Computer 3 (LC-3) (2019) は、簡略化された命令セットを備えたアセンブリ言語であり、中程度の複雑さのアセンブリ プログラムの作成を可能にします。より高度な言語に見られる多くの機能が含まれており、基本的なプログラミングとコンピューター アーキテクチャの指導に役立ちます。主に、入門レベルのコンピューター サイエンスおよびエンジニアリング コースで使用されます。
BASIC のバリエーション
BASIC (初心者向け汎用シンボリック命令コード) は、理科以外の学生にコンピュータへのアクセスを提供するために 1964 年に発明されました。1960年代にはミニコンピュータで人気を博し、1970 年代後半から 1980 年代前半にかけてマイクロコンピュータの標準コンピューティング言語になりました。BASIC の目標は、プログラミングを簡単に学習できることに重点を置いており、次の点が挙げられます。
- 初心者でも簡単に使えること。
- インタラクティブになりましょう。
- 明確でわかりやすいエラー メッセージを提供します。
- すぐに応答してください。
- コンピュータのハードウェアやオペレーティング システムに関する知識は必要ありません。
BASIC が教育に魅力的だったのは、プログラムのサイズが小さく、12 行で概念を説明できるからです。BASIC は、チュートリアルや実装によって独学で学ぶ人が多くいます。
BASIC は、 Microsoft Small Basic、BASIC-256 SIMPLEなどの学習指向の BASIC から、 Visual Basic、NET、Gambasなどのより機能豊富な BASIC までの学習パスを提供します。
- Microsoft Small Basic は、初心者向けの入門用プログラミング言語として設計されたVisual Basicの制限付きバージョンです。意図的に最小限に抑えられており、基本的な機能には 15 個のキーワードしかありません。子供たちの興味のあるトピックに特化したライブラリを提供することで、子供たちは Web 環境とデスクトップ環境の両方でプログラムを作成できます。たとえば、6 行のコードで、 Flickr をソースとして使用してランダム ネットワーク イメージ ビューアーをデモンストレーションできます。 [1]このシステムは、 Microsoft Visual Studio IDE を使用して、自動補完と状況依存のヘルプを提供します。
- Basic-256 は、誰でもコンピュータ プログラミングの基礎を学べるように設計された、使いやすい BASIC バージョンです。従来の BASIC 制御構造 ( gosub、 for ループ、 goto ) を使用し、プログラム フロー制御を簡単に理解できます。グラフィックスモードが組み込まれており、数分で子供が画面に絵を描くことができます。
- SiMPLEは、誰でも、特に非専門家でも簡単にプログラミングできるようにするために作成されたプログラミング開発システムです。AppleSoft BASICに似ています。コンパイルされ、ユーザーが頻繁に使用する関数の独自のライブラリを作成できます。「シンプル」とは、Micro-SIMPLE (4 つのキーワードのみを使用)、Pro-SiMPLE、Ultra-SiMPLE (23 のキーワードを使用) という、わずかに異なる 3 つのバージョンの言語の総称です。
- Hot Soup Processor は、日本の学校で使用されている BASIC 由来の言語です。
- TI-BASIC は、 Texas Instruments の グラフ電卓に実装されたシンプルな BASIC のような言語で、学生がプログラミングを学ぶ最初の手段としてよく使用されます。
- Small BASIC は、日常的な計算、スクリプト、プロトタイプに最適な、高速で習得しやすい BASIC 言語インタープリタです。三角関数、行列関数、代数関数、組み込みIDE、強力な文字列ライブラリ、システム、サウンド、グラフィック コマンド、構造化プログラミング構文が含まれています
Cベース
- Chは、CS 以外の学生がC および C++ で数学、コンピューティング、プログラミングを学習できるように設計されたC / C++インタープリタです。数値、2D/3D グラフィカル プロット、スクリプト機能で C を拡張します。
Javaベース
- JavaとScalaで記述された、科学モデル、特にエージェントベース モデルを構築および調査するための開発環境です。
Lispベース
- Lisp は、現在使用されているプログラミング言語の中で 2 番目に古いファミリーであり、そのため、さまざまな難しさを持つ多くの 方言と実装があります。Lisp はもともと、ラムダ計算に基づいたコンピュータ プログラムの実用的な数学表記法として作成されたため、コンピューティング理論の教育に特に適しています。最も初期の言語の 1 つである Lisp は、ツリー データ構造、自動ストレージ管理、動的型付け、オブジェクト指向プログラミング、セルフホスティング コンパイラなど、サイエンスの学習に役立つ多くのアイデアの先駆けとなりました。LISP という名前は、「リスト処理言語」に由来しています。リンク リストは言語の主要なデータ構造の 1 つであり、Lisp のソース コードはリストで構成されています。したがって、Lisp プログラムはソースコードをデータ構造として操作できるため、マクロシステムが作成され、プログラマーは Lisp に埋め込まれた新しい構文や新しいドメイン固有言語さえも作成できます。したがって、Lisp は言語設計の学習に役立ちます。 [2] [3]
ロゴベース
- Logoは、特に子供にプログラミングを教えるために設計された言語です。Logo学習の最初の部分は、1969年にすでに使用されていた「タートルグラフィックス」(タートルロボットに由来)を扱います。現代の実装では、タートルと呼ばれる抽象的な描画デバイスが使用され、タートルグラフィックスの実行に集中することで、子供にとってプログラミングが非常に魅力的になります。Logoの作者の1人であるシーモア・パパートは、さまざまな構成主義学習理論である構成主義の著名な人物でした。パパートは、コンピューティング文化を採用すれば、はるかに小さな子供でも書くことなどの活動が自然に習得されると主張しました。 [4] Logoは、テクノロジーに焦点を当てたカリキュラムで視覚的な補助と概念を通じて子供にプログラミングを紹介するために設計されました。 「知的な構築を早期に開始することよりも重要なのは、学習はより力のある他者から与えられるものであると考えるようになる長い依存期間から救われることです...そのような子供は自分自身を定義せず、社会が彼らを知的に無力であると定義することを許しません。」 [4] 3歳の子供にも使用されており、教育において30年間の成功の実績があります。Logoは実際にはより上級の学生向けのLispの合理化されたバージョンであるため、コンピューターサイエンス、さらには人工知能の基本概念を紹介するために使用できます。Logoは無料版と商用版の両方で、さまざまなプラットフォームで広く利用できます。
Scalaベース
- Kojoは、主に教育目的で開発されたインタラクティブなデスクトップ開発環境です。このアプリケーションは、 Windows、 Linux、 OS Xで動作します。Kojoは、コンピュータプログラミング、批判的思考、数学、科学、芸術、音楽、創造的思考、コンピュータおよびインターネットリテラシーの概念の探求、学習、教育に役立つさまざまな機能を備えた学習環境です。 [5]
Smalltalkベース
「子供1人1台のラップトップ」プロジェクトの一環として、一連のSmalltalkベースの言語が開発されており、各言語は次の言語への導入として機能するように設計されています。構造は、ScratchからEtoys 、 Squeakから任意のSmalltalkです。[6]各言語は、建設的学習を使用して、プログラミングの概念だけでなく、物理学や数学のシミュレーション、ストーリーテリング演習などを子供たちに教えるために使用できるグラフィカル環境を提供します。SmalltalkとSqueakは、数十年にわたって存在し、高く評価されている完全な機能を備えたアプリケーション開発言語です。Scratchは子供向けの学習ツールです。
- Scratch 1.0 は Smalltalk で実装されています。詳細については以下を参照してください。
- Etoys は、コンピュータ画面上で動作するプログラム可能な仮想エンティティというアイデアに基づいています。Etoys は、エンドユーザーが作成したさまざまな種類のオブジェクトに対して、シンプルで強力なスクリプト オブジェクト モデルを備えたメディア リッチなオーサリング環境を提供します。これには、 2Dおよび3D グラフィックス、画像、テキスト、パーティクル、プレゼンテーション、Web ページ、ビデオ、サウンド、 MIDI (他の Etoys ユーザーとデスクトップをリアルタイムで共有する機能) が含まれます。インターネットを介して、さまざまな形式の没入型指導とプレイを行うことができます。多言語対応で、米国、ヨーロッパ、南米、日本、韓国、インド、ネパールなどで効果的に使用されています。このプログラムは、9 歳から 12 歳の子供を対象としています。 [7]
- Squeakは、Smalltalk 言語と環境の最新かつオープンソースのフル機能の実装です。Smalltalk はオブジェクト指向、動的型付け、リフレクティブプログラミング言語で、「人間とコンピュータの共生」を例証とするコンピューティングの「新しい世界」を支えるために作成されました。 [8] Lispと同様に、イメージベースの永続性を備えているため、言語内からすべてを変更できます ( Smalltalk#Reflectionを参照)。 [9]オブジェクト指向プログラミングやジャストインタイムコンパイルの多くの概念を導入し、業界に大きな影響を与えました。Squeak は、マルチメディアアプリケーション、教育プラットフォーム、商用Web アプリケーション開発など、幅広いプロジェクトの手段です。Squeak は、仮想マシンが完全に Smalltalk で記述されているため、移植性が高く、デバッグ、分析、変更が容易になるように設計されています
パスカル
- Pascalは、構造化プログラミングを教えることを目的として、1970年頃にニクラウス・ヴィルトによって設計されたALGOLベースのプログラミング言語です。 [10] 1970年代後半から1980年代後半にかけて、米国とヨーロッパの両方で、プログラミングを教える入門コンピュータサイエンスのクラスで主に使用されていました。その後、実際のアプリケーションでの使用が一般的になりました。 [11]
他の
- CircuitPythonは、インタラクティブなエレクトロニクスと教育のための初心者向けバージョンのPythonです。
- Rapira は、学校でプログラミングを教えるためにソビエト連邦で開発された、シンプルでインタラクティブな開発環境を備えたALGOLのような手続き型プログラミング言語です
- Src:Card は、教育用カード ゲームに組み込まれた触覚的なオフライン プログラミング言語です。
子供たち
- AgentSheetsとAgentCubes は、2D/3D ゲームやシミュレーションを作成するための 2 つの計算思考ツールです。作成はデスクトップ アプリケーションまたはブラウザーベースのアプリを通じて行われ、モバイル ブラウザーを含む HTML5 準拠のブラウザーでプレイできる 2D/3D ゲームを作成できます。
- Alice は、子供たちにイベント駆動型のオブジェクト指向プログラミングを教えるために設計された無料のプログラミングソフトウェアです。プログラマーは、ドラッグアンドドロップスタイルのプログラミングを備えた最新の IDE インターフェイスを使用して、インタラクティブなストーリーを作成します。対象者は、中学生から大学生までです。 [12] Storytelling Aliceは、ストーリーテリングの面での機能に重点を置いた、より若い子供向けに設計された Alice ソフトウェアのバリエーションです。 [13]
- Blockly は、ユーザーがブロックをドラッグして入力せずにアプリケーションを構築できる、オープンソースの Web ベースのグラフィカル言語です。Google によって開発されました。ユーザーは Blockly コードを PHP、Python などの他のプログラミング言語に変換できます。
- CiMPLE は、子供向けに設計されたロボットキットをプログラミングするためのビジュアル言語でした。これはC言語の上にDSLとしてれました。インドのロボット教育をベースとするスタートアップ企業である ThinkLabs が、iPitara Robotics Kit 用に構築しました。この言語は C 言語に非常によく似ています。インドのバンガロールにある少なくとも 1 つの学校が iPitara キットを購入し、生徒に CiMPLE を使用してロボットをプログラミングさせました。 [14]詳細については、CiMPLE Original Developers Weblog を参照してください。 [15] [16] ThinkLabs は最終的に、ビジュアルプログラミングソフトウェアとして「THiNK VPL」を使用するように切り替えました。
- Physical Etoysは、 Etoysの無料のオープンソース拡張機能です。その理念は、「無限の実験室で科学と芸術を組み合わせることで、子供たちが自分の創造性を探求するのを助ける」ことです。 [17] Windows、 Linux、 Sugarで実行できます。ブロックスクリプトシステムにより、Physical Etoysでは、 Lego NXT、 Arduinoボード、 Sphero、 Kinect、 Wiimoteジョイスティックなどのさまざまな電子機器が相互に対話できます。
- Hackety Hackは、初心者、特にティーンエイジャーがプログラミングを簡単に学習できるようにすることを目的とした、無料のRubyベースの環境です。 [18]
- Karel、 Karel ++、 Karel J. Robot は初心者向けの言語で、長方形の街路網で構成された都市内で単純なロボットを制御するために使用されます。 Karel は独自の言語ですが、 Karel++ はC++で実装された Karel のバージョンであり、 Karel J. Robot はJavaで実装された Karel のバージョンです。
- Kodu は、シンプルで完全にアイコンベースの言語です。これは、特に女の子などの幼い子供たちにテクノロジーを楽しんでもらうためのプロジェクトとしてMicrosoft Researchによって開発されました。プログラムはページで構成され、ページはルールに分割され、ルールはさらに条件とアクションに分割されます。条件は同時に評価されます。Kodu 言語はゲーム開発用に特別に設計されており、ゲーム シナリオから派生した特殊なプリミティブを提供します。プログラムは物理的な用語で表現され、視覚、聴覚、時間などの概念を使用してキャラクターの動作を制御します。Kodu ツールは、パブリック ベータ版とアカデミック版のPC 用無料ダウンロードと、低価格のXbox 360 Live ダウンロードの 3 つの形式で利用できます。
- Logo は、1967 年にDaniel G. Bobrow、 Wally Feurzeig、 Seymour Papert、 Cynthia Solomonによって設計された子供向けの教育用言語です。今日、この言語は主に「タートル グラフィックス」の使用で知られています。では、移動と描画のコマンドによって、 「タートル」と呼ばれる小さなロボットを使用して線グラフィックが生成されます。この言語はもともとLispに関連するプログラミングの概念を教えるために考案されましたが、後に Papert が「ボディシントニック推論」と呼ぶものを可能にするために考案されました。これは、生徒が自分がタートルだったらどうするかを想像することで、タートルの動きを理解 (および予測して推論) できるものです。 [19]
- レゴ マインドストームは、プログラム可能なブロック、電動モーター、センサー、レゴ ブロック、レゴ テクニックピース (ギア、車軸、梁など) を組み合わせたレゴ セットのシリーズです。マインドストームは、教育玩具シリーズで使用されているプログラム可能なセンサー ブロックから生まれました。レゴ マインドストームの最初の小売バージョンは 1998 年にリリースされ、 Robotics Invention System (RIS) として市販されました。現在のバージョンは、2006 年にレゴ マインドストーム NXTとしてリリースされました。マインドストームでは、Logo から BASIC、Java、Smalltalk、C の派生言語まで、幅広いプログラミング言語が使用されています。プログラミングに対するマインドストームのアプローチには、現在、 Computer Clubhousesと呼ばれる専用の物理的なサイトがあります。
- Mama は、すべての言語要素を生徒の言語で提供することで、若い生徒がプログラミングを始められるように設計された教育用オブジェクト指向言語です。Mama 言語は、LTR と RTL の両方の言語方向をサポートし、複数の言語で利用できます。Mama の新しいバリアントは、カーネギーメロン大学のAlice開発環境上に構築され、3D ステージオブジェクトのスクリプトをサポートしています。このバリアントは、若い生徒が 3D アニメーションやゲームを構築することでプログラミングを始められるように設計されました。教育用プログラミングの原則に関するドキュメントでは、Mama の設計上の考慮事項について説明しています。 [20]
- RoboMind は、初心者でもロボットをプログラミングできるシンプルな教育用プログラミング環境です。ロボット工学や人工知能とともに、人気のプログラミング手法を紹介します。ロボットは、アラビア語、中国語、オランダ語、ドイツ語、英語、スウェーデン語でプログラミングできます。
- Scratch は、ゲーム、ビデオ、音楽などのプロジェクトを作成できるようにすることで、子供たちにプログラミングの概念を教えることを目的としたビジュアル言語です。これは、私たちがコードと認識しているものを関数「ブロック」に簡素化することで実現します。ユーザーはこれをドラッグして接続し、緑の旗のアイコンをクリックして実行できます。Scratch では、すべてのインタラクティブ オブジェクト、グラフィックス、サウンドを新しいプログラムに簡単にインポートして、新しい方法で組み合わせることができます。これにより、初心者はすぐに結果を得ることができ、さらに挑戦する意欲が湧きます。Scratch コミュニティは、1,000,000,000 を超えるプロジェクトを開発してアップロードし、164,000,000 を超えるプロジェクトを公開しています。 [21]これは、 MIT メディアラボのLifelong Kindergarten [22]グループ。
- ScratchJr はScratch グラフィカル言語の派生です。5~7 歳くらいの子供向けに設計されています。
- Snap! は、JavaScriptで実装された、無料のオープンソースのブロックベースのグラフィカル言語、もともとはMITのScratchから派生したものです。Snap! には、新しいブロックを作成する機能が追加されており、匿名関数の使用を可能にするファーストクラス関数があります。これは、カリフォルニア大学バークレー校によって積極的に保守されています。ソースは完全にGitHubでホストされています。
- Stagecast Creator は、デモンストレーションによるプログラミングに基づくビジュアル プログラミング システムです。ユーザーは画面上のアイコンを動かしてシステムに何をすべきかをデモンストレーションし、システムはオブジェクト (キャラクター) のルールを生成します。ユーザーは、コンセプト、マルチレベル ゲーム、インタラクティブ ストーリーをモデル化する 2 次元シミュレーションを作成できます。
- Stencyl は、教育や商業に使用されているビジュアル プログラミングおよびゲーム開発 IDE です。実装されているコード ブロックの概念は、 MITのScratchビジュアル言語 (上記) に基づいています。また、独自のAPIとHaxe言語を通じて、通常の型付きコード (個別または混合)の使用も許可します。
- ToonTalk は、ビデオ ゲームのような言語と環境です。計算抽象化は、ロボット、家、トラック、鳥、巣、箱などの具体的な類似物にマッピングされます。大きな整数と正確な有理数をサポートします。並行制約プログラミングに基づいています。
大学
- カリーは、最も重要な宣言型プログラミングパラダイム、すなわち関数型プログラミング(ネストされた式、高階関数、遅延評価)と論理型プログラミング(論理変数、部分データ構造、組み込み検索)を融合するように設計された教育用言語[23]です。また、統合関数型論理言語の分野で開発された2つの最も重要な操作原理、「残余」と「狭義化」も統合しています。 [24] [25]
- Flowgorithmは、フローチャートを介してプログラムを記述および実行するためのグラフィカルオーサリングツールです。このアプローチは、特定の言語の構文ではなくアルゴリズムを重視するように設計されています。フローチャートは、 C#、 Java、 Visual Basic .NET、 Pythonなどのいくつかの主要言語に変換できます。 [26]
- Ozはコンピュータ理論を教えるために設計された言語です。Ozは1つの言語でほとんどの主要なパラダイム[27]をサポートしているため、学生は複数の構文を学習することなくパラダイムを学習できます。Ozには、論理プログラミング、関数型プログラミング(遅延プログラミングと積極的プログラミングの両方)、命令型プログラミング、オブジェクト指向プログラミング、制約プログラミング、分散プログラミング、並行プログラミングなど、主要なプログラミングパラダイムの概念のほとんどが含まれています。Ozには、標準的な教科書である「コンピュータプログラミングの概念、手法、モデル(2004年)」と、無料で利用できる標準実装であるMozartプログラミングシステムがあります。 [28]
参照
- カテゴリ: プログラミング言語の比較
- アセンブリ言語– 低レベルのプログラミング言語
- Sugar – 建設的な学習のために設計された GUI
- 数字によるデザイン
- Processing – アートワーク専用の言語
参考文献
- ^ Microsoft Corporation 2009 Small Basic スタートアップ ガイド、64 ページ。
- ^ ケンロン、セス。「2021年にLispプログラミング言語を学ぶ | Opensource.com」。opensource.com 。 2024年10月14日閲覧。
- ^ 「Lisp(リスト処理)プログラミング言語とは? – TechTarget.com の定義」。WhatIs 。2024年10 月 14 日閲覧。
- ^ ab Papert, Seymour (1980 年 10 月)。「子供時代の再定義: 発達心理学の実験としてのコンピュータの存在」東京 (日本) およびメルボルン (オーストラリア): 第 8 回世界コンピュータ会議: IFIP 会議。
- ^ 「kogics Kojoについて」2011年2月12日閲覧。
- ^ Cavallo, David (2007 年 5 月 28 日)。「Learning Squeak from Scratch」One Laptop Per Child News。2009年4 月 3 日閲覧。
- ^ Ducasse, Stéphane (2005). Squeak: ロボットでプログラミングを学ぶ (Technology in Action). Apress. ch 24: A tour or eTOYの 289 ページ. ISBN 1-59059-491-6。
- ^ Kay, Alan. 「Smalltalk の初期の歴史」。2011 年 4 月 29 日時点のオリジナルよりアーカイブ。2007 年9 月 13 日閲覧。
- ^ なぜこれが簡単なのかについてのさらなる議論は、メタ循環評価器を参照のこと。
- ^ ヘメンディンガー、デイヴィッド。「パスカル」。ブリタニカ百科事典、2024年4月5日、https://www.britannica.com/technology/Pascal-computer-language。2024年6月12日にアクセス。
- ^ 「Pascal - Free Pascal wiki」. wiki.freepascal.org . 2024年10月11日閲覧。
- ^ 「About – Alice」 . 2024年10月7日閲覧。
- ^ 「Storytelling Alice – Alice」 . 2023年11月7日閲覧。
- ^ EducationWorld (2012年9月21日). 「ThinkLABS RoboLAB」. EducationWorld . 2024年10月8日閲覧。
- ^ CiMPLE オリジナル開発者ブログ 2011 年 7 月 21 日アーカイブ、Wayback Machineより
- ^ “ThinkLABS -”. 2012年9月20日. 2012年9月20日時点のオリジナルよりアーカイブ。 2024年10月9日閲覧。
- ^ 「Physical EToys - プロジェクトの概要」Tecnodata。
- ^ 「Hackety Hack」。GitHub 。 2024年10月9日閲覧。
- ^ HL ModTech (2018年1月23日). ロゴプログラミング - Turtle Academy レッスン1 . 2024年10月9日閲覧- YouTube経由。
- ^ ママ教育プログラミング原則
- ^ 「想像して、プログラムして、共有する」。Scratch Statistics(ラテン語)。2023年5月25日。 2024年11月17日閲覧。
- ^ 「グループ概要 ‹ 生涯幼稚園」。MITメディアラボ。 2024年10月8日閲覧。
- ^ M. Hanus. 単一の計算モデルによる関数型プログラミングと論理型プログラミングの指導。第 9 回プログラミング言語、実装、ロジック、プログラムに関する国際シンポジウム (PLILP'97) の議事録、pp. 335–350。Springer LNCS 1292、1997 年。
- ^ 「Curry report, Introduction」。2009年10月4日時点のオリジナルよりアーカイブ。
- ^ Hanus, M. (1994). 「論理プログラミングへの関数の統合: 理論から実践へ」。Journal of Logic Programming。19&20: 583–628。
- ^ 「About」. Flowgorithm . 2014年8月26日閲覧。
- ^ プログラミングパラダイムポスター
- ^ 「Mozartプログラミングシステム」mozart2.org . 2024年10月25日閲覧。
