計算科学コースの学生のパフォーマンスをどのように評価できますか?


10

計算科学のコースを教える必要がある人として、私は古くからの質問に直面しています。「標準」のテスト方法でテストするのが難しいアプリケーションに依存する主題を学習する学生の能力をどのように評価するのですか(筆記試験または口頭試験)?コースの一部は、抽象的なレベルでの理論と方法の理解に依存します。そのために、これらの概念に対して筆記テストを引き続き使用したいと思います。ただし、これらの方法の実際の使用に関する理解をテストするには、別のアプローチが必要です。

さまざまなプラットフォーム(MATLAB、Modelica、Mathematica、その他の言語向け)の急増だけでなく、インターネット接続やテストセキュリティにも関連する自然な課題を考えると、学生の理解を実際に評価するための新しい方法または独自の方法に興味があります数値的方法。(テストのセキュリティを促進する機能は特に望ましいです。)

編集:私が教えているクラスは入門レベルのコースであることにも言及する必要があります。そのため、生徒は比較的小さな知識ベースしか利用できません。


1
PLASMA / MAGMA / LAPACK / ScaLAPACKのようなオープンソースコードを編集/批評的にレビューして、選択した(ミニ?)プロジェクトで作業できるようにしますか?学生の立場で話しています。
インクエスト

コメントに感謝します。これは入門コースであることを忘れてしまったことを思い出したので、並列プログラミングやパフォーマンスの最適化などの概念を取り入れることは想定しておらず、基本的な数値手法とアルゴリズムに焦点を当てています。
aeismail

回答:


5

これが私が学生であり、教育助手として見たものです。

  • プログラミングと数値手法のプロジェクトは、多くの概念をまとめ、私や他の学生に創造性を発揮させるという点で優れていました。ただし、計算プロジェクトでは、ソフトウェアの大工仕事に少し時間を割く価値があります。学生がより整理されたコードを書くためのスキル。私が学部生で、それ以上の知識がなかったとき、私はおそらく年生には地獄だったスパゲッティコードをカットアンドペーストしました。あなたは彼らにいくつかの良い実践を教えることによってその運命を避けたいかもしれません。また、全員に十分に類似したプロジェクトを与えた場合(たとえば、一連の化合物の特定のリストにあるすべての熱力学的特性を計算することは、学部の熱力学クラスでは1期間のプロジェクトでしたが、その後は1週間の宿題でした。大学院の熱力学では)基本的に、それらが実際に互いにコピーし合い、互いのコードをデバッグすることを期待します。
  • 毎週または隔週の宿題は、新しい方法と概念を学ぶための最良の短期的な方法でした。何かをプログラムするのは、それを行うのに1週間与えられれば、より簡単です。繰り返しますが、彼らは多かれ少なかれお互いにコピーしてお互いのコードをデバッグすることを期待しています。
  • クイズは、いくつかの短い方法や分析の質問以外にはあまり適していませんでした。クイズでプログラミングを行うことはできませんが、不正行為つまりコラボレーションが少なくなるはずです。また、クイズで鉛筆と紙のコーディングをテストすることもできます。これは基本的な概念には適していますが、高度な概念や非常に特殊なコマンドを必要とするものには不公平です。生徒がコンピューターでコーディングしている場合、ドキュメントにアクセスできるためです。
  • 試験は、クラスで行われた場合、クイズとほぼ同じでしたが、より長く、より困難でした。私はクラスに計算作業の持ち帰り試験を行っています。その場合、より計算指向の質問をして、問題を解決するようにプログラミングすることを期待できます。ただし、持ち帰り試験には、宿題や学部タイプのプロジェクトと同じ種類の問題があります。その場合、持ち帰り試験にもっと厳しい共同ポリシーを設定するとよいでしょう。私はいくつかの本当に良い持ち帰り試験を受けたので、インストラクターが十分に創造的であるならば、これらはうまくいくと思います。
  • 計算ラボは、科学の授業での類似のウェットラボほど効果的ではありません。目の前にコンピューターがあれば、手間が省けるからです。私のクラスには、オンラインポーカーをプレイするコンピューターラボで常に時間を費やしている人が何人かいました。これらのラボは、デモンストレーションとして、またはラボを移動するのに十分なティーチングアシスタントがあり、人々が助けを得て、誰もオンラインでねじ回していないことを確認する場合は、計算科学の実践的スキルに関する教師付きレッスンとしておそらく最も効果的です。

5

私は、数値および計算手法に関連するさまざまなコースで、上級レベルの学部生から上級レベルの大学院生まで、講義、教育、または支援を行ってきました。インストラクターとして役立つことがわかった要素は次のとおりです。

研究プロジェクト

上級クラスの場合、研究プロジェクト(数値研究、通常はいくつかのソフトウェア開発、および記述を組み込んだもの)は、学生が研究と学業を結び付けるのに非常に良い方法です。プロジェクトは大学院レベルのコースでは必須であると思いますが、学部生にとっては、より直接的な仕事に置き換えるほうがよいでしょう。

宿題のプログラミング

計算科学のクラスの中核は、アクセス可能なプログラミング割り当てです。プログラミングの経験がない学生の場合、プログラミング環境へのいくつかの導入セッション、および理想的には学部またはSIAMなどの学生組織によって提供されるある種の「ヘルプルーム」を使用して、割り当てをバックアップする必要があります。複数のフレームワークとプログラミング言語を許可することは難しい場合があります。私は任意の言語で記述されたプログラムを受け入れましたが、通常は大学のコンピューターラボ(オペレーティングシステム、エディター、シェル、インタープリターなど)で自由に利用できる1つの環境のみをサポートしました。

クイズ

私は毎週1回または隔週のクラス内の10〜15分の短いクイズが本当に好きです。それは良い双方向のフィードバックです:生徒は私の期待に対して、そしてお互いに対してどのように行動しているかを確認し、どの概念が彼らの得失しているのかを確認します。この評価スタイルはヨーロッパではあまり一般的に使用されておらず、これは残念だと思います。

試験

試験は鉛筆と紙で行われ、アルゴリズム、コードフラグメント、および数学的手法が分析されます。私は、学生またはインストラクター/評価者として、コンピューター実験室の試験に参加したことがありません。私が見た中で最も近いのは、学生に宿題やプロジェクトをデモンストレーションし、デザインや実装についての質問に答えるよう要求することです。

不正直な制約

学生としても、インストラクターとしても、学生の成績の50%以上が名誉に依存することを避けるために、アカデミックなシステムで十分な不正直さを見てきました。これは、外部リソースへのアクセスが学術的な不正につながる可能性があるプロジェクトや宿題などの評価は、コース成績の50%以上に貢献しないことを意味します。


最後のポイントは特に重要だと思います。その形式でテスト可能なポイントをカバーするために、クラス内の筆記試験を引き続き行います。それは少なくとも学年の3分の2になると思います。また、クラス外プロジェクトに付随する記事があることを確認します。これにより、生徒は少なくともある程度の時間をかけて素材に取り組む必要があります。私はまた、入力のランダム化と問題の変更を行って、誘惑と不正行為の可能性を減らします。
aeismail

@AronAhmadia:完全に独立しているにも関わらず、ドイツの大学では学部を超えて毎週クイズが行われています。
Deathbreath

@aeismail:アメリカ人は盗作について非常に狭い(滑稽な人との国境を接する)理解を持っています。最初の年は生徒の共同作業を妨げることができるかもしれませんが、翌年にはFachschaftがあなたの課題をカタログ化し、以前の年にはかなりの程度まで解決されていない問題を提起することが次第に難しくなります。
Deathbreath

@Deathbreath:(アーロンに)毎週のクイズは、ここアーヘンでは標準ではありません。少なくとも機械工学ではそうではありません。私がそれらを与えることを許可されているかどうかさえ知りません。(私がやりたいことではありません。)
aeismail

@Deathbreath:(私にとって)学生が過去の試験を使用して方法論を習得した場合、それらを使用させていただきます。彼らがツールの使い方を学ぶのをもっと心配しています。とは言っても、コースの内容は年ごとに変更しているので、古いもので完璧なスコアを獲得し、新しいものでガチョウの卵を獲得する人は、おそらくFachschaftに過度に依存していると思われます。
aeismail

5

他の回答のいくつかは、個別化されたプロジェクトを示唆しています。私は有限要素ソフトウェアのクラスでそれをやっていて、それはとても楽しいです。学生にとっても有益だと思います。同時に、それは非常に時間のかかる作業でもあります。前回、18人の学生がいて、これらのプロジェクトを監督することは学期全体で実質的にフルタイムの仕事でした。したがって、そのクラスを正常に機能させるには、クラスを十分に小さくする必要があります。


記録として、私はこれについての経験をmath.tamu.edu/~bangerth/publications.html#x-reviewedの
Wolfgang Bangerth

2

私の正直な意見では、究極のテストは、あなたの知識を知らない領域に適用することだと思います。効果的なモデルを選択する学生の能力、離散化、近似/ソルバー手法、悪用可能な並列処理、誤差推定、数値分析、および計算に関連する特定の物理現象を説明する視覚化手法をテストするために設計された応用プロジェクトを提案します。さらに、問題のサイズ/予想される正確さに基づいて、各選択肢を正当化するように生徒に依頼します。重要なのは、調査中の現象の制約の下で適切な方法を知ることです。学生は自分が選んだ現象を選択することができます。しかし、それをさらに困難にしたい場合は、関係のない分野の計算プロジェクトを各学生に論文の研究に割り当てます。


私の学生は2年生ですので、論文研究のフィールドを持つのは遠い道のりです。:-)しかし、考えは間違いなくありがたいです。
aeismail
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.