コンピューターを使用せずにコンピューターサイエンスを教えるにはどうすればよいですか?


21

世界のいくつかの場所では、人々は通常コンピューターにアクセスできないため(したがって、コンピューターの知識がほとんどありません)、ハードウェアとソフトウェアは時代遅れであり、停電などに悩まされています。(良い)本へのアクセスも不足する傾向があります。このような状況でコンピューターサイエンスを教えるにはどうすればよいですか?

実験をして、彼らが学んだことを応用することができなければ、彼らは信じられないほどやる気があり、ほとんどの時間をこの趣味に捧げても、まったく(よく)学ばないのではないかと心配しています。CSを理論的にのみ教えることは可能ですか?


13
何千年もの間、人々は数学に魅了されてきました。当時は誰もデジタルコンピューターにアクセスできませんでした。実際、通常、理論コースではコンピューターはまったく必要ありません。
ジュホ14

3
最初のコンピュータープログラムは、最初のコンピューターが構築される約100年前に書かれたことを指摘したいと思います。
ゲイブ14

2
cstheoryを見てください。おそらくそれらの人はペンと紙だけを必要とし、それは最高のコンピューターサイエンスかもしれません(私は彼らがほとんどの時間について何を話しているのかわかりません)。
Trylks

1
CompSciのカバーする領域を強調しておけば、おそらく役立つでしょう。離散数学やデータ構造やアルゴリズムのようなものも、ペンと紙だけでカバーできます。一方、ソフトウェアエンジニアリングには問題がある可能性があります。
NotMe

1
@abhimanyuすごい、質問を回答を投稿する前に「保護」されました。私は今ここにそれを置く:pastebin.com/6tbMtVM8(これは長いの可能性として、答えなければならない自明であるが、ではないと思われる多くのアイデアがそこにありますし、私はあなたが何か役に立つことを願って...。)
誰も

回答:


24

コンピュータなしでコンピュータサイエンスを勉強する方法を尋ねることは、望遠鏡なしで宇宙論を勉強する方法を尋ねるようなものです。確かに、勉強しているものを見ることができて嬉しいし、物事をいじることができるととても助かります。しかし、コンピューターにアクセスしなくてもできることはたくさんあります。極端な場合、コンピューターなしでほとんどすべての学部課程を受講できます。

実際には、コンピューターへのアクセスは、コンピューターサイエンスコースで学んだ多くのことを強化するのに役立ちます。プログラミングコースは、明らかに、コンピューターにアクセスできるほど自然です。一方、紙にコードを書くことを余儀なくされることは、コンパイルするまで何度も何度もコンパイラーを実行してから、些細なテストケースを何度も実行するのではなく、人々が自分のコードについて考え、実際に動作することを確認することを促します明らかなバグがなくなるまで。

コンピュータなしで最も自然なトピックは、より数学的なトピックです。組み合わせ論や確率などのすべての背景数学。計算可能性、形式言語、論理、複雑さの理論、アルゴリズムの設計と分析、情報とコーディングの理論。量子計算に関係することは何でも!


11
+1このCSとプログラミングの違いが重要です!私の学部のCSコースには、コンピューターを使用するための最小限の要件がありました。オンラインの読書資料にアクセスする以外に、図書館で枯れ木を簡単に調べることができました。
宇宙のオシフラジ14

4
@CosmicOssifrage同意しますが、CSはプログラミングではありませんが、プログラミングはコンピューター科学者が自由に使える非常に便利なツールです。そして、それが私たちがそれを教える理由です。
デビッドリチャービー14

2
@Abhimanyuそれはあなた自身の資格に依存します。知識とスキルがあれば、生徒の心から離れた黒板にすぎません。
ラファエル

2
@vznいいえ、プログラミングの大部分はデバッグの技術を学んでいます。それは非常に重要です。しかし、それはコンピューターサイエンスではありません。
デビッドリチャービー14

2
@vznその男を引用するなら、それを正しくしなさい。彼は、デバッグではなく(科学的な)仮説を検証/反証することを目的としたランタイム実験について話しています。Sedgewickは、実験的な実装のテスト/デバッグが科学であると主張することはないと思います。
ラファエル

10

紙と鉛筆の明らかな使用があります。信号処理を教えられたとき、特別な信号プロセッサは私たちに直接利用できませんでした。

偉大なコンピューター科学者ダイクストラは、コンピューターをあまり使用していないようです。

1972年以降に登場するこのシリーズのほとんどすべての記事は手書きです。ソフトウェアの技術の多くを発明したダイクストラは、何十年もの間、自分の仕事でコンピューターを使用することを避けました。UTの同僚の励ましに屈してMacintoshコンピューターを取得した後でも、彼はそれを電子メールとWorld Wide Webの閲覧にのみ使用していました。

ディスクストラの記念碑からの引用

これは、コンピューターがなくても優れたコンピューターサイエンスを行えることを示しています。

紙と鉛筆に加えて、コンピューターサイエンスの問題も「現実世界」で解決できます。たとえば、カードを使用したソートアルゴリズムのデモ、またはより珍しいことですが、Sapientia Universityのダンスです。


これを効果的に行う方法に関するアドバイスはありますか?教師は、大規模な大学でチョーク黒板講義の恩恵を受けていなかったかもしれません。
ラファエル

3
多くの数学はチョーク黒板で教えられます。コンピューターサイエンスでも同様のことをしていると思います。
フィンオーラップニールセン14

ここでは例として、スプレー木の素敵な黒板講義です:youtube.com/watch?v=So8szqIvIFs
フィンアラップニールセン

2
個人的には、夏休みの仕事にデータ構造とアルゴリズムの知識をオフィスワークに適用しました。私はチェックスタブのボックスに基数ソートを使用し、その雑用をした他の誰よりも1から2桁速く、信じられないほどになりました。提出が必要な印刷カードで自然なマージソートを使用しました。 データ構造と計算は実世界に存在します
JDługosz

8

多くのコンピューターサイエンス理論は純粋に理論的であり、pen(cil)と紙を使用して解決できます。それらに関する情報を取得し、それらを外部の世界に伝えるには、コンピューターが必要です。


5
これは私にもっとコメントをするように思います。
ラファエル

7

素晴らしいアイデアについては、http://csunplugged.org/を参照してください。Googleはスポンサーの1つです。

サイトから:

CS Unpluggedは、カード、ストリング、クレヨン、走り回るたくさんのゲームやパズルを使ってコンピューターサイエンスを教える無料の学習アクティビティのコレクションです。

このアクティビティでは、コンピューターで通常見られる注意散漫や技術的詳細とは別に、2進数、アルゴリズム、データ圧縮などの基礎概念を学生に紹介します。

CS Unpluggedは、小学校から高齢者まで、そして多くの国や背景のあらゆる年齢の人々に適しています。Unpluggedは20年以上にわたり、教室、科学センター、家庭、さらには公園でのホリデーイベントにも使用されています。


条件は複雑ですが、リソースが許せば試してみる価値があります。
Abhimanyu 14

これは見栄えが良いことに同意しますが、これを適切な回答にするためには、質問で説明されている特定の問題に対処する必要があります。例えば(地方?)アフリカでそれらを持っていると期待できますか?
ラファエル

3

できる、それがあなたがそれをどうするかはかなり明白です。それが人々にどれほど役立つかはわかりませんが、できます。

しかし、コンピューターサイエンスの教師になる方法がわからないので、コンピューターなしでコンピューターサイエンスを教える方法を尋ねることができます。

コンピュータサイエンスを教えることができれば、その方法がわかるからです。

知っているなら

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

データベースのデータテーブルの構造である正規化の研究は、ペンと紙で行うことができます。(リレーショナルデータベースを勉強したとき、私はペンと紙でそれをしました)

コンピューターサイエンスの教科書にはコンピューターは必要ありません。

コンピューターサイエンスの教科書を取り上げて、図書館で勉強したことがあるなら、それを理解するのにコンピューターは必要ないことを知っているでしょう。

しかし、コンピューターサイエンスのクラスに座った人は、ほとんどの人がプログラミングできないことを理解できることを知っておく必要があります。人々にとって抽象的すぎる。それは大学レベルでも当てはまります。

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

かなりの少数の学生が、すべての英国の大学のすべての入門プログラミングコースで失敗します。英雄的な学術的努力にもかかわらず、割合は長年にわたって減少するのではなく増加しました。教育方法と学生の反応に関する多くの研究にもかかわらず、私たちはその原因を知りません。

それをかなりの少数派と呼ぶことは控えめに言って付け加えます。プログラム可能な少数派です。

しかし、彼が目撃した衰退の原因に注目したい。例えば2000年から2010年の間にコンピューターが普及するにつれて(彼はその10年の半ばに書いた)、より多くの人が「コンピューター科学」の研究に興味を示した。それ以前は、熱狂的な人々だけが興味を持っていました。そして以前は、コンピューターの使用はより技術的でしたが、コンピューターが一般の人にとって使いやすくなり、実行可能なアプリケーションでより強力になったため、コンピューターを使用する人が増え、自分ができることにだけ興味がある人が増えました彼らがそれをどうやってやるのかというよりも。


2
一体何が「心配」なのでしょうか?
ネイト・エルドレッジ14

1
@NateEldredge アーバン辞書:«2を追加し、2と5を取得する愚かな/誰かに何かを言うか、ない人のための陽気用語『wolly何』»
ポール・A.クレイトン

@NateEldredge通常は「ウォーリー」と綴られます。
デビッドリチャービー14

2
OPの評価は答えではありません。
ラファエル

2

コンピュータなしでコンピュータサイエンスの概念を教えることは可能です。もちろん、コンピューターにアクセスできなくても、コンピューターサイエンスの学習は本当に何をするのでしょうか。

私が高校でコンピューターサイエンスを学んでいたとき、最初のいくつかのクラスにはコンピューターはまったく関係していませんでした。代わりに、オブジェクト指向の概念を教えたKarel ++という本から仕事をしました。作成された言語は、すべてのコードがグラフでアクションを実行するため、ホワイトボードまたは黒板で非常に簡単に「実行」できます。最初のいくつかの課題はすべて手書きで、教授は次のクラスの開始時にボード上で正しい解決策を示しました。

アルゴリズムの議論を始めたとき、教授は私たちを部屋の前まで呼んで、一列に並ぶように言った。彼はいくつかの異なるソートアルゴリズムを証明するために進めた-何か愚かな彼はランダムに我々はすべての反復をソートしたが、その後実行されたかどうかをチェックし、その後、私たちのうちの2つを交換してしまう「猿の一種」と呼ばれる始まるバブルソートシェルの並べ替えをすることによりを-それらを「実行」します。

彼はボード上に図を描き、コンピューターのメモリとスタックがどのように機能するかの基本を説明しました。彼は変数とポインター(C ++クラスでした)を示し、そこからリンクされたリストとツリーまでを示しました...

そのクラスから取ったメモを調べてみると、おそらくこれに追加できますが、今ではそれだけです。これらの提案が興味深い場合は、この答えを拡張できます。


1
プログラミング(クラフト)とコンピューターサイエンスを混同しているようです。
ラファエル

@Raphael特定の言語でのプログラミングの仕組みは科学の部分にとって重要ではないかもしれないことを理解していますが、コンピューターサイエンスをプログラミングから実際にどれだけ離すことができるのでしょうか?コンピューターの操作方法は?答えを変えて2つを分離することもできますが、OPの質問に基づいて思い浮かぶイメージは、複雑性理論の数学的基盤について学ぼうとしている大人ではなく、CSのアプリケーションの紹介を必要とする小学生です。
ブラックホーク14

@DavidRicherby私はOPに、生徒の対象グループ(コンピューターの年齢/経験)と、彼が教えることを意図している資料を明確にするように依頼しました。それに応じて回答を調整します。可能であれば、アルファベットやボキャブラリーの使用方法を知ることよりも、より直接的に類推することを提案します。たとえプログラミング言語の研究は実際にコンピューターサイエンスに含まれているため、たとえたとえその類推が不十分であることを除けば。
ブラックホーク14

@Blackhawkもちろん、完璧なアナロジーはありません(ほぼ定義上)。しかし、プログラミング言語の設計はCSですが、単にそれらを使用するのはそうではありません。
デビッドリチャービー14

1
@DavidRicherby CSのツアーページ、具体的には「...について」と「Do n't ask about ...」を読んだところ、このサイトで多くの人が質問/回答しているという印象を受けました。 SOの方がはるかに優れていると思いますので、貢献したことをおaびします。この回答について、サイトの目標に合わせて変更できる具体的な事項を指摘していただけますか?「semicolon」と「C ++」への参照を少なくとも削除する必要があると思いますが、オブジェクト指向言語の概念の教育ツールとしてのKarel ++の使用についてはどうでしょうか。それともコンピュータのメモリ?
ブラックホーク14

2

コンピューターサイエンスの学位を取得し、多くのプログラミング(さまざまな言語)を教えられ、多くの数学的側面(および一部のハードウェア)も教えられたと思いました。

数学の部分は最初の年にとってより重要でした-3Dグラフィックスに不可欠なマトリックス数学を考えてください(頂点を照らすための表面法線をどのように計算しますか?)。私たちは多くの統計を行いました-ジョブスループット分析、システムが詰まる前にシステムに渡すことができるジョブの割合を考えてみてください。これは、多くの集中システムとネットワーキングにとって非常に重要です。

多くのアルゴリズムを教えることができます。ここで紹介するポスターの1つは、生徒にそれぞれ番号を付け、さまざまなアルゴリズム(アクティブで情報提供)を使用して自分自身を並べ替えさせます。実際、インターネット上のアニメーション画像で説明できるアルゴリズムは、この方法で教えることができます。同様に、計算の基本- プログラムカウンター、アキュムレーター、およびレジスター同じ方法で、または紙で教えることができます。学生ベースのマルチスレッドはどうですか-学生のグループに、古典的なマルチスレッド演習(または1つの共有スプーンの問題)で、それぞれの間にスタックがあるカードゲームを設定します。パターンを設計したり、黒板アーキテクチャは、マルチプロセス通信の実装方法を学ぶのに最適な学生だと思います。 「生きているコンピューター」のモジュール。バイナリ数学を教えたり、スタックベース(リバースポリッシュ)の実行を教えたりできます。

もちろん、電子機器にアクセスできる場合は、オペアンプでアナログコンピューターを構築できます。彼らはかっこいい。

残念ながら、これはすべてコンピューティングよりも数学のように見えますが、その多くは固執し、いつか彼らがそれを教えられた理由を理解します(コンピューティング業界に参入すると仮定)。人が行うことができ、コンピュータが行うことができます何かを覚えている-それだけで彼を取るでしょうたくさん同じ結果を達成するために多くの時間と退屈を。単純な例を使用して、コンピューターが何をするかを示し、想像力を駆使して、私が教わったよりドライな方法でコンピューティングの基礎を説明します。


1

コンピュータなしでコンピュータサイエンスを勉強する方法を尋ねることは、望遠鏡なしで宇宙論を勉強する方法を尋ねるようなものです。

私は主にこの声明に反応するためだけに答えています。他の答えには強く反対しているからです。私の意見では、正しい比較は

コンピュータなしでコンピュータサイエンスを勉強する方法を尋ねることは、コスモスなしで宇宙論勉強する方法を尋ねるようなものです。

コンピューターサイエンスはコンピューターを使用するだけでなく、コンピューターに関するものです。確かに、多くのコンピューターサイエンスは数学に基づいているので、数学的部分はコンピューターなしで研究できます(したがって、数学を教えているのです)。望遠鏡にアクセスできます)が、結局のところ、あなたが研究しているのは物理学です。

さて、ここでの回答で誰もがしていることは、学士レベルのコンピューターサイエンスがほとんど理論的であり、コンピューターを必要としないことに注意することです。理論的なものを直接掘り下げる自然な理解がなければ、多くの学生はあきらめるか、コンピューターサイエンスの見方がひどく一致しなくなります。プログラミングを教え、最初にコンピューターがどのようなものであるかを理解し、その後で理論的なことを学びます。

アフリカで一般レベルのノウハウ以外にコンピューターの知識はないが、高度なコンピューターサイエンスを学び、ほとんどの時間をこの趣味に捧げたいと願っている学生を教えているように、

予算による:

  • 予算がほとんどないアフリカに旅行するお金があれば、たくさんのArduinoクローン(機能的なArduinoクローンが13ドルで入手できます。たとえばこのリストを確認してください)、いくつかの出力コンポーネント(LEDなど)、1台のラップトップを手に入れます。いくつかの基本的なプログラミングから始めて、それらを紙で教え、ラップトップで入力する必要があります。これは最も効率的な方法ではありませんが、少なくともコンピューターが実際に何であるかについての基本的な基本的な理解を教えてくれます。
  • 低予算購入$ 750ドルの価値が$ 50のAndroidスマートフォンやキーボード(マイクロUSBキーボードまたはBluetoothキーボードは、チェックebay.comaliexpress.comをスマートフォンやキーボードの両方のために)。はい、彼らは百万点でくだらないです、それについてさえ私に言わないでください。それでも、それらにデータを入力することはできますが(スクリーンキーボードの使用を検討する必要はありません)、Android用のシンプルなコーディングアプリがあります。スマートフォンごとに複数の生徒がいて、それは非常にうまく機能します。

コンピューターサイエンスはコンピューターなしでは教えられないと言っているのではなく、コンピューターに慣れて、そのようなことを検討する前にかなりよく知っている必要があるというだけではありません。


私の答えにあなたの意見の相違を誤解したか、それとも反対します。宇宙が存在しないことがわかっていれば、宇宙論は完全に偽造されたものになります。宇宙の存在を真に信じた場合、宇宙論は最悪の場合でも意図的に資源を浪費することになります。しかし、実際には、私たちはそれが存在することを知っています。望遠鏡のない宇宙論は、「おい、今週は宇宙を観測できないが、確かにそこにある。今それについて学び、来週それを見ることができる」と言っている。コンピューターのないCSは、「ねえ、コンピューターは間違いなく存在するので、今すぐ勉強して、後で物理的に体験できる」と言っています。
デビッドリチャービー14

そして、コンピューターが何であるかを実際に使用したり、実際に理解したりせずに誰かにコンピューターサイエンスを教えることは、まさにそのような偽造です。望遠鏡を通して宇宙と直接やり取りするのではなく、宇宙を観察する多くの方法の1つにすぎません。夜でもそれを見ることができ、基本的なレベルで簡単に理解できます。同じことは単にコンピューターには当てはまりません。
デビッドモルダー14

私は、真に存在するが経験していない何かについて誰かに教えることは偽造であることに完全に同意しません。
デビッドリチャービー14

2
@DavidRicherby:ここにいるあなたや他の人たちはコンピューターに慣れているので、そもそもコンピューターを基礎とせずにコンピューターサイエンスを教えようとすることの真の意味を理解するのは難しいです...実際のコンピューターでコンピューターを使用したことのない若者に...プログラミングやコンピューターサイエンスを教えようとはしませんでした。コンピューターで。(続き)
デビッドモルダー14

2
最近では、少なくともある程度の経験がある若者ほど比較的簡単ですが、問題は、経験がまったくない場合についてでした。その同じ個人は、彼が教えていた国で、中等学校の学生が以前にコンピューターに触れることなく大学の情報学コースに到着する期間があることを教えてくれました...中等学校でいくつかの理論を学び、不十分に終わるほとんどの(すべてではない)ケース。問題/アイデアは、彼らはちょうどそれらに関係なく、どのような...手に入れたいので、そのコンピュータの仕事は、よく払っている
デヴィッド・モルダー

1

コンピューターサイエンスはアルゴリズムについてであり、コンピューター(および電子機器)についてではありません(厳密に)。

そのため、アルゴリズムの研究(初等算術の場合でも)は、コンピューターサイエンスとプログラミングの理解をもたらすことができます。「アルゴリズム」という用語でさえ、算術の本の著者の言い換えであることに注意してくださいal-Khwārizmīおよそ 9セント。CE)。

アルゴリズムの研究は基本的な手段を使用して行うことができますが、アルゴリズムがなぜ機能するのか、それがどのように生じたのか、そしてそれが実際に正しく機能することを実際にどのように実証できるのかをカバーする必要があります。

コンピュータサイエンスとアルゴリズムとプログラミングの進化の背後にある3つの歴史を過小評価してはなりません。たとえば、Babbage / Adaの計算機、Enigmaマシン、Konrad Zuseのplankalkul、ENIACなど。

次に、アルゴリズムを形式化する方法としてプログラミング(およびプログラミング言語)を導入できます。これは、基本的な手段を使用して(大幅に)行うこともできます。

注:いくつかの研究では、人々の学習プログラミングには理解の2つの主な困難があることが示されています(たとえば、割り当て対等性テストおよびRAMマシンの動作などのシンボルのオーバーロードに関連)。

  1. ループ構造(for、whileなど)は難しいようです
  2. 割り当てと同等性のテストも難しいようです。

したがって、これらが人々に明確に把握され理解されていることを確認できます。

さらに、コンピューターにアクセスできる場合(プログラム可能な計算機でさえ)、これを使用して、アプリケーションの例と実践的な経験を提供できます。それ以外の場合は、シミュレートされたコンピューターを使用できます。これはさまざまな方法で行うことができます。たとえば、人々のグループがコンピューターの一部をシミュレートし、クラスがこのシミュレートされたコンピューターのさまざまな問題を解決するアルゴリズムを設計し、それがどうなるかを確認できます。これは、ゲームとしても見ることができ、創造的でメイクをします。

次に、いくつかの(抽象的な)計算モデル(Turing Machinesなど)を導入し、アルゴリズムに関する以前の資料や(プログラミング)言語への形式を関連付けることができます。

実際のコンピューターの電子機器を導入したい場合、これは2つの部分で行うこともできます。

大学であっても、一部の電子工学およびコンピューターアーキテクチャコースは理論的なものであることに注意してください(実際にCPUと接触したり設計したりすることはありません)。

そのため、コンピューターアーキテクチャに関連する電子機器(および基礎となる物理学)の動作原理(半導体、固体エネルギーゾーン、p-npゲートなど)を導入できます。

次に、プログラミングとアルゴリズムに関する以前の資料を活用し、業界で使用されているCPU設計(および説明)(ロジックゲートフリップフロップFPGAVHDLCMOS回路など)の(最新の)テクニックを紹介します。

これは、並列処理、パイプライン処理、キャッシュメモリ、ベクトルアドレス指定、マイクロプログラミング、DMAなどのCPU設計アーキテクチャの問題にさらに取り入れることができます。

まあ、これは多すぎるかもしれませんが、答えを自己完結させるために追加されました。


-1

プログラミングを教えたいですか?

子供の頃、私たちはキャンプの休日に行って、コンピューターのマニュアルを携帯しました。ペンと紙を使って簡単なゲームを書くことができました。

これが私の最初の本当のプログラムだと思うので、多くの学習が必要でした。やりたいことはわかっていましたが、それを理解している間、多くの間違ったスタートがありました。しかし、最終的にはコード全体を書き出すことができました。

私が言っていることは、プロジェクトを計画し、コードに変換するための擬似コードおよび/またはフローチャートで開始することだと思います。コードを読むだけで多くのコードをデバッグできました。ここでピアレビューを使用することもできます。


私は間違いなく、フローチャートではなく擬似コードを使用します。
デビッドリチャービー14

この質問には、回答ごとに複数のエクスペリエンスデータポイントが必要です。
ラファエル

-2

前の答えにエコーするには:ペンと紙の練習を読んで実行するだけで学ぶべきことがたくさんあります。紙の上で問題に取り組むことができるなら、あなたは難しい部分を軽く持っています。ただし、学生をCSにさらすかなり安価な方法の存在についても言及したいと思います。Raspberry Piプロジェクトに精通してい ますか?複数の人が共有する必要がある場合や、1ユニットまたは2ユニットしか入手できない場合でも、生徒をテクノロジーにさらす方法として検討する価値があります。


これにより、既存の回答に何も追加されません。
ラファエル

1
@Raphael True。ただし、安価なコンピューティングデバイスに関する他の回答はこのデバイスの後に投稿されていることに注意してください。
デビッドリチャービー14

-3

これを少し動かして「箱の外側を考えて」みます。本格的なコンピュータは確かに高価であり、場合によってはリソースを必要とし、保守が難しくなります。しかし、LCDスクリーンなどを備えた本格的なコンピューターを模倣し、多くの基本的なプログラミング原理を適用できる、多くのバッテリー駆動の安価な電子システムが多数あります。EEの原則と、バイナリロジック回路の構築などのコンピューティングとの密接な関係もあります。また、最近では一部のおもちゃにプログラム機能があります。

  • プログラマブル電卓。プログラミング言語全体(それほど高レベルではなく、アセンブリ言語に似ています)が組み込まれているものもあります。一部は高度なプログラムをサポートします。

  • Raspberry piミニコンピューター/マイクロコントローラーは、この目的のために開発され、Linuxを実行します。多くの場合、40ドル未満です。

  • parallax STAMPキットのマイクロコントローラーにはUSB接続が必要ですが、おそらくRaspberry piで十分でしょう。PICマイクロコントローラーも参照

  • ロボットシステム。プログラマブルロジックを備えた安価なものが多数あります。レゴロボットマインドストーム/ nxtは最高の1つであり、安価なモデルがあります。

  • 一部のコンソールゲームには、プログラミングの原則が組み込まれています。たとえば、リトルビッグプラネットには素晴らしいプログラミング機能が組み込まれています。プログラム可能なゲームのハンドヘルドバージョンがいくつかあります。インスピレーションを得るための複雑な構造のYouTubeビデオが多数あります。

  • スマートフォンは新しいプログラミングの世界です。JavaScriptを実行するブラウザがあり、プログラミング関連のアプリがたくさんあり、インターネット接続(wifiを含む)でプログラミングサイトを閲覧することさえできます。

また、コメントのように、例えば追加などのためにTMプログラムを構築し、それらを手で追おうとすることを提案します。


2
コンピューターにアクセスできない人も、レゴマインドストーム、コンソールゲームシステム、スマートフォン、またはwifiにアクセスできないと思います。
デビッドリチャービー14

公平/明白/予想されるポイントであるが、言及されたものは質問基準で明確に除外されていなかった。学生が物資を持っていないかどうかなどの質問からはわかりません。たとえば、高価で、上記のすべてがベンチマークとしてデスクトップコンピューターよりも安いからです。教科書を買う余裕のある学生や学校は、上記のお金を払うことができます(共有するかもしれません)。教科書が手頃な価格でない場合、他に何が残っていますか?
vzn 14

(FYI質問のスコープは、問題の編集が主要な仮定は、NECがオリジナルライターによって意図&機能ではありませんバグとしてオリジナルの曖昧さを好むない作るように私には、この答えが書かれているので、MODによって大幅chgedた)
vzn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.