高校TCSの指導-既存のプログラム


16

私はカリキュラムの構築を必要とする新しいTCS高校プログラムを教えるように申し出られました。これに関する意見や提案を聞きたいです。

まず、TCSプログラムが成功した(または失敗した)高校を知っている人はいますか?

このアイデアは、厳選された優秀な学生を対象とした3年間のプログラム(10〜12学年、16〜18歳)、週8時間程度であり、要求される可能性があります。標準の「コンピューター」プログラムとは異なり、このプログラムはプログラミングではなく、CS、主にTCSの選択されたトピックに焦点を当てる必要があります。これまでに考えているトピックは、広くは次のとおりです。

  • 漸近解析
  • 基本的なデータ構造とアルゴリズム(リスト、配列)
  • 貪欲なアルゴリズムと動的プログラミングのデモとしてのグラフアルゴリズム。
  • その他のアルゴリズム(確率的など)
  • 計算可能性-TM、削減、決定可能性の概念。
  • 複雑さ-NP、P、おそらくPSPACEおよびNL。完全。
  • オートマトン理論

基本的に、これはCSのB.Scの最初の2年間のTCS部分をカバーしています。ただし、これらの学生には、この資料のほとんどに必要な数学的基盤がないことに留意する必要があります。特に、集合理論、組み合わせ論、確率、モジュラーアーティメティックのようなものは、高校では教えられません(残念ながら)。

まとめると、正確な質問をするために:

  1. 誰でも似たようなプログラムをどこでも知っていますか?
  2. 上記のトピックに加えて/代わりに、教えることができると思われる具体的/一般的なトピックについての提案がありますが、プログラムを面白く、重要で直接的に関連させたままにしますそれにかかる時間を正当化するため)
  3. 最近では非常にホットなトピックであるため、何らかの形で機械学習を紹介したいと思います。濃度測定定理のようなツールなしで機械学習をどのように提示できるかについてのアイデアは大歓迎です。

2
最後にオートマトン理論を一種の思考後のものとして挙げているようです。オートマトン理論を中心的かつ統一的なテーマにすることを提唱します。特定の数学的背景なしに、正式な数学的推論を生徒に紹介できます。それは、基礎的であるが証明するのが比較的簡単な鋭い無条件定理を持っています。私の経験から、これを最初の理論コースの学部生に教えることは困難ですが、機械学習直接接続することができます。そのため、HSにはさらに注意が必要です。
アルテムKaznatcheev

1
以前にそれを聞いたことがありません!「選ばれた」生徒?それはおそらく高度なことを意味するのでしょうか?TCSまたはオンラインブログで人気のある科学の本をマイニングしてみてください[いくつかの優れたもの]。チューリングマシン、量子コンピューティング、その他の重要な/興味深い分野。数学が重くなく、数学的な方法ではなく概念的な方法で行われれば、これはうまくいくと思います。また、このサイトはeduの質問でよく出てきます:cs unplugged。幸運を!
vzn

2
あなたが言及した数学のスキル(確率など)を教えるためにあなたの時間を割くのが最善かどうか疑問に思います...これは潜在的にあなたがより高度なトピックをカバーするのに役立ちますが、数学/ csの将来の研究のために学生を準備するのにも役立ちます。
usul

1
@vzn-はい、これらは上級者(あえて言う-才能のある)学生です。
ショール

1
@vznこれは非常に興味深い提案です。どういうわけか、TCSはまだ大衆文化の一部ではありません。つまり、好奇心の強い学生でさえ、通常、P対NPなどの質問を認識していません。しかし、私たちは間違いなく現在のCS学生に提案を求め、彼らが何を思いついたのかを確認します。私の推測では、暗号化が中心となるでしょう。
ショール

回答:


8

多くの国では、IOIチームのサマースクールを開催しています(およそ16歳の高校生で構成されています)。私たちがイランに持っているものは、以前は次のコースを持っていました。

  • プログラミング、
  • データ構造とアルゴリズム、
  • 組み合わせ論、および
  • グラフ理論。

ACMのコンピューターサイエンスティーチャーズアソシエーションには、K12カリキュラムがあります。 Curriculum Resourcesページ才能のある10代の若者にとってはあまりにも軽いでしょう。


プログラミングだと思う 間違いなくカリキュラムの一部でなければならない。Pythonは学習するのに適した第一言語でなければなりません。

また、アクセス可能なトピックをアプリケーションでカバーすることもできます(クールなものを作成する喜びは、興味に大きな影響を与える可能性があります)。おもうCourseraのAndrew NgのMLコースは 、才能のある学生(特に、より深刻なK12数学カリキュラムがあるあなたの国などの学生)にアクセスできるはず。

あなたが検討したいと思うかもしれない非標準のトピックは組み合わせゲーム理論です。16歳ではあまり面白くないかもしれません(私は経験がありません)が、私の経験では少し若い学生にはかなりうまくいきます。

私は個人的に、中央との接続テーマは周りのアルゴリズムであるべきだと思う、私はそれが中心テーマとして、より良いオートマトン理論よりもうまくいくと間違いなくアルゴリズムの視点は(マシン、オートマトンなどチューリングない)だと思うコンピュータ科学の本質。


プログラミングの部分は、標準のCSプログラムでカバーされています。これらは追加のトピックです。そのようなサマースクールのウェブサイトへのリンクをたまたま持っていますか?アルゴリズムに焦点を当てに関しては-私は、彼らがCSの中心であることに同意している間、私は計算可能性と複雑さが均等にあると思います計算機科学の本質。賢いアルゴリズムではなく、解決できないことがあるという事実にもっと感銘を受けたことを覚えています。しかし、おそらく両方がカバーされます。
ショール

ある意味では、チューリングマシンはすべてアルゴリズムに関するものです。また、rubypythonに匹敵する優れたオプションです。同じSUBJでの開発を学ぶために別の素晴らしいオプションがあるjavascriptのための多くの理由により、ブラウザでのパブリック/サンプルコード、全体の機能、高い使用率などの多くをその増殖を例えば
vzn

1
@Shaull、彼らはサイト(Young Scholars Club)を持っていますが、それはペルシャ語であり、サマースクールでカバーされているものについてはあまり含まれていません。
カベ

1
@vzn、高校生にTCSを教える経験はあまりないと思いますが、あなたの意見には興味がないと非常に明確に説明しました。私の答えをトローリングするのを止めてください。
カベ

k、plzは私の体重を推測せず、同じ礼儀を行います。コメントは基本的にあなたの意見を支持しています ... meta =(
vzn

5

奇妙なことに、誰かがいます機械学習は独自に適合すると主張するいますなぜなら、基本的な数学が重要な課題を理解するのに十分に理解できる数少ないサブフィールドの1つだからです。私はこの主張に同意しません-基本的なアルゴリズム(検索、並べ替えなど)をパズルとして提示することができます。加算」、または線形時間での整数の並べ替え、または因数分解(素数の概念は、高校生の選択グループにとって新しいものではないと思いますか?)一方、多くの機械学習は、統計学と確率理論の十分な経験がなければ理解するのが難しいでしょう。それにもかかわらず、

教育プログラムに関しては、ドレクセルのエッシンガーとローゼンによるより詳細なプログラムがあります。

これらに加えて、学習理論のより高度なアイデアのいくつかをスケッチしようと試みることができると思います。

  • 基本的な分類問題は何ですか
  • 概念クラスとは何ですか?概念を学ぶとはどういう意味ですか
  • 指数関数的なサンプリングの複雑さを持たない無制限の概念クラスから概念を学ぶことを望んでいない理由(引数のカウントの概要として)
  • VC次元とは

別の提案は、回路を導入し、シャノンの下限のスケッチを試みることです。生徒がどれだけ快適にカウントできるかによります。これが重すぎる場合は、学生に信仰に基づいてサーキット自体のカウントをしてもらう一方で、議論をするのに役立つかもしれません。「問題が多すぎて小さな回路が少なすぎるため、ほとんどの問題は大規模な回路を必要とする」という考え方が印象的だと思います。この考えは重要であり、複雑さにおいて広まっています。


両方の提案はとてもいいです。ありがとう!高校では、VCの次元が何であるかを学習するのに約3か月かかると感じていますが、これは多すぎるかもしれません。しかし、特に考えが既に置かれているので、それは間違いなく検討する価値があります。
シャール

概念を学ぶことの意味を理解するだけでさえ、太陽が凍る前にcomplicated意的に複雑なことを学ぶことはできないという漠然とした考えを持つことは勝利になると思います。
サショニコロフ

3

これを行うための1つの有望な方向性を示します。AP / NSFは最近、新しい高校の上級配置CSプログラムイニシアチブを発表しました。標準化された授業計画、大学の認定など、このようなプログラムを使用することには多くの利点があります。

現在開発中であり、2016年に向けて準備中です。暫定コースのシラバスと資料はオンラインで入手できます。(アカデミックエキスパートの場合、この時点で「集合知」型のコラボレーションを通じて将来のコンテンツに影響を与える可能性さえあります。)

カレッジボードの上級配置プログラムは木曜日、クラスの提供物に新しいコンピューターサイエンスプログラムを追加する計画だと言いました。これは7年ぶりの新しいテストです。この動きは、米国経済をグローバルに競争力のあるものにするための国家的推進力の中で、科学分野でのキャリアのために学生を訓練することに関心が高まっていることを反映しています。

新しいプログラム、APコンピュータサイエンスの原則は、コンピューティングの「創造的な側面」に集中しますとによって、部分的に資金を供給されます$国立科学財団からの助成金520万。連邦政府機関は、科学、技術、工学、数学、またはSTEM分野の教育を改善する取り組みの一環として、2016年までに全国の同数の高校でさらに10,000人のコンピューターサイエンス教師を訓練することを目指しています。大学の理事会は、教師のサポートと機器のために約350万ドルでチップします。

既存のプログラムはAP Computer Science Aと呼ばれ、新しいプログラムはAP Computer Science Principlesと呼ばれます。既存のクラスは長年使用されており、カリキュラムを開発する教師のモデルとしても役立ちます。


HSの学生にCS cs.seに興味を持たせる方法も参照してください
vzn

3
ちなみに、Baker Frankeと私は、SIGCSE '14でBOF(Birds-of-a-Feather)セッションの提案を提出し、CS原則カリキュラムで理論のトピックにアクセスできるようにする方法を議論しました。
rahulmehta95

@ rahulmehta95-私が読むことができる提案へのリンクはありますか?
ショール

2
ここに行く:cs.ucls.uchicago.edu/~rahulmehta/papers/BOF-Theory.pdfを。お役に立てれば!
rahulmehta95

2

私が最近始めたアイデアは、HS学生に問題間の削減の概念を教える方法です。3-SATのような問題が「同じくらい難しい」という事実に頭を包むのは(少なくとも最初は)非常に難しいので、複雑さを紹介されたとき、これは最も興味深いが最も挑戦的なトピックの1つであることがわかりました。頂点カバーとして。

私が思いついた例は、Vertex Cover(VC)とIndependent Set(IND-SET)の間の縮小で、次のように表現されていました。

「あなたは博物館の館長であり、廊下を守るために警備員を雇わなければなりません。廊下の交差点に配置されると、警備員は彼に隣接するすべての廊下を監視できます。博物館全体を巡回しますか?」

「少し後に、一部の子供たちは、博物館でかくれんぼのゲームをすることにしました。彼らの目標は、他の子供が見ることができないように隠すことです。しかし、警備員は、廊下のため、交差点で「隠れ」に追いやられています。博物館でお互いに会うことなく隠れることができる子供の最大数は?

VCPIND-SET

G=VESV独立したセットであります VSセット差を示します)。

SVSG


CLQうんEpNDSET、複数の"関与"です。
シャール

削減に関しては、普遍的なチューリングマシンが存在するという証拠は、進むべき道の1つであり、おそらく上級の高校生が理解できるでしょう... [多くのレゴTMビデオがあり、一部はcs研究者でも...]その 変換tseitin
vzn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.