当前位置: 首页  实践教学  教学研究
教学研究

在复旦大学软件学院,信息安全课程作为软件工程专业本科生的必修课,已经开设10年了,这门课程主要作为信息安全领域的入门级课程,学生不仅需要掌握信息安全领域的基本知识,而且要具备对复杂的安全问题中的各组成部分之间相互关系的分析能力

交互式的研讨型教学作为现代欧美大学一种基本的教学方法,在计算机学科的教学中已经被大量实践,近20 余年来也已成为我国教育界广受关注、积极探索的一种教改措施。交互式教学方法可以吸引学生自主地投入到课程的学习中,这比那些传统的讲授内容和直接传递信息给学生的教学方法有更好的效果。可以在信息安全课程中使用的方法大致可分为三类:

  1. 实验、项目;
  2. 课堂讨论;
  3. 角色扮演。
 

I. 研讨型教学方法

研讨型教学方法涵盖的范围很广,本课程主要实践了三种方法:随堂研讨型授课、主题演讲和讨论、促进动手学习的课程项目,我们将分享如何将这些方法应用到信息安全课程的教学上。这里可能会有一些概念上的重叠。

A. 随堂研讨型授课

在交互式教学中,教师不单需要像传统式教学中那样传授内容和信息,同时还需要引导学生的讨论。我们采用课堂对话和头脑风暴两种方式来开展这种讨论。经过学生之间以及学生和教师之间的讨论后,学生能够更好的掌握该主题的相关知识。以我们的经验来看,这是提高课堂参与度的一种非常有效地方法。

在课堂对话之前,教师必须精心的准备讨论的主题。那些在历史上为寻求最佳解决方案而不断被探索的问题也许就是最好的主题。教师在直接讨论中应该朝着问题正确答案的方向来引导学生。当一个问题出现时,学生们的最初解答可能只是正确答案的一部分。这时需要由老师引导提出思考这个问题时所忽视的方面,学生进一步通过讨论来完善自己的答案。例如,在介绍完许多古典的加密技术(如Caesar密码、单字母表密码)之后,我们提出了一个问题:“如果你是一个攻击者,你将如何破解这些经典加密技术?”。首先,Caesar密码由于密钥数量少而容易被破解;其次,虽然单字母表密码的可用密钥数量庞大,但是由于它不会改变密文中字母出现的相对频率也容易被破解。然后我们介绍一些密码系统设计的基本原则:从改进的古典加密技术如Playfair和Vigenere密码到混乱和扩散这两个奠定现代密码学基础的概念。

运用头脑风暴形式的讨论时,先提出要讨论的问题,要求所有学生自由地思考问题的解决方案;然后将各种方案不加评论的收集起来,随后在课堂上进行整理和评价。目标问题不应该过于简单或者复杂,相反,应该是具有一定挑战性和发人深省、同时是可以解决的。需要注意的是,教师应该让每个学生觉得他对这个问题的建议得到了尊重。在实际教学中,我们有很多运用了头脑风暴的例子,例如我们要求学生列举出网上银行中验证登录用户身份的所有的可能的方法,学生列举出了简单口令、一次一密、加密认证和生物识别技术等相关的可能方法,然后我们带领学生分析这些方法的各自的优点和缺点。

B. 主题演讲和讨论

主题演讲和讨论主要包含三个步骤:(1)由教师选定一个话题作为任务布置给学生;(2)课后学生通过阅读相关的材料进行演讲准备;(3)由其中的一些同学进行主题演讲,关于此主题的更加深入的讨论也随之展开。如果需要,整个班级可以被分成若干个讨论小组,每个小组得到不同的话题。通过这种方式学生就有更加充裕的时间对话题进行研究、准备和讨论。在整个过程中,学生通过阅读材料、制作幻灯片、进行演讲、讨论等等这些工作不仅有利于加深对选定主题的理解,同时也使相关技能得到提高,后者对于学生未来的职业生涯可能更加的重要。

下面列举了我们在信息安全课堂上所使用的一些主题:

  1. 研究导致缓冲区溢出(堆栈溢出、堆溢出等)的方法,并且给出一个利用缓冲区溢出进行攻击的程序;
  2. 能够自动分析和检测程序漏洞的软件,利用开源代码工具进行分析;
  3. 如何能设计出不可检测的计算机病毒(让学生阅读相关的文献资料)。

C. 促进动手学习的课程项目

对于软件工程专业的学生,大部分将在本科毕业后直接进入软件领域工作,信息安全的课程项目应该得到和课程内容讲解同样的重视。通过项目的团队合作,学生能掌握一些更加实用的技能,这些项目让学生将课堂中学到的知识运用到实际的软件开发中,而且也要求学生具备良好地人际沟通技巧,协调小组成员的工作。在我们的课程中,学生通常被分到3到4人左右的小组中,每个小组完成两个从实际应用中选取的项目。课程内容与项目之间的相互配合也非常重要,最好将项目安排在与之相对应内容的课堂讲解之后,学生就能在项目中运用课堂所学到的知识,同时也能够在课堂上分享项目中的经验。

动手项目的选题在课前精心挑选的,应该是有一定实用价值且易于管理的,项目进度可以根据课堂知识的讲解情况进行安排。下面是在我们课程中所使用的两个项目。

  1. 利用加密技术,确保电子邮件通信的安全。该项目的目标是让学生利用课堂中所学知识确保信件内容的安全。项目要求使用Java库函数进行底层的开发,包括加密和签名的实现,不允许使用Java自身的加密库函数。项目完成之后,学生会加深对加密和解密的不同方法(对称和非对称)、MAC(消息认证代码)和签名验证等技术的理解。
  2. 构建一个简化版本的Kerberos。该项目的目标是利用基本的身份认证技术实现一个安全协议。项目要求以小组的方式来完成,小组需要完成一个包含客户端、认证服务器(KDC)、TGS服务器和Kerberos身份认证逻辑的简单C/S应用。交付物包括可执行程序、源代码、项目开发文档和简单的用户使用文档。

II. 教学效果与思考

A. 学生的反馈

在学期末,我们设计了若干问卷来获得学生的反馈。通过统计反馈结果来评价课程的内容设计和交互式教学方法的效果。共收集了129份问卷,对关键评价的统计结果如图2和图3所示。

对交互式教学方法的平均满意率为95.34%,而非常满意率为57.36%。综合评分如图2所示。没有学生认为这样的学习过程是难以接受的,我们对这个结果非常的欣慰。

从图2同时可以看出,大部分学生认为参与动手项目比主题演讲更加有意义,通过项目参加软件项目实践,运用和实践所学的知识,这种方法更能激发学生的主观能动性,使其自主地参与到学习中来。

图1.对交互式教学的满意度

还有两个问题学生们比较关注:其一是在课堂上的互动是否是会浪费时间,另一个是参与讨论的重要性问题。从图3可看出,仍有大约17.83%的学生认为课堂上的讨论和互动没有太大意义,会浪费时间,不能提供给他们有效地学习方式。

另外,大多数学生认为在交互式教学中积极地参与课堂讨论是非常重要的。

图2. 对焦点问题的看法

从反馈结果看,我们的课程设计和交互式教学方法的总体上是令人满意的,多数学生能够从交互式教学方法中获益。但需要看到仍然有部分学生认为增加课堂讨论和互动环节会浪费时间,因此这些教学方法仍然需要持续不断的改进和完善。

B. 一些思考

在实施交互式教学方法时,仍然有许多问题需要思考和讨论。

首先,相比传统的以讲授为主的教学方式,交互式教学方法需要更多的课堂时间。需要较多的时间来帮助学生了解的知识点以及知识点之间的复杂联系,同时也要求学生在课余时间能够仔细的阅读课本相关知识。一般情况下,教师在使用交互式教学方式时需要为许多不可预料的问题做好准备,为保证课堂教学和研讨能够按计划完成,教师通常也需要更多的准备时间。

其次,在交互式教学中,教师往往倾向于同积极发言参与讨论的学生进行交流,这些学生往往有更多的机会去表达自己的想法,在项目工作中也会比其他学生投入更多的精力。这是一把双刃剑:一方面应当尽量使更多的学生参与到课堂的讨论中;另一方面没有必要保证每个学生都拥有同等的课堂讨论的机会,因为那些不参与讨论的学生还是可以通过其他同学的讨论来加深对课程内容的理解,并有助于加强记忆。

第三,交互式教学中对学生成绩的客观评定较为困难。单纯的考试很容易量化学生的成绩,但是要综合评估学生在课堂讨论、主题演讲和项目三方面的表现就变得非常困难。例如,如果将学生的成绩评定主要依赖于项目中工作的表现,那么学生就会倾向于花费他们主要的时间在项目工作上,从而会忽视课程内容的学习。在我们的课程评分中,从两个方面强化知识内容学习的重要性:其一是学生总评成绩的60%来源于对课程内容的理解程度(即考试分数);另一种是尽可能的在项目中安排课程的一些主干知识。

III. 讨论

上面我们讨论了交互式教学中的三个主要的方法,并且分析和讨论使用这些方法时的若干细节问题。从学生的反馈情况来看这些方法对提高学生的学习兴趣和成绩是非常有帮助的,大部分学生认为交互式教学方式可以把他们吸引到课程的学习中,通过参与软件实践项目可以提高动手学习和编程能力。然而,主题演讲方式并没有得到学生的广泛认可,一些学生对于演讲时间的安排和课堂讨论的参与状况并不是很满意。如何进一步完善交互式教学方法和技巧使之能够更好的被学生所接受,还有很长的路要走。

在研讨型教学研究方面,李景涛以及课程团队已经以第一作者发表教学研究论文3篇:

  1. Li, Jingtao. Zhao, Yiming, Shi lei. Interactive Teaching Methods in Information Security Course. Proceedings of The 2nd International Workshop of Innovation on Computer System Education (IWCSEI 2009), Sept, 2009, Page(s):489-493.
  2. Li, Jingtao. Constructing e-learning communities of interest based on learner's rating prediction. Proceedings of 4th International Conference on Computer Science & Education, 2009. July 2009, page(s): 1785-1789.
  3. 李景涛, 石磊, 赵一鸣.信息安全课程的交互式教学方法. 第三届中国计算机教育与发展学术研讨会. 湖南长沙, 2010年4月.