APP下载

基于PBL的《编译原理》课程教学研究与实践

2011-12-29张冬梅刘远兴王改芳

考试周刊 2011年15期

  摘 要: 基于PBL教学模式的特点是以问题为中心,学生为主体,能较好地提高学生分析问题、解决问题的能力。针对目前编译原理课程教学中普遍存在的学生缺乏主观能动性、动手能力不强等问题,作者结合教学实际,将PBL新教学模式引入到编译原理课程教学中,就典型问题设计、围绕问题重新设计课程教学体系等问题进行了探讨和研究,研究表明新教学模式能提高学生自主学习、解决问题的能力,为计算机专业教学改革提供了新的解决思路。
  关键词: PBL 《编译原理》课程教学 课程教学体系
  
  1.引言
  计算机专业对学生主动学习和实践动手能力的要求较高,专业课教学在加强理论学习的同时必须面向设计,以培养学生创造性的思维方式。编译原理课程是计算机专业的主干课和必修课,同时也是一门实践性较强的课程,其中编译器的编写既有算法分析又有综合程序设计,涉及高级语言程序设计、形式语言和自动机理论、算法和软件工程等多门课程的学习。长期以来在编译原理课程教学中,采取的还是传统的“老师讲、学生记”的填鸭式教学模式,其不足之处是没有充分发挥学生的主观能动性,不利于学生自主学习能力的培养。同时由于实践教学体系不完整,缺少有效的实践教学手段,学生缺乏对教学内容系统化的认识,动手能力有待进一步提高。
  基于PBL(Problem Based Learning)的教学模式是近年来在英美等发达国家较为流行的一种教学方法,该模式的主要教学特点是采取以问题为中心、学生为主体的自主学习方式。老师通过提问或给出项目等方式在课前引导学生查阅相关资料;学生采取小组讨论、合作等方式集体完成任务;课堂上老师通过让学生主讲等方式达到完成教学内容,提高学生分析问题、解决问题能力的目的。针对目前在编译原理课程教学中普遍存在的学生缺乏主观能动性、动手能力不强等问题,笔者拟将PBL新教学模式引入到编译原理课程教学中,旨在结合专业教学特点,研究PBL典型教学过程如典型问题的设计,并围绕问题重新设计课程教学体系,为计算机专业教学改革提供新的解决思路。
  2.基于PBL的《编译原理》课程教学设计
  2.1教学模式转变
  我于2009年以访问学者身份赴美国北卡罗来纳大学州立大学计算机系,希望通过观摩国外本科专业课程,学习PBL教学模式及相关的教学方法。北卡罗来纳州立大学成立于1789年,位于美国的北卡罗来纳州,是美国成立最早的公立大学。PBL典型的教学过程包括:问题提出—组织小组—自主学习—合作交流—展示成果—总结评价。在国外,课堂教学前需要学生自己预习的内容比较多,有时有几十页之多;课程安排的实验环节多,每次做完实习内容还必须找TA(助教)验收;教学形式多样,特别注重实践和团队的合作。到每学期中间,老师会给每个组布置一个项目,每个组学生自由组合,几个人一组,老师任命一个组长。然后在剩下的两个月时间,同学们从最初的方案,程序设计,到最后做PPT,上台报告,都要合作完成。整个过程非常注重合作精神的培养,经常可以在图书馆看到三五成群的学生坐在一起讨论。期间要经常把阶段成果发给老师,老师给予相应指导,一起讨论实现方案。最后完成报告的提交,老师验收程序并推荐一个人上台做PPT工作。学生在做报告期间,其他同学有问题可以随时举手,课堂的交互性比较好。最终考核成绩由两部分组成,一部分是老师对小组的评价,一部分是组内各同学之间的相互匿名评分。通过学习观摩,我深刻体会到这种“学生为主体、问题为中心”的教学模式,在教师的整体把握和指导下,学生能主动地参与到教学的各个环节。但是考虑到国内教学实际,比如教学班较大、学时较少等问题,我们在具体实施时还不能简单地照搬国外模式,需重点研究如下问题。
  2.1.1问题和创新型的课程设计
  如何围绕课程目标来设计问题并以此引出相关学习内容;设计的项目如何与实际应用接轨,更好地提高学生的学习兴趣;如何组织学生独立完成小型系统的设计、调试工作,使学生更好地将课本知识与实践活动相结合。这些都是有待研究与解决的课题。
  2.1.2考核标准的制定研究
  为保证PBL教学模式的切实贯彻,研究有效的动态评价模式非常必要。通过有机结合教师评价、小组评价、自我评价,从多个角度地对学生学习活动即问题解决过程进行全面、客观的评价。
  2.1.3教师观念转变
  开展PBL教学,教师承担着多种角色的变换,因此对教师的专业能力、实际问题的开发经验提出了更高的要求。
  针对上述问题,我们结合教学现状,在问题设计、教学内容整合、创新型课程设计、考核标准制定等方面做了大量的工作。
  2.2《编译原理》课程PBL教学模式设计
  《编译原理》课程理论抽象、学习难度大,过去教学重点多放在理论部分,如各类语法分析算法的设计与学习,而实验环节的设置与安排仅仅只是对理论的初级验证,往往缺少代表性的编译器综合实验训练,在一定程度上影响了学生对编译器设计原理及内部处理机制的深入理解。根据PBL教学模式,问题是PBL教学活动开展的前提,为此我们结合实践根据教学内容,将问题设计分为单元PBL教学、综合PBL教学和实践PBL教学三大类。
  2.2.1单元PBL教学
  编译原理课程有很多经典算法,单元PBL教学内容的设计以课程经典算法的理论学习和软件设计为主。如手工生成PASCAL语言词法分析器,应用FLEX自动生成词法分析器,应用算符优先法实现逆波兰表达式分析,利用BISON编写逆波兰表达式计算器等具有代表性的教学内容,我们让学生在理解掌握课程词法分析、语法分析等经典算法的基础上,通过小型项目的设计达到熟悉设计流程,体会软件工程思想的目的。
  2.2.2综合PBL实验教学
  传统实验教学主要偏重编译程序各阶段的实现,较少涉及完整编译器项目构造。考虑到学生实际设计能力,我们构建了基于框架—插件式的编译原理创新型实验平台,通过该平台实现了综合PBL实验教学。平台以TINY语言为高级语言,以MIPS汇编语言为低级语言,实现从TINY到MIPS的编译器构造。
  创新型实验平台提供词法分析、LR(1)语法分析、语义分析(类型检查)、代码生成、代码优化等五个模块,其中每个模块被设计为一个单独的插件。任务分配时,不同的小组完成编译器不同模块的设计;具体实现时,学生并不需要考虑其他模块的设计与实现,只要专心设计完成相应的插件,就能得到一个完整的编译程序。
  2.2.3实践PBL教学
  综合实践的主要目的是提高学生应用编译技术解决实际问题的能力,以此为基础开展本科生毕业设计。我们在2008、2009届毕业生中以形式语言和自动机理论为基础,开展相关实践设计。设计内容包括《基于元胞自动机的城市演化》、《基于L系统的植物花序仿真方法研究》等。学生通过将课本知识与实践活动相结合,达到综合实践、学以致用的目的。
  2.3 PBL教学模式实施
  通过上述问题设计,在此基础上我们采取分组实践形式具体实施PBL教学模式,每组由5—6名学生组成。分组后老师首先帮助学生明确问题主要研究内容、任务具体分配及验收方式等。在问题提出阶段,老师以引导为主,让学生明确问题,引导学生通过网络、图书馆等各种渠道搜集相关设计资料;在任务分配阶段,由组长制定开发计划,选择开发平台,提出设计方案,分配组员具体设计工作,老师在该阶段重点检查设计方案的合理性;在具体设计与代码实现阶段,由学生完成详细设计包括代码编码、测试、集成等工作,老师在该阶段主要进行组内工作协调等;问题完成后,老师组织学生进行编码测试、分组答辩、结果评比等多种形式展示设计结果。
  
  该教学模式分别在06、07两届学生中小范围尝试,从实施情况看,课堂气氛活跃,学生普遍反映通过自主学习,合作开发,课堂讲解等多种教学形式,更好地理解了算法。这同时也为教师组织教学、考核评价提出了更高的要求。
  2.4 PBL教学模式考核标准研究
  传统编译原理课程考核主要采用笔试形式,而新PBL教学模式形式多样,因此标准的制定应强调评价的多元性,即将教师评价、小组评价和自我评价等有机结合起来,保护每个学生积极参与的热情,避免吃“大锅饭”的现象,保证PBL教学模式能够切实有力地贯彻。
  为多角度地了解学生的学习活动,考查根据每次讨论学生发言的次数、质量、最终提交的书面报告及每个学生在问题实现过程所做的贡献进行,最终成绩应该包括两部分,一部分是老师对小组的评价,一部分是组内各同学之间的匿名相互评分,通过对问题设计实现的整个过程进行全面、客观的评价,保证PBL教学的效果。基于新教学模式考核标准研究还有待在今后的教学中进一步地摸索、改进。
  3.结语
  基于PBL的教学模式的特点是以问题为中心,以学生为主体,我们围绕PBL典型教学过程,将PBL新教学模式引入到编译原理课程教学中,根据实际教学情况总结了一些经典案例,开发了与之相关的创新型实验平台,并重新设计了课程教学体系。这种启发引导为主的教学模式,能够提高学生自主学习、合作开发、解决问题的能力。但是教学方法、教学手段的改革是一个长期的过程,其中教学模式的转化是根本出发点,课程内容的优化、组合,以及教学方法的改革是个长期的过程。这些还需要我们根据教学实际情况,及时调整优化并在以后的教学实践中摸索,进一步提高教学水平,为计算机专业教学改革提供新的解决途径。
  
  参考文献:
  [1]毛玉萃.编译原理实验课的实践探索[J].大连大学学报,2004,25,(6).
  [2]曹琼.浅淡编译原理实验课程教学[J].计算机教育,2007,(18).
  [3]刘远兴.“基于问题的教学”在软件类课程教学中的实践与探讨[J].考试周刊,2010,(12).
  [4]王改芳,龚君芳,李圣文,张冬梅.《编译原理》课程实践教学改革探索[J].实验技术与管理,2009,(12).
  [5]朱文华,王荣波.基于建构主义的编译原理实践教学研究[J].杭州电子科技大学学报(社科版),2008,(4):67-70.
  [6]舒忠梅,李文军,周晓聪.编译原理教学改革实践初探[J].中山大学学报(自然科学版),2007,(S2):101-104.
  [7]温世浩.PBL和非PBL毕业生的综合能力比较.复旦教育论坛,2006,(02).
  [8]李树香,甘萍,田野.问题导向教学法与传统教学法的比较研究.中国高等医学教育,2008,(03).