“项目驱动”在编译原理教学中的应用探究
2017-12-27成娅辉��
成娅辉��
摘要:编译原理课程主要是理论性内容,知识体系零散,章节跨度大。在教学中,传统的教学方式并不能达成理想的教学效果。将理论性知识内容与零散知识点形成整体,并达成理想的教学效果,提升学生对理论知识的掌握,培养实践操作能力,这是计算机类课程的教学目标。
关键词:编译原理;项目导入任务驱动;教学法
编译原理作为计算机类专业学科中的重要基础课程,主要讲述编译程序构造的一般性理论与基础性方法。课程内容主要包含语言、词法、文法与语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。
一、 “项目驱动”教学法概述
1. “项目驱动”教学法含义
所谓的“项目驱动”是在教学中,以项目任务来开展教学,通过项目的完成推进教学。详细来说,这种教学方法在教师的指导下开展,学生完成项目任务。在这样的学习模式下,学生不仅获得了专业知识,而且能够提高自主学习能力与解决问题的能力。
2. “项目驱动”教学的相关理论
与“项目驱动”教学相关的理论主要有以下几方面:
建构主义的学习理论。学生知识的获取不是通过教师传授,而是学生在特定的知识环境中,通过老师和同学的帮助,从而构建自我的知识体系。在构建主义学习理论中,通过学习的情景、团队的协助、互动、构建意义,让学生带着目的的学习。学生由被动学习变为主动学习。
重视实践,以学生学习为主的实用主义教育理论。教育不仅仅是知识性的教育,教育是生活的一部分。虽然实用主义教育以自主学习为主,但也不应忽略老师在教育中的作用。在实践教学中,教师应该结合学生的不同特性,对其进行指导,使学生的学习效果达到最佳。把教育视为生活的一部分,而不是将其割裂开。
生活教育理论。陶行知提出了生活教育论,认为学生不仅仅进行知识性的学习,应该是多方面的教育学习。生活和教育不可分离的整体,教育通过生活得以实现。陶行知先生曾提出学校即社会,社会即学校。学校是在社会生活中产生,并在社会生活中得以发展。反过来说,社会的发展也推动了教育的发展。总之,两者是不可割裂的。
二、 “项目驱动”教学法分析
1. “项目驱动”教学法基本要素
“项目驱动”教学法由教师、学生和项目基本要素组成。教师在整个教学方法中发挥辅助作用,帮助学生完成项目,提升技能。学生在整个教育方法中发挥核心作用,通过教师提供的项目来完成项目任务,从而驱动自身专业技能的提升与学习能力的提高。作为整个教学方法核心的项目是整个教学方法完成的载体。在制定项目任务时,教师要结合学生自身的能力及课程设置的特点,来设置不同的教学项目。教学项目要符合学生自身能力及水平的提升,满足知识获取的问题。
2. “项目驱动”教学法的实施
“项目驱动”教学法的关键内容是教学的内容与方法。在教育方法里,需要老师与学生做出改变。首先制定相应的教学计划,将教学计划以一定方式呈现被学生吸收。驱动教学法的程序主要包括:对学生进行合理分组;设置特定的教学场景;学生进行角色扮演;项目任务的完成;教师提供辅助性帮助。在上述教学内容完成后,教师组织学生进行总结,汇总所学知识内容,提升专业技术能力。
三、 《编译原理》课程教学分析
1. 《编译原理》课程简介
《编译原理》主要是围绕编译器产生原理及相关技术问题进行阐述的课程。这门课程看似与计算机专业不相关,但该课程被视为本科必修课程,甚至有些学校作为研究生考试的内容。《编译原理》实质上是算法问题,多被看作为一个复杂的算法问题。传统的数据结构及算法分析阐述的是一个基本的算法,与此相比,《编译原理》讲述的是个专门算法。在编写编译器的过程中,逐步产生了很多关于编译的理论及研究方法。这些理论和研究方法与编译器相比具有更大的实际价值。在计算机专业课程体系中,该课程有着重要的地位。
2. 《编译原理》课程定位
《编译课程》是计算机、数据编程和电子网络工程等专业的必修课。该课程的定位是为学生学习语言奠定基础,学习编译设计的思路,为后期专业化课程学习奠定理论。在进行“项目驱动”教学设计时,要强化设计思路,弱化设计手段,强化算法分析,突出学生的实践动手能力与创新设计思维。本课程设置是为了提升学生发现问题、分析问题及解决问题的能力,最终掌握计算机可实现结果(算法)。
3. 《编译原理》课程目标
掌握《编译原理》是计算机相关专业学生的基础性要求。掌握编译原理及理论知识、提升专业理论素养、强化逻辑能力、养成踏实稳健的学风,强化解决与分析问题能力是所有计算机课程设置的课程目标。《编译原理》课程设置的目标是希望学生通过对《编译原理》的学习,掌握计算机编译原理,解决专业领域的现实问题,为后续专业课程学习奠定基础。在此基础上,结合学生特定所学专业的培养目标,培养特定的专业技术性人才。故,在教学中,所有课程项目设置都应该关注学生自身专业特点进行项目设置,使学生在工作岗位上能解决实际问题。
四、 “项目驱动”教学法在编译原理教学中的应用
1. 项目导入:开展教学
在课程设计上,教师应设置贯彻课程内容的编译项目,形成完善的《编译原理》教学项目数据库。
在进行理论性教学中,通过实践中具体项目的某个小知识点导入课程教学。在讲解小的知识点过程中引入到具体项目中在理论课教学过程中,最终以实现课程目标,完成教学。通过此类的课程导入方法,使学生更容易吸收教育知识,做到学以致用。教学项目由多个分项目、小项目组合而成,整个项目教学完成后,学生完成了整个项目,也就掌握了整个学科的知识,实现了整个课程的教课目标。
2. 任务驱动:实践训练
在进行《编译原理》课程传授时,如果仅仅通过教师的讲解,并不能达成应有的课程效果。教师进行授课时,必须通过大量的上机操作来强化学生对基础理论的学习,提升实践操作能力。学生带有任务地去完成理论学习,并在实践中完成上机操作,才能使学生深入学习《编译原理》,并能运用到实践操作中,真正地达到课程目标。
3. 项目考核
教学成果的评价主要是通过知识掌握程度来进行衡量,而这又必须经考核才能确认。计算机程序类课程的考核主要是考核学生编程,但实际的教学中,程序类课程仍主要通过笔试进行考核。笔试往往注重对理论知识的考察,并不能对学生的实际操作技能及理论运用能力进行考核。通过具体的项目操作,学生完成项目编译程序,以此考察学生对理论知识的掌握和编译能力。为了教育过程的连贯,在教学中,项目数据库要与日常实践的项目数据库结合起来进行项目考核。
4. “项目驱动”教学法的反思
在编译原理教学中运用“项目驱动”教学方法,对于计算机类专业来说是可行的。通过给学生提供项目任务,学生完成项目,以此强化学生对理论知识的学习,并将理论知识熟练地运用到实际操作中,这就是该课程设置的教学目标。学生在完成项目中,作为所选项目的管理者和实施者,对项目细节性问题的关注或者漏洞性问题的解决,能激发学生对本课程的求知欲。
从实践上讲,学生积极思考,运用编译思维,不断摸索完成项目任务。这样的过程既是对学生所学理论知识的检验与考核,另外使学生对以后工作内容、工作岗位与环境有了初步的认识,为以后参与到工作奠定了扎实的基础。
參考文献:
[1]郭玉梅.高等职业教育实践教学管理研究[M].北京:中国农业大学出版社,2009,(05).
[2]刘志强.高等学校实践教学改革与研究[M].哈尔滨:哈尔滨工程大学出版社,2006,(08).
[3]张戈,王琦,闰培宁.项目导师制在计算机应用教学中的实践[J].消费导刊,2010,(08).