"编译原理"教学实践探究
“编译原理”教学实践探究
摘要:教学需要“教”与“学”双方的密切配合。树立“学生为主体、教师为主导”的良好教学关系,是成功教学的关键。本文根据“编译原理”课程的特点,提出应用启发式教学的思想,提高学生在学习中的主体地位,多方面增强学生的学习兴趣。文章结合笔者17年的“编译原理”课程教学实践经验,总结了开展启发教学、提高教学质量的一些粗浅策略。
关键词:编译原理;文法;有穷自动机;下推自动机;启发教学;教学策略
教书育人是教师的天职。教学,顾名思义,包含“教”和“学”两个方面。教师需要“教”给学生知识和方法;而学生是学习的主体。我们要取得好的教学效果,首先要激发学生的学习兴趣。
良好的开端是成功的一半。开课伊始就让学生产生学习热情、学习兴趣是非常重要的。两千多年前,孔子曾说过:“知之者不如好之者,好之者不如乐之者。”意思是懂得它的人,不如爱好它的人;爱好它的人,又不如以它为乐的人。爱因斯坦也说过:“兴趣是最好的老师。”学生感兴趣了,教学就成功了一大半。
1.“编译原理”课程概述
“编译原理”课程是计算机科学专业的一门重要核心课程。计算机语言之所以能由单一的机器语言发展到今天的数千种高级语言,是因为有了编译技术。自从20世纪50年代早期第一个编译器出现以来,编译技术成为计算机科学中发展最迅速、最成熟的重要分支。自1966年设立图灵奖以来,程序设计语言、编译理论与方法方面的得奖成果约占总数的1/3。可见,程序语言及其编译的研究在计算机科学中始终处于非常重要的地位。
“编译”是将高级语言描述的程序转换成与之等价的低级语言表达的程序。在编译系统的设计与实现中,用到计算学科的很多基本原理、技术和方法。Alfred V Aho编写的编译教材作为编译课程方面的经典教材,被奉为“龙书”。他在该书
第一章的第一句话提到:“编写编译器的原理和技术具有十分普遍的意义,以至于在每个计算机科学家的研究生涯中,本书中的原理和技术都会反复用到。”北京工业大学的蒋宗礼教授认为,编译课程是计算机专业最为恰当、有效的知识载体之一。
2.“编译原理”课程在整个课程体系中的地位和作用
从计算机应用的发展来看,编译技术在其中发挥着极其重要且不可替代的作用。正是在编译技术的支持下,程序设计才从以繁琐的低级语言为工具,发展到以接近自然语言和数学语言的高级程序设计语言为工具,软件开发也从模块化的软件开发方法发展到了面向对象的开发方法。编译技术的发展极大地提高了软件开发的效率,深刻地影响着软件开发方法的变革,推动着计算机应用不断地向社