APP下载

汇编语言程序设计双语教学探索

2011-12-31童小念雷建云唐菀熊志勇

计算机教育 2011年14期

  摘要:在总结汇编语言程序设计课程双语教学实践的基础上,本文对计算机专业课程的双语教学可行性进行了讨论,对教材遴选、课堂教学方法以及实验教学措施进行了研究。教学效果表明,计算机专业课程采用双语教学提高了学生直接使用英语学习专业知识的能力,有利于计算机学科教育与国际接轨。
  关键词:汇编语言;双语教学;机器指令;程序设计方法;实践教学
  
  目前,在信息技术等相关专业,双语教学越来越受到有关专业教师的关注,这不仅是相关学科的教学改革与国际接轨的需要,也是现代高等教育发展的新趋势[1]。我校汇编语言程序设计课程组教师在多年承担该课程教学的基础上,从2005级学生开始,在计算机、软件工程、网络工程专业使用国外原版教材,采用双语教学模式讲授汇编语言程序设计这门计算机专业核心课程。在实施过程中,课程组对于双语教学的可行性论证、教材选择、教学方法与手段以及实验教学等环节,进行了有益的探索与实践。
  1双语教学的可行性
  汇编语言是面向机器的计算机底层语言,是软件和硬件的连接纽带。汇编语言程序存储开销小,运行效率高,它能够精细地控制硬件资源,具有高级语言无法替代的功能。从计算机教学体系上来看,汇编语言是计算机专业学生知识结构所不可缺少的一部分,它为后期开设的接口技术、计算机组成原理、计算机系统结构、操作系统、编译原理等课程,打下良好的基础,对于学生今后向更深的计算机专业领域拓展,起到重要的奠基作用。
  1) 教学内容及教学目标。
  汇编语言程序设计课程主要包括以下主要内容:
  ① 计算机中数的表示、微处理器、寄存器及其功能、存储器及存储模式、输入输出设备;
  ② 汇编语言的寻址方式、基本指令及语言要素;
  ③ 分支与循环结构、子程序结构等程序设计方法;
  ④ 高级汇编技术如宏指令、条件汇编等;
  ⑤ DOS及BIOS功能调用。
  通过这门课程的学习,学生应熟悉汇编语言指令结构、掌握汇编语言程序设计方法、能够阅读、分析汇编语言源程序并具有编写、调试程序的基本能力。
  2) 双语教学的有利条件与难点。
  鉴于汇编语言程序设计课程的目标是训练学生利用机器指令编码,而机器指令是由CPU的指令系统决定的,其编程语言是基于英文助记符的符号语言,所以,汇编语言的编程规范与课程的教学语言采用母语还是外语无关。换言之,即使是用中文授课,学生在完成编程作业时,编码同样要采用基于英文的汇编语言源语句,从这点上看,对于汇编语言采用双语教学不仅不会增加学生的作业负担(实际上几乎对于所有的计算机程序语言都如此),甚至对于学生记忆和理解汇编语言指令还有一定的促进作用,这其实是一个有利之处。
  但对于汇编语言程序设计课程采用双语教学,也存在着不少难点。例如:
  ① 汇编语言是面向机器的语言,它不像面向用户的高级语言那么接近自然语言,学习汇编语言要在了解硬件的基础上,准确地使用机器指令对寄存器、内存单元、接口地址进行操作并编码。这种“软硬兼施”的前提要求,往往使初学者有畏难思想;
  ② 利用汇编语言编程时,为了完成基本的输入输出操作,须频繁地将输入数值字符ASCII(American Standard Code for Information Interchange)码串转换成机器内部的二进制数值,或者将机器内部的二进制数值转换成ASCII字符串,然后通过编程进行DOS(Disk Operating System)功能调用或BIOS (Basic Input Output System)功能调用才能执行输入输出字符功能。初学者理解这种转换的意义和熟悉其功能的编程大多有一个较长的适应过程;
  ③ 若采用原版英文教材,将使得学生在解读文本时难度系数增加。
  3) 双语教学的可行性。
  能否对汇编语言程序设计课程采用双语教学?课程组教师分析了以上利弊,认为除了在原版教材的文本学习的语言载体上增加了难度之外,其他有关专业学习的技术难点在使用中文教材时同样存在。以课程组教师多年承担汇编语言程序设计课程的教学经验,技术难点都能够在教学过程中得到解决;而针对原版教材语言载体的难点,一方面由于普通高校本科二年级学生,其英语水平具备了一定的原版教材的阅读基础,另一方面,课程组也将在双语教学的过程中,研究教学法并指导学生培养对原文资料的阅读和学习能力。鉴此,课程组决定从我校计算机科学学院2005级学生开始,使用英文原版教材讲授汇编语言程序设计课程,这是我们对于计算机专业必修课程采用双语教学的首次尝试。
  2教材选择
  选择一本优秀的教材,是保证教学质量的前提。自1992级到2004级学生,我们采用的教材是由清华大学出版的《IBM-PC汇编语言程序设计》,其作者为沈美明和温冬婵教授。这本书内容详尽、案例丰富,习题全面[2],历年来的教学效果证明它是一本非常优秀的教材。
  我校计算机专业的汇编语言程序设计课程在第三学期开设,其理论课时为48 学时。为了高效率地讲授课程内容,尽可能少地增加学生负担,我们拟定了选择英文原版教材的原则:内容精炼、重视例证教学、课后习题丰富。并且,考虑到个别英语基础薄弱的学生需要有一个逐渐过渡的学习过程,教材最好有相应的中文译本。
  在参阅多本原文教材后,课程组重点讨论了机械工业出版社2004年11月出版的原版教材《80x86 Assembly Language and Computer Architecture》,其作者为美国田纳西州立大学Richard C. Detmer教授。此书的中文翻译版教材也已由机械出版社于2006年1月出版。《80x86 Assembly Language and Computer Architecture》一书为本门课程的双语教学提供了如下有利条件:
  1) 内容精炼、习题丰富。该书包括了汇编语言程序设计中有关编程语言、编程方法的主要知识点,它与清华版教材相比,不含外设接口编程的内容。考虑到我校计算机专业教学大纲中,在汇编语言程序设计之后开设了“接口技术”课程,所以,可将这部分内容安排在后期的“接口技术”中讲授,同时也使得汇编语言程序设计课程的理论学时得以精简。该书各章节均安排了丰富的习题和编程练习实践题,有利于学生的学习和复习。
  2) 实用的软件环境。该书重点采用了例证教学,每一章节都包含实际案例。用于汇编语言程序进行汇编、链接、调试的软件附带在一张CD中,其中,调试软件采用了先进的windbg平台[3]。
  特别值得指出的是:该书提供的软件中有一个IO.H文件,这个文件中包括了有关的头文件和6个输入输出功能的宏文件。程序员在编程时,只须在自己的源程序中包含IO.H文件,就可以调用宏功能方便地完成数值字符串的输入或输出,不需要程序员频繁地作字符与ASCII代码的相互转换操作,大大降低了输入输出编程的复杂度。这样,在学生初学编程时,能够暂时回避繁琐的输入输出底层操作,重点聚焦在掌握指令系统、程序结构等主要知识点上。由于软件环境支持初学者方便地实现输入输出界面的编程功能,因此更容易给学生的编程带来信心,使学生有兴趣学习这门较为困难的计算机语言。当学生具备一定的编程基础后,再分析IO.H文件中的宏指令,让学生了解并掌握输入输出功能的底层实现。殊途同归,最终仍然可使学生达到掌握底层I/O编程的教学目标。
  
  综上所述,课程组确定以《80x86 Assembly Language and Computer Architecture》作为汇编语言程序设计双语教学的教材。
  3课堂教学
  为了保证教学质量,针对双语特点对课堂教学采取了如下措施。
  1) PPT课件。多媒体教学是提高教学效率、增强教学效果的得力手段。课程组教师根据双语教学的特点,精心制作了汇编语言程序设计课程的全英文PPT课件。为了使学生强化记识相关专业术语,在介绍各章内容之前,PPT中列表并重点强调本章的专业术语,以利于学生阅读本章节的内容。PPT课件各章节的框架结构如图1所示。
  2) 双语比重权衡。为了既达到双语教学效果又保证专业教学质量,课程组教师努力提高英语能力,任课教师均具备出国留学经历,能够胜任双语教学要求,在课堂教学中全英文板书,且英语口头表达占50%以上比重;另一方面,对于教学内容的重点难点以母语解释,以便同时兼顾不同英语程度的学生,保证学生获取专业知识[4]。此外,本门课程的课堂练习、课外作业、期末考试均采用全英文方式。从学生的接受程度和适应能力来看,以上比重的权衡是合理的。
  4实践教学
  实践教学是计算机课程教学中不可或缺的关键环节[5],对于双语教学的课程更是如此。课程组教师在实践教学方面予以高度重视,开展了如下工作。
  1) 针对《80x86 Assembly Language and Computer
  Architecture》一书的编程环境编写了《上机实验指导手册》,其内容包括程序的汇编与链接过程、windbg调试工具软件的使用方法以及各章的编程练习题和编程指导。
  2) 在课堂上利用多媒体设备给学生演示汇编程序的编写、汇编、链接、调试等步骤,并且鼓励学生拷贝自己的BUG(问题)程序并显示到投影仪上,在老师辅导下现场调试,直至成功运行。这种极为有效的案例教学模式,深受学生欢迎。
  3) 精心安排、设计上机编程练习,使能力强的学生有难度较高的编程项目可作,编程基础相对薄弱的学生,通过学习也能达到教学要求。
  5教学效果
  汇编语言程序设计课程的双语教学已在我校计算机科学学院05-08级学生中实施。90%以上的学生们对这门课程的教学予以了高度评价,他们在调查问卷中这样表示:
  双语教学对程序设计课程非常有益,原版教材为我们营造了用英语学习专业知识的氛围。(ID:05061245)
  使用原版教材,有不明白的地方不得不去查字典,自己写的程序代码也是英文的,就像整天泡在英语之中,无形之中,英语能力有了提高。老师上课时对于难点疑点,除了用英文表述外,也用母语详解,取得了良好的教学效果。(ID:05061020)
  通过“汇编语言”英文版的学习,自己英文水平和专业知识都提高了很多,尤其对原版教材的阅读,知道了很多地道的表达方式,阅读英文的速度也大幅上升。(ID:06061115)
  我喜欢采用英语进行计算机课程的教学,它可以使我们在走出学校后更快更好地适应市场需求,有助于我们今后的就业。(ID:06061012)
  专业课采用英语教学提高了我的英语水平,让我切实感受到计算机专业的国际化要求,开拓了视野,同时也成为我努力提升自己,让自己的知识更适应国际化发展趋势的一个催化剂。(ID:06061116)
  调查问卷中也反映出少部分英语水平较薄弱的学生,存在较多地借助中文翻译版教材的现象,这是在双语教学中应重点关注并予以改善的问题。
  6结语
  我校汇编语言程序设计课程组教师五年以来的双语教学实践表明,采用双语模式进行计算机专业课程的教学是可行的,在专业知识的学习和接受方面,不仅不会弱化教学效果,而且在学生的英语应用能力方面起到了有益的促进作用。现在,本门课程已被遴选为湖北省精品课程。课程组将更深入地研究教学法,进一步提高教学水平,为培养高素质的少数民族高新技术人才努力工作。
  参考文献:
  [1]