您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> 编程语言类课程双语教学的探索与实践论文

编程语言类课程双语教学的探索与实践

出处:论文网
时间:2018-01-31

编程语言类课程双语教学的探索与实践

  1 编程语言类课程双语教学的建设现状

  目前,几乎所有的编程语言都是由欧美国家设计和实现的,它们的帮助文档、语言规范说明全都是英文。虽然常用的程序开发软件已经有汉化版本,也有相应的中文帮助文档,但是汉化或多或少存在不准确的地方;另外,英语和汉语表达思维的不同,使得一些编译和运行错误的提示信息看起来不知所云。因此,在高校推动双语教学势在必行。为了探索有效的教学方法和模式,切实提高大学生的专业英语水平和直接使用英语从事科研的能力,教育部于2007年至2010年启动了“双语教学示范课程建设项目”,支持建设503门双语教学示范课程。在这些示范课程中,计算机专业课程包括操作系统(原理)、数据结构(和算法分析)等约40项课程建设项目,几乎囊括了计算机主要专业课程。其中,纯编程语言类课程有7项,包括计算机网络编程、C语言程序设计、Delphi计算机高级编程技术、面向对象程序设计等。当然,除了这些国家级的双语课程建设项目外,目前我国还存在着各类由省或学校支持的双语教学示范课程项目。

  整体上看,计算机专业的双语教学课程建设并没有区分不同课程的特性。虽然计算机专业课程相比其他人文社科课程而言,更适合进行双语教学,但是,考虑到双语教学的师资以及学生水平现状,在课程选择上理应有取舍。编程语言类课程的内容大部分在讲述语言特性和示例程序,几乎不涉及自然语言交流的模糊性和复杂性,即减少了英语口头表达能力欠缺所导致的障碍,这种“刻板性”使得编程语言类课程非常适合进行双语教学。

  2 编程语言类课程双语教学模式探索

  在组织双语教学时,考虑到教学目标、学生的基础、师资力量等各方面原因,我们从教材选择、教学手段、授课语言等方面,探讨一种较为实际可行的教学模式。

  (1) 采取国外优秀原版教材与自编讲义相结合的方式。一方面,我们选择原版优秀教材。原版优秀教材很多,它们服务于不同的授课对象,在选样时,除了要考虑教学目标外,还要考虑学生的接受程度。由于学生的母语是非英语,即使他们通过英语四级或者六级,阅读英文专业知识的能力仍然欠缺,因此,选择具有中文译本的英文教材更好。同时,我们不应该完全依赖这些国外优秀教材,完全按照其编排顺序进行授课。许多国外教材的信息量都非常大,知识点的编排比较分散,我们难以在有限的学时内按照教材的编排次序推进教学进度,这就需要对教材的内容进行分析总结,针对每一节课的授课目标,整理成讲义,标识出相关的章节并在课前发给学生预习。

  (2)采取英文板书结合英文PPT演示的教学手段。讲解编程语言时,特别是讲述重要语法点和难点时,采取边写程序边给出解释的方式,板书代码的英文注释强化了该知识点在学生大脑中的印象,并能够带领学生进一步沉浸在英文思维的氛围中。同时,利用多媒体技术进行教学,将术语解释、语法形式等采用英文PPT演示的形式放映,可以将教师从一些繁琐的板书中解脱出来,节省教学时间。

  (3)采取用英文讲授专业知识点的方式。讲授编程语言类课程时,对于专业知识点部分,应该采用英文,但是在非专业知识的表达以及语句的衔接等方面,出于惯性思维,可以使用中文。不过,考虑到学生的接受程度,对于关键知识点,可以再用中文补述一下。

  3 教学实践

  在Java程序设计课程的双语教学活动中,我们选用的教材是Head First Java。该书内容适合初学者,较为全面,语言特点讲解得非常透彻。此外,它的编排有趣,且中文译本质量高。板书采用英文,结合英文PPT。下文以编程语言的两个重要语法点,同时也是教学难点为例,说明Java程序设计双语教学的实施过程。

  1)引用变量。

  Java编程语言中变量的类型可以分为简单类型和引用类型,它们对应的英文分别是primitive types和reference types。解释简单类型时可直接列举8种简单类型,并在PPT上显示。然而对于“引用”这个词,即使解释了引用类型包括类类型、接口?型以及数组类型,学生还是有疑问:引用究竟是什么意思?谁引用了谁?针对这些问题,我们在PPT演示中给出相关的术语解释,并设计引用变量的声明和赋值语句代码,再辅以代码运行时的内存变化情况,如图1所示。

  学生能够从上述PPT演示中准确地理解“引用”这个词的含义:如果一个变量是引用类型,如String类型,那么这个变量将可以引用到一个String类型的对象,或者称这个变量可以引用或指向一个String类型的对象。

  2)动态绑定。

  C++和Java编程语言都会讲到一个重要概念,即方法查找时的“动态绑定”,这也是教学难点,常常和“多态”“虚方法”这些词联系在一起。 “动态”这个词在汉语中的意思非常广泛,“绑定”一词的意思过于抽象,事实上,在编程语言中,动态通常指的就是程序的“运行时”(run-time),而绑定表达了“引用变量在运行时实际引用到的对象的类型”这层意思。其实,C++语言关于动态绑定和多态中有这样的描述:

  You get the behavior associated with the object to which the variable refers at runtime. The behavior is not determined by the compile time type of the variable. This is an aspect of polymorphism, and is an important feature of object-oriented languages. This behavior is often referred to as virtual method invocation.   同理,在Java中也有类似描述:

  When we invoke an overridden method, Java calls the method for the object's dynamic type, regardless of the variable's static type. Java looks up the right method for a given object at run-time.

  如果在授?n过程中使用这些英文解释,再辅以实例并展示运行时内存的变化,如图2所示(实际教学中,使用不同的颜色标识图中不同部分,以达到板书的清晰性),可以系统地讲解这个概念。专业清晰的英文描述加上实例,使得讲解更具有说服力,并且直接易懂。

  以上讲解过程中,考虑到学生的接受程度,在讲解时可以辅以中文。然而,随着双语教学的不断推进,对于专业知识的讲述还是应当使用英语,这样可以进一步让学生更容易与国际接轨。

  4 问题和建议

  实践教学中,我们发现学生面临最直接的问题是:一些学生听说是双语教学,认为自己的英语很差,很快产生了畏难心理。其实这是不必要的,从实践来看,一些具有一定编程基础,有兴趣但是英语成绩并不突出的学生,课堂表现和成绩仍然比较好。相反,仅仅英语通过六级,而编程能力较弱的学生,并没有很好的表现。事实上,编程语言的英文教材和资料的语法并不复杂,也不涉及我们所缺失的西方文化背景知识,并且,编程实践能够帮助学生准确理解英文描述,增进他们的英语思维能力。因此,在课堂上教师不要强调学生英语成绩的好坏背景,而是强调“双语教学的重点仍然是专业学习”。

  双语教学实践中遇到的另外一个突出问题是教学互动性不高。互动性不高主要有两个方面的原因,一是专业上没有把握,有些跟不上进度;二是英语表达能力的欠缺。针对前者,由于双语教学增加了学生的学习任务,教师需要更多地与学生进行交流,从学生的反馈中对教学进度、每堂课的教学内容作适当调整,并教导学生做到课前先预习、课堂上多记笔记、课后多咨询;针对后者,应当采取多鼓励的方式,训练学生用英文进行表达,同时,允许学生用中文回答问题,并提出希望下次能够以英文回答,这些可以在一定程度上调动学生参与课堂教学的积极性。

  编程语言类课程的双语教学是高校计算机专业教学的时代要求,虽然在高校已经实践了多年,但是仍然存在一些问题,我们需要不断地摸索,进一步完善编程语言类课程的双语教学工作,实现将英语变为编程语言类课程学习者的第二语言的教育目标。

编程语言类课程双语教学的探索与实践

论文搜索
关键字:编程语言 双语 实践 语言 编程 课程
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向