我们如何评估学生在计算科学课程中的表现?

计算科学 教育
2021-12-23 05:13:50

作为一个必须教授计算科学课程的人,我面临着一个古老的问题:我如何评估学生学习一门学科的能力,这取决于应用程序难以用“标准”测试方法进行测试(笔试或口试)?课程的一部分确实依赖于对抽象层面的理论和方法的理解,为此,我想继续对这些概念进行笔试。但是,测试对这些方法的实际使用的理解需要不同的方法

考虑到不仅与不同平台(用于 MATLAB、Modelica、Mathematica 和其他语言)的扩散相关的自然挑战,而且与 Internet 连接和测试安全性相关的自然挑战,我会对用于实际评估学生理解的新方法或原创方法感兴趣数值方法。(提高测试安全性的功能特别可取。)

编辑:我还应该提到,我所教的课程是入门级课程,因此学生的知识基础相对较小。

4个回答

这是我作为学生和助教所看到的:

  • 编程和数值方法的项目很好地将许多概念结合在一起,并迫使我和其他学生发挥创造力。但是,对于计算项目,可能值得花一点时间在软件木工上技能,以便学生编写更有条理的代码。当我还是一名本科生并且不知道更好的时候,我有剪切和粘贴意大利面条代码,这可能对评分者来说是地狱。您可能想通过教他们一些好的做法来避免这种命运。此外,如果你给每个人提供足够相似的项目(例如,计算一组化合物的给定列表中的所有热力学性质,这是本科热力学课上的一个学期项目;后来,这是一个为期一周的家庭作业在研究生热力学中),基本上期望他们实际上互相复制并调试彼此的代码。
  • 每周或每两周的家庭作业是学习新方法和概念的最佳短期方法。给一些东西编程更容易,给它一个星期的时间。同样,期望他们或多或少地相互复制并调试彼此的代码。
  • 除了几个简短的方法或分析问题之外,测验并没有什么用处。您不能对测验进行任何编程,但也应该减少作弊,我的意思是,协作。您还可以在测验中测试纸笔编码,这对基本概念很有用,但对于高级概念或任何需要非常专业命令的东西可能不公平,因为如果学生在计算机上编码,他们将可以访问文档。
  • 如果考试是在课堂上进行的,那么考试或多或少与测验相同,但时间更长,难度更大。我有课程在计算工作中进行带回家的考试,在这种情况下,您可以提出更多以计算为导向的问题,并期望他们通过编程来解决问题。但是,带回家的考试与家庭作业和本科类型的项目有同样的问题,在这种情况下,最好为带回家的考试制定更严格的合作政策。我有一些非常好的带回家的考试,所以我认为如果教师有足够的创造力,这些考试可以很好地发挥作用。
  • 计算实验室不如科学课中类似的湿实验室有效,因为在你面前有一台计算机,更容易犯错。我班上有几个人总是花时间在计算实验室玩在线扑克。如果您有足够的助教在实验室中漫游并确保人们得到帮助并且没有人在网上乱搞,那么这些实验室可能最有效地作为演示或作为计算科学实践技能的指导课程。

从高年级本科生到高级研究生,我曾在与数值和计算方法相关的各种课程中讲授、教授或协助。以下是我发现对教师很有帮助的元素:

研究项目

对于高级课程,研究项目(包括数值研究,通常是一些软件开发和写作)是学生将研究与学术课程联系起来的一种非常好的方式。我认为一个项目应该是研究生课程的必修课,但对于本科生来说,最好用更有针对性的工作来代替。

编程家庭作业

任何计算科学课程的核心都是可访问的编程作业。对于没有编程经验的学生,您需要通过一些编程环境的介绍性课程来备份您的作业,最好是由您的部门或学生组织(如 SIAM)提供的某种“帮助室”。允许多种框架和编程语言可能很困难,我接受用任何语言编写的程序,但只支持一种环境,通常在大学计算机实验室(操作系统、编辑器、shell、解释器等)免费提供

测验

我真的很喜欢每周或每隔一周进行一次 10-15 分钟的简短课堂测验。这是一种很好的双向反馈:学生们看到他们的表现与我的期望和彼此的对立,我看到他们击中和错过了哪些概念。这种评价方式在欧洲不是很常用,我觉得这是一种耻辱。

考试

考试是铅笔和纸,分析算法、代码片段和数学技术。我从未以学生或讲师/评估员的身份参加过计算机实验室考试。我认为我见过的最接近的事情是要求学生展示他们的作业或项目,并回答有关设计或实施的问题。

不诚实约束

作为一名学生和一名教师,我在学术系统中看到了足够多的不诚实行为,以避免依靠荣誉来获得超过 50% 的学生成绩。这意味着诸如项目和家庭作业之类的评估,其中获取外部资源可能导致学术不诚实,对课程成绩的贡献不超过 50%。

其他一些答案建议个性化项目。我在我的有限元软件课程中这样做,这很有趣;我相信这对学生也很有启发性。同时,它也非常耗时:上次我有 18 名学生,实际上是整个学期的全职工作来监督这些项目。所以一个人必须有一个足够小的班级才能成功地完成这项工作。

老实说,我认为最终的测试是将你的知识应用到陌生的领域。我将提出应用项目,旨在测试学生选择有效模型、离散化、近似/求解器方法、可利用的并行性、误差估计和数值分析以及描述计算兴趣的特定物理现象的可视化方法的能力。我会进一步要求学生根据问题大小/预期准确性来证明每个选择的合理性。关键是要知道在所调查现象的约束下,哪些方法是合适的。学生可以选择他们选择的现象。但是,如果您想让它更具挑战性,请为每个学生分配一个与他们的论文研究无关的领域的计算项目。