我已经讲授,教授或协助了各种与数值和计算方法有关的课程,从高年级本科生到高级研究生。以下是我发现对教师有帮助的要素:
研究项目
对于高级班,研究项目(包括数值研究,通常是一些软件开发,以及一篇论文)是学生将研究与学术课程联系起来的一种很好的方式。我认为在研究生水平的课程中应该强制执行一个项目,但对于本科生,最好用更具指导性的工作代替。
编程作业分配
任何计算科学课程的核心都是可访问的编程作业。对于没有编程经验的学生,您需要通过对编程环境的一些介绍性会议来备份您的作业,并且最好是由您的部门或学生组织(例如SIAM)提供某种“帮助室”。允许多种框架和编程语言可能很困难,我接受用任何语言编写的程序,但仅支持一种环境,通常可以在大学计算机实验室免费使用(操作系统,编辑器,shell,解释器等)。
测验
我非常喜欢每周或隔周一次的10-15分钟的课堂小测验。这是一个很好的双向反馈:学生们看到他们的表现违背了我的期望并与彼此背道而驰,我看到了他们正在碰到和错过哪些概念。这种评估方式在欧洲不是很普遍,我认为这是一种耻辱。
考试内容
考试采用铅笔和纸笔,并分析算法,代码片段和数学技巧。作为学生或讲师/评估员,我从未参加过计算机实验室考试。我认为我所看到的最接近的要求学生证明自己的作业或项目,并回答有关设计或实施的问题。
不诚实的约束
无论是作为学生还是作为指导老师,我都已经在学术体系中看到足够的不诚实,可以避免依靠荣誉获得学生超过50%的成绩。这意味着诸如项目和作业之类的评估不能获得超过50%的课程成绩,在这些评估中,获取外部资源可能导致学术不诚实。