程序设计类课程的全英语教学研究
2013-04-29姚争为
姚争为
摘要:由于受到师生英语水平、学科特点和教学内容难易程度等因素的制约,目前全英语授课在双语课程中所占的比例并不大,这必然会影响双语教学目标的实现。根据程序设计类课程的特点和笔者多年来在国内外教学的经验,文章对如何开展程序设计类课程全英语教学进行研究,从课程设置、教材选择、理论教学、实践教学等方面阐述如何提高程序设计类课程的全英语教学的可行性,并提出具体的教学方法和措施。
关键词:双语教学;全英语教学;程序设计;教学方法
双语教学是把外语作为知识的载体,使所讲授的知识与英文语言相联系,不仅让学生掌握所学知识,而且让学生从两种语言、两种思维角度来理解同一问题,加深学生对知识的理解程度。根据要求,双语课程的外语授课课时必须达到该课程课时的50%以上(含50%)。
但目前由于受到师生的外语水平、学科特点、教学内容的难易程度和性质的制约,国内的双语教学绝大多数都是采用英文教材、英语考试、英语练习,而课堂教学却采用全中文,或者中英文混合的方式进行。有的教师和学者认为这样效果更好,因为学生不能直接用英文思维,对所听到的英文理解会有延迟,而知识是环环相扣的,这就会导致后继内容的理解空白。也有人认为使用全英语教学可以迫使学生集中注意力,提高学生用英语进行交流的主动性,达到快速提高听说能力的目的。如果在课堂上用中英文两种语言进行教学活动,学生会下意识地依赖母语,而忽略英语教学的内容。到底采用哪种方式更好,这一直是这些年来争论的热点。
双语教学的目的是:“培养具有国际合作意识、国际交流与竞争能力的外向型的信息工程领域专长人才,其中首要的任务就是使我们的学生具备与国外同行进行领域知识交流的能力,包括对英文文献的理解以及面对面直接进行信息交流。”因此从教学目标看,中英文混杂的双语教学只是过渡,最终“双语”教学应该转换为全英语教学。
由于全英语教学的比重取决于多种因素,因此什么课程能采用全英语教学,如何开展教学,不能一概而论,必须经过仔细研究、分析和实践才能得出结论。程序设计语言(高级语言)与自然语言(英语)更为接近,用到了大量的英文单词;而且相对而言,程序设计类课程的实践性较强,有大量的实例和实验用于让学生理解原理,进而理解原理的一般性英文表述。笔者从事双语教学研究多年,曾在美国印第安纳大学、普渡大学韦恩堡校区做高访期间,参与了双语教学项目,并担任了Java课程的教学工作。经过不断的实践和总结,笔者认为程序设计类课程采用全英语教学具有可行性,下面将从多个方面详细展开。
1、课程设置
由于全英语课程能否开设,学生的英语水平是一个大的决定因素,所以课程的开设时间和课程性质是至关重要的。
1.1 双语课开设的时间
这门课程适合开设在大学二年级或三年级。这样设置的一个因素是学生的英语基础。经过1-2年的大学英语学习,经过四、六级英语考试的历练,学生的英语基础有了一定程度的提高。另一个重要的因素是学生已经具备了一定的程序设计基础。掌握了程序设计思想的学生在面对新的程序设计语言时,只需要了解该语言的语法特点就可以在很快的时间内融会贯通,最终达到学以致用的目的。双语教学专家Stephen Krashen和Jim Cummins也说过,对于那些英语并不熟练的学生而言,如果他们具备了一定的知识背景和技能,学起来就会轻松很多。
1.2 将双语课设为选修课
每个学生的英语水平有高有低,对程序设计语言的掌握程度有好有坏。更主要的是每个人的学习目标不一样。有的学生只是为了一张文凭,只要求顺利通过,拿到学分就可;有的学生希望毕业后能进外企工作;有的学生打算今后出国留学深造。将双语课设为选修课可以让学生根据自身的情况作出选择,从而使班级的整体英语水平处于一个较好的起点;而且选修双语课的学生因为有目标,所以有学习动力,这有助手双语教学的顺利开展。
2、双语教材的选择和教材建设
好的教材不仅易于理解,还可以加深对专业知识的认知,节省阅读时间,减少学生对全英语教学的恐惧感,同样也能节省教师的备课时间。
2.1 选择易读性好的英语教材
有不少学者认为国内程序设计课程设置与该课程在国外的设置存在差别,我们完全依赖国外的原版教材很难达到良好的教学效果。因此我们的双语课程采取选用英文原版教科书加中文教学参考用书的形式。其实程序设计课程在国内、国外的差别并不大,我们完全可以多选用一些英文的参考用书,或者英文网站、文献作为参考。如果采用了中文参考用书,学生就会对中文书产生依赖性。在之前的双语教学中我们做过这样的尝试,找一些有中文译本的原版教材,结果不光学生越来越依赖于中文译本,连教师备课也基本上依靠中文译本,这就失去了双语教学的真正用意,因此笔者坚持选用没有译本的原版教材。但选教材时的侧重点必须明确,那就是可读性。对于一些难理解的概念,教材能通过比喻、简单的实例、相应的图表,将其交代清楚。
例如,在介绍面向对象的概念时,原版教材是这样写的:我们可以把类代码想象成一张“蓝图”,用它来创建具体对象。当我们按照蓝图建造了一座房子,可以说创建了一个房子实例,也可以根据需要按照蓝图建造多座房子。所以类不是具体对象,而是对象的描述。程序运行时就可以使用类来创建具体对象。每一个由某个类创建的对象,我们称之为该类的实例。(You can thinkof a class as a code “blueprint”that can be used tocreate a particular type of object,When we use theblueprint to build an actual house,we could say weare building an instance of the house described bythe blueprint,If we so desire,we can build severalidentical houses from the same blueprint,So,aclass is not an object,but a description of an object.When a program is running,it can use the class tocreate,as many objects of a specific type as needed.Each object that is created from a class is called aninstance of the class。)
这段英文不复杂,浅显易懂,没有难懂的单词和语法,却把知识点交代得很清楚。因此类似这样的教材才是双语课应该选择的教材。
2.2 编写适合双语教学使用的实验指导书
实验是程序设计类课程非常重要的一个环节,语法思想是通过实验来巩固和加深理解的。目前在市面上与教学内容和进度配套的优秀实验指导书很少,因此编写实验指导书是很有必要的。当然这不是一蹴而就的事。实验能否达到效果,只有通过学生的反馈才知道,这是一个不断修改、不断实践的过程,并且要根据社会需要和技术的发展,不断充实更新。这对学生是一件很有意义的事。
2.3 用全英语教材备课
中文教材和英文教材在文字的表述上存在一定的差异。双语教学的一大优势就是培养学生的英语思维,并用英语思维构建起某门课程的知识体系,加深对知识点的理解。教师英语口语再好,翻译再流畅,如果只用中文教材备课,很可能发现不了这种差异,或者遗漏了某些差异,这会使双语教学的效果大打折扣,因此教师要坚持使用全英语教材备课。
3、理论教学方式
采用哪种理论教学方式是和课程本身的特点紧密相关的。程序设计方法和人的自然思维极其相似。因此采用自然英语的思维来讲授这些知识既有利于描述算法和程序设计方法,又便于编写程序代码。
3.1 一边写程序,一边讲解
在国外很多教师都采用这样的方法。赞科夫说过:“扎实地掌握知识,与其说是靠多次的重复,不如说是靠理解,靠内部的诱因,靠学生的情绪状态而达到。”如果教师直接讲解知识点和语法,学生会觉得枯燥,不爱听。所以教师要在课堂上抛出问题,和学生一起分析问题,并用程序代码来解决问题,这样就会激发学生的学习兴趣,让学生认为这门课程具有应用价值。这样做可以适当地降低对语言表达的要求,因为程序代码是帮助学生理解知识内容的第二种语言,而且能留给学生足够的时间去思考。
3.2 采用PPT来辅助语言表述
教师可以将概念性的、描述性的内容写人PPT。PPT中文字不宜过多,避免引起学生反感。不易讲解的地方可以配图说明,必要时可以用板书。有了这些辅助手段,即使英语描述不到位,学生也能通过这些信息把握主题。
3.3 课堂练习
教师可以准备一些练习,让学生当场做。时间一般在5-10分钟为宜,最好是纸质的,偶尔收上来批改一下,这样会让学生认真对待,让学生逐渐熟悉如何用英文做出书面解答,锻炼学生的读写能力。
除此之外,还有一些方法是笔者在国内外教学实践中看到、学到和用到的。
(1)在课程开始前可以谈论一下教学之外的东西,如自己身边发生的事,活跃一下课堂气氛。比如,在每次课前教学生一些简单的中文,比如“早上好”、“谢谢”、“我爱你”等,大家笑一笑,心情会轻松很多。
(2)鼓励学生提问和发言。对于主动提问和发言的学生,无论正确与否都要给予鼓励。
(3)寻找贴近生活的实例进行讲解。这是最重要的,好的实例可以激发学生的学习兴趣,活跃课堂气氛。比如汽油价格的涨跌制度就可以用来介绍if statement、嵌套if statement和逻辑运算等知识点;买彩票实例可以用来介绍数组的概念。这样做可以启发学生用程序的方式解决问题,将程序的组织结构、语句含义、运行流程和实际问题对应起来。
4、实验教学方式
实验教学是课程的重要组成部分,尤其对实践性较强的课程而言,实验的设计显得尤为重要。国外有不少好的方法供我们参考和学习。
(1)根据学生数量来指定辅导教师的数量。国外上实验课时,一个班一般不超过15人,而且配备助教。这样可以基本保证教师及时回答学生的问题。
(2)实验分为课内实验和课外练习。课内实验要求学生必须在课内完成,其内容相对简单,考核结果计入平时实验成绩。课外实验的难度要控制在绝大多数学生无法在课内完成,需要在课后花一定的时间来复习本次课的内容才能解决。
(3)每个阶段贯穿一个大实验。这个方法其实已经有研究者提出。因为知识间都有一定的关联性,通过一个大实验可以把所学的知识串联起来,解决更大的问题。同时这也是对先前知识的一种复习。其实很多时候把问题单独看会觉得简单,融合起来后会遇到很多问题;而这种查错、纠错的能力是一个程序员所必须具备的。
(4)学生评价。一门课程的建设需要经过多年的积累。就像一个原型,需要不断地完善,实验亦是如此(2.2节中已说明)。
(5)作业批改要有详细的评价标准。教师的评价越详细,学生对自己的了解就越多。学生只有知道了自己存在的问题,才能改正问题,取得进步;而且量化的评价标准对成绩而言,也更显公平公正原则。
5、其他
一门课程的建设,除了上面所提到的课程设置、教材选择、理论教学、实验教学外,还有许多方面需要改进和完善。
(1)Office Hour。现在国内很多高校的教师在上完课后就很难找到他们。虽然教师留了电话和邮箱地址,但是绝对没有面对面讲授的效果好。双语课程就更应该给学生更多运用英语交流的机会。
(2)考试次数的安排。考试的目的是检查学生的学习情况,促使学生对所学知识进行及时复习。国内高校课程的考试一般是一学期安排一或两次(期中和期末)。而全英语教学所需要的复习时间相对较长,因此可以多增加一到两次的考试,将复习时间分散。教师还可以提供和考试内容相近的练习给学生。学生只要做完并理解了这些练习,就能取得不错的成绩。这样可以增强学生的积极性和自信心。
(3)课程评价。现在大多高校只有学生对教师的评价,而对课程的评价却没有或者评价很简单,并没有形成一个评价体系。当然评价体系的建立并非易事,这也是许多学者一直以来研究的一大课题。
6、结语
综上所述,程序设计类课程是实践性较强的课程,由于程序设计语言的语言表述、语法结构、算法逻辑等和英语思维比较接近,使得这类课程相对比较容易开展全英语教学。当然教学的开展同样也会受到师生英语水平、学科特点和教学内容难易程度等因素的制约。但我们可以合理地设置课程的开设时间和性质,来提高班级原有的英语水平;选用可读性强的原版教材进行备课、教学,来加强学生对知识点的理解和掌握;合理地运用科学的教学方法,使教与学的过程更加自然、生动;合理地组织、设计实验教学内容,来提高学生解决实际问题的能力。除此之外,我们还可以引进国外的一些方法加强课后的交流与指导,建立合理的考试和课程评价体系,通过多种手段、多种方式,以及长期坚持不懈的努力来实现双语教学的最终目标。