タグ付けされた質問 「education」

コンピュータサイエンス分野の学習とCS教育に関する一般的な質問

3
数学/ CS記法の辞書を探しています
数学やCSの論文では、時々目まいがする記号の配列が使用されています。しかし、多くの人は、1か所ではめったに教えられないような基本的な知識を前提としています。特にCSの観点から、次のような辞書を探しています。 すべての基本的な数学記号をリストし、それらの意味と例を示します。同等の方法で時々使用されるシンボルについて話します。初心者のよくある間違いに気づくでしょう。 それは、単一の記号の異なる意味を取り巻く微妙さについて話します(辞書の同じ単語の複数の定義のように)。 これは、「サブセット」のような1つの単語の説明など、各シンボルの非常に簡潔な説明ではありません。 シンボルが時々「オーバーロード」される方法を示します。たとえば、はを整数として持つことができますが、がこの表記のセットになることもあり、このセットから要素を選択することを意味します。は、整数のセット1 \ ldots nを意味することもあれば、1要素の配列を意味することもあります。( xy)(バツy)\binom{x}{y}zzzzzz[ n ][ん][n]1 … n1…ん1 \ldots n さまざまな種類の「オブジェクト」をさまざまなシンボルまたはそれらを参照する同等の方法(ただしより明確)で記述する方法と、それらのオブジェクトで可能な操作について説明する場合があります。つまり、数学オブジェクトのAPIのようなものです。 すなわち、それは時々、数学的記述をどのように提示するかについてのさまざまなニュアンスの「スタイルマニュアル」になることもあります。これは、数学のスタック交換で質問を書く人にとって非常に役立つリソースです。ここで、多くの質問は、トリッキーな数学の慣習に適合しないことに基づいて意味をなさないものです。 いくつかの本の紹介には、これらの機能の多くがあります。しかし、理想的にはそれは別の治療になるでしょう。また、理想的にはもちろんそれはオンラインであるでしょう。ラテックスシンボルの表がありますが、実際には上記の基準の多くを満たしていません。 これらの機能に一致する「シンボルの辞書」を見た人はいますか? (または、このような適切な参照が存在しない場合、優れたwikiまたはFAQプロジェクトのように見えます。)

4
なぜ有限オートマトンの3つの表現形式すべてを研究する必要があるのでしょうか。
DFA、NFA、イプシロンNFAの3つすべてにより、特定の通常の言語を表すことができます。これらの表現のいずれかを使用すると、同じ正規表現に到達できますが、有限オートマトンの3つの形式の表現すべてを調査する必要があるのはなぜですか。NFAがDFAではできないこと、NFAでは何ができるかについていくつかの説明があります。つまり、NFAは不確実性の設計に役立つ可能性があります。たとえば、ゲーム(チェス)の設計では、NFAを使用して簡単に表現できる特定の場所から特定のピースを移動するための多くのオプションがあります。しかし、NFAまたはDFAを使用して同じことができる場合、イプシロンNFAの使用は何ですか?

1
バイオインフォマティクスや計算ゲノミクスに関する人気の科学書を求めている
私が知っているインテリジェントな15歳は、コンピューターサイエンスと遺伝学の両方に興味を持っています。これらの分野は素晴らしい組み合わせを作ると私は彼女に話しました。私は彼女にバイオインフォマティクスまたは計算ゲノミクスに関する本をあげたいのですが。教科書ではなく、楽しい本を探しています。具体的には、それ自体が詳細な知識を提供することを目的とするのではなく、フィールドを研究したいと考える人々を刺激する必要があります。遺伝的アルゴリズムに関する本には興味がありません。助言がありますか?


7
教師として:適切なプログラミング言語の選択
この質問に適切な場所かどうかはわかりません。少し話題から外れている場合は申し訳ありません。 最初のプログラミングコースに適した言語を選択することは、関連するすべての教師/講師が心に留めておくべき最も重要なことの1つです。特に、学生が若い場合や数学の知識が限られている場合に役立ちます。 私は現在、数学について中程度の知識を持つ非常に熱心な若者(約16〜17歳)のグループを教えています。彼らは今高校の10年生のクラスに通っています。次期のプログラミング言語を教え始めます。 彼らは、並外れたレベルの創造性と勤勉さを備えた、市内の厳選された学生のグループです。したがって、実際のプログラミング言語での作業は、彼らにとって難しい作業ではないでしょう。そのため、Turtle Art、Scratch、Tynkerなどの単純なグラフィカルおよびドラッグアンドドロップソリューションを選択することは、オプションとは見なされません。 選択する前に確認する必要があるいくつかの要因があります。 シンプルさ:それらのほとんどは、おそらく実際のコーディングアクションをこれまで経験したことがありません。 単純さ、繰り返します。主要なアイデアの1つは、アルゴリズムの考え方を教えることです。洗練された、またはほとんど構文化されていない言語があると、それらは道から外れます。 一般性:言語は、特別な開発ケース向けに設計されていない方がよい。PHPとMATLABを、Web開発と計算/モデリング用にそれぞれ設計された例として取り上げます。 最小限の目的のもの:強制的なオブジェクト指向プログラミング(Javaなど)はありません。または、少なくともOOの概念への依存度は最小限です。 プラットフォーム:ほとんどすべてがWindows上にあるため、Windowsをサポートされる開発環境として持つことが重要です。 セットアップが簡単:開発環境をセットアップする簡単な方法を用意することをお勧めします。 業界の好み:深刻な問題ではありません。ただし、少なくとも現在アクティブな言語で、学生がほぼ実際の開発者エクスペリエンスに到達できるようにする必要があります。 ハードウェアの移植性:言語がハードウェアプログラミングで使用できるほど柔軟であることは重要です(必須ではありません)。(私はVerilogやVHDLのようなハードウェア記述言語については話していません。)その目的は、AVRマイクロプロセッサーやRaspberry Pi GPIOインターフェースのようなより単純なプロセッサーベースのハードウェアのプログラミングです。 知りたい 他に欠けている要素はありますか? また、選択肢としてどの言語を提案しますか?

5
応用グラフ理論の標準またはトップテキスト
応用グラフ理論とグラフアルゴリズムに関する参考テキストを探しています。ほとんどのコンピュータサイエンスプログラムで使用されている標準テキストはありますか?そうでない場合、フィールドで最も尊敬されているテキストは何ですか?私はコーメン他を持っています。

4
アルゴリズムについて詳しく学ぶには
私はこのサイトを非常に興味を持って読んでいますが、多くのことが頭に浮かんでいます。これにより、アルゴリズムとCS全般についてもっと学びたいと思っています。私の研究からわかる限り、これを行うには主に2つの方法があります。 厚くて重い本で、ゆっくりと確実に読み進めることができます。 私は「実践して学ぶ」ことができ、すばらしい本を読むことができますが、一冊一冊読むのではなく、興味のある部分に移動して、好きなアルゴリズムの実装と適用に取り組みます。 ? 私の質問は、あなたは上記のどれを使用しましたか、そしてあなたは誰かに同じアプローチを勧めますか?

7
基本的なプログラミングを教えるための言語
私は中学生にプログラミングを教えることに興味があります。次の基準を備えたプログラミング言語が欲しいのですが。 シンプル -コードを多用せずに高度なプログラミングをサポートするために必要な最低限の数にまで削減。そのため、この言語では、ポインターには興味がなく、オブジェクト指向にうんざりしています(関数は優れていますが)。 パワフル -グラフィックス、ネットワーキング、分散処理など、21世紀の要素をプログラミングできるようになりたいです。 デバッグ可能 -人間が読めるデバッガを備えたエレガントな統合開発環境が必要です(つまり、スタックトレース付きの奇妙なエラーメッセージではなく、平均的な中学生がコードの何が悪いのかを判断するために使用できる明確な説明) 。 標準プログラミング言語(C、C ++、C#、Java)は、最初の基準を満たしていません。Scratchなどの基本的なプログラミング言語は、2番目(場合によっては3番目)の基準を満たしていません。スクリプト言語(perl、python、php)は最後の基準を満たしていません。 誰かがそのような獣を知っているかどうか知りたいのですが、座る前に自分で作ります。

6
C ++文字列と文字配列
大学レベルのコンピューターサイエンスを教えるほとんどのC ++インストラクターが、文字列をテキストに使用することを思いとどまらせたり、禁止したりするのではなく、学生に文字配列の使用を要求するのはなぜだと思いますか? 私はこの方法論が何らかのプログラミング習慣を教えることを意図していると想定していますが、私の経験では、文字列の使用だけで何も問題はなく、使用と学習が非常に簡単です。

1
アルゴリズムに関する厳密な本
私はアルゴリズムクラスを完全に楽しんだが、厳格さに欠けていると感じた。ほとんどの場合、提示されたアルゴリズムが機能する理由と、提示された時間の複雑さがなぜあるのかを直感的に理解できましたが、そのようなことを証明したいと思います。そのため、多くの一般的なアルゴリズムについて説明し、アルゴリズムの正確さと時間の複雑さを証明することに焦点を当てた本が欲しいです。何か良い推奨事項はありますか?

4
再帰を教える
私は大学の教員補佐です。次のトピックは再帰です。学生が概念を簡単に把握して再帰的に考えることができるように、再帰を教えるのに最適な方法はどれですか。 再帰を教えるためにスタック構造を説明することを考えていましたが、プロセスを追跡する際にスタックするのではないかと心配しています。ヒントはありますか?

1
高校生のチームのためのCS関連の課題のアイデアは?
高校生の間でSTEMを促進するLet's Talk Scienceコンペティションの CS関連の活動の設計を手伝っています。コンペティションでは、6人の生徒のチームが駅から駅へと移動し、できるだけ早くそれぞれを完了しようとします。 1つのステーションがチームにメータースティックを与え、建物の高さを測定するように依頼する場合があります。(これは、同様の三角形を使用して建物の高さを推定することで解決できます。)回答がどれだけ近いかに応じて、チームの完了時間に時間ペナルティが追加されます。 私の制約はこうして: ほとんどの学生はCS /プログラミングの知識を持っていません チャレンジにはコンピュータは必要ありません 15〜20分間、6人の生徒のチームにアイデアを提示する必要があります。 チャレンジには、客観的にスコアリングできる(判断されない)明確な回答が必要です かなり良い課題の1つは、Caesar暗号でエンコードされた文を提示し、それを解読するように生徒に依頼します。ステーションを運営している人は、Caesar暗号とは何かについて簡単に説明し、チームにテキストを解読させます。時間のペナルティは、正しさに基づいて与えられます-正しくない文字ごとに30秒のペナルティが追加されます。 しかし、シーザー暗号のアイデアは過去に頻繁に使用されており、私は何か新しいものを開発しようとしています。私はCS Unpluggedでさまざまなアクティビティを経験しましたが、どれも私にとって魅力的ではありませんでした。 6人の高校生のチームにとって、CSに関連する楽しい課題は何ですか? ありがとう!
7 education 

2
入門プログラミングコースの指導に関する参考資料
新学期がもうすぐ始まるので、プログラミング入門コースの指導に関する研究に興味があります。大学のコースを改善したいのですが、そのトピックに関する科学論文を探しています。 私が見た1つの傾向は、一部の学生(小グループ)がコンピューターに興味を持っているか、すでにプログラミングの知識を持っているということです。彼らは元気でたくさん学びます。しかし、大多数の学生はプログラミングの最初のステップで苦労しています(Eclipseをセットアップするのは難しい、最初の多くのエラーなど)。これは私の見解ですか、それとも文献に記載されていますか? 学生にとって、この「最初のステップ」をプログラミングにできるだけ簡単にしたいと考えています。最初のスタートとして、「Javaでのオブジェクト指向プログラミングのアートへの優しい入門」を見つけました。

2
もし
誰かが私に言った ログログ\log計算を簡単にするために関数が導入されました。計算する必要がある場合x yバツyxy、代わりに計算できます ログx + ログyログ⁡バツ+ログ⁡y\log x+\log y 以来 ログx y= ログx + ログyログ⁡バツy=ログ⁡バツ+ログ⁡y\log xy=\log x+\log y。これはどのように計算を簡単にすることができますか?数学者の視点からかもしれませんが、コンピューター科学者の視点はどうでしょうか? それが計算をより簡単にするならば、なぜ人々はそれを使って乗算アルゴリズムの複雑さを単純化しないのですか? 私の考えでは、この変換は計算をより困難にします。どのように計算できますかログバツログ⁡バツ\log x そして expバツexp⁡バツ\exp x コンピュータで機能する? 私は正しいですか?何か提案してください?お時間をいただきありがとうございます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.