用实验方法改革汇编语言程序设计的教学.doc
《用实验方法改革汇编语言程序设计的教学.doc》由会员分享,可在线阅读,更多相关《用实验方法改革汇编语言程序设计的教学.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流用实验方法改革汇编语言程序设计的教学.精品文档.用实验方法改革汇编语言程序设计的教学 摘要:我们在多门计算机课程的教学实践中,摸索出一套“把实验实践环节与理论教学相融合,抓实验实践教学促进学科理论知识学习”的教学方法,有效地提高了学生的学习兴趣和课程的教学效果。实践证明,这样的教学方法符合“实践、认识、再实践、再认识”的辩证唯物主义认识论。本文从我国大众化高等教育的实际出发,从汇编语言及其教学现状、教学内容的分层次设计、把实验作为课程的主要教学手段以及实验教学改革与创新的成果等诸方面介绍了笔者对“汇编语言程序设计”课程的教改思路和实验创新成果
2、。关键词本文来自:计算机毕业网 :汇编语言程序设计;实验;教学改革在传统教学模式中,理论教学 (或者说是课堂教学) 与实验教学是区别对待的,后者通常用来“辅助”前者 (例如实验教材历来被认为是辅助教材) ,学生通过实验教学环节来“验证”理论教学的内容。但是,在大众化高等教育的背景下,课堂教学的效果普遍出现滑坡,导致淡化了“验证性”实验的基础,因而严重地影响了课程的教学质量。近年来,我们在多门计算机课程的教学实践中,摸索出一套“把实验实践环节与理论教学相融合,抓实验实践教学促进学科理论知识学习”的教学方法,有效地提高了学生的学习兴趣,以此提高了大众化高等教育背景下计算机专业课程的教学效果和教学质
3、量。本文中,我们结合“汇编语言程序设计”课程的实验创新,来探讨新的教育形势下计算机课程教学方法的改革。1汇编语言及其教学的现状计算机中真正可以处理的只是由“0”和“1”组成的二进制代码,这种指令代码易出错且不易修改。于是,人们发明了“指令的助记符”,用几个字母 (往往就是其含义的英文单词或缩写) 来代替某条指令,如加法用ADD表示,减法用SUB表示等,这种符号系统最终扩大形成了汇编语言。汇编语言就是机器语言的一种可以被人读懂的形式,只不过它更容易记忆。使用汇编语言编程,优点是运行效率高,可直接对硬件内部进行控制,缺点是使用者需要对硬件有更深入的了解,编程效率不高,并且汇编语言与机器的体系结构有
4、一定的依赖关系,每种计算机都有自己的汇编语言,使用极不方便。汇编语言易学却很难真正掌握,编写快速、高效,并且能够让计算机处理器“舒服地执行”的汇编语言程序是一件很困难的事情。由于教师开展教学困难,学生学习和掌握困难,教学效果很差,以至于不少学校甚至取消了这门课程。尽管与发展初期相比,计算机开发和应用技术已经有了根本性的变化,我们有了各种高级语言、我们有了网络应用开发的许多编程工具,很多程序甚至可以自动生成,但机器语言、汇编语言和高级语言的程序设计语言体系仍然是计算机技术的基础,也是计算机技术的重要知识体系之一。对于计算机及其相关专业的学生以及喜欢计算机的一般学生和读者来说,汇编语言程序设计肯定
5、是需要掌握的重要专业基础知识之一。不能了解和熟悉汇编语言知识不仅将导致学生知识结构的缺乏,也可能导致学生认知水平的降低、开发手段的贫乏。在一些应用中,汇编语言甚至是其开发工具的唯一选择。汇编语言是机器语言之外最接近计算机硬件的编程语言。由于它如此地接近计算机硬件,因此,它可以最大限度地发挥计算机硬件的性能。用汇编语言编写的程序的速度通常要比高级语言(例如C/C+),快很多倍,甚至成百上千倍。选择汇编,意味着选择性能而不是可移植或便于调试。在一些实际的应用系统中,我们往往会用汇编彻底重写某些经常调用的部分以期获得更高的性能。应用汇编也许不能提高程序的稳定性,但至少它也不会降低稳定性;与此同时,它
6、可以大大地提高程序的运行速度。至少,汇编语言的知识可以告诉你一些有用的东西,比如,你有多少个寄存器可以使用。有时,手工的优化比编译器的优化更为有效,而且,你可以完全控制程序的实际行为。“汇编语言程序设计”课程的任务是为“计算机原理”、“计算机接口技术”、“操作系统原理”等后继课程提供必要的基础知识,它对训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用,为从事计算机的应用开发提供了强有力的编程工具。通过学习汇编语言,学生可以了解到如何有效地设计数据结构,让计算机处理得更快,并使用更少的存储空间;同时,学习汇编语言可以让学生熟悉计算机内部运行机制,并有效地提高调试能力。经验表明,调
7、试一个非结构化程序的困难程度,要比调试一个结构化程序的难度高很多,因为“结构化”是以牺牲运行效率来提高可读性与可调试性的,这对于完成一般软件工程的编码阶段是非常必要的。然而,在一些地方,比如,硬件驱动程序、操作系统底层,或者程序中经常需要执行的代码,结构化程序设计的这些优点有时就会被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代码级的调试是远远不够的。通常情况下,“汇编语言程序设计”课程的教师必须决定其课程是集中于问题和理论,还是为学生提供一个能够对汇编语言程序设计进行实验的环境。“汇编语言程序设计”课程本身具有的理论抽象性和鲜明的应用性,决定了我们必须充分重视这门课程的实践
8、环节。2教学内容的分层次设计教育部计算机科学与技术专业教学指导分委员会在其发布的“中国计算机本科专业发展战略研究报告”中指出:大多数院校都有比较完善的教学大纲、教学计划和进度表、教学档案等,实践着一套有效的管理规范。但同时教学内容的研究则需要加强。报告进一步指出:1) 有些学校计算机专业的教学内容设计存在明显的盲目性,还有些学校在培养人才定位上有明显偏差。尽管CC1991开创了一种对计算机科学教育的创造性的、理性的思考,但它并不应该成为我国所有大学计算机专业教学实践所共同追求的目标。2) 作为一种比较普遍的规律或者现象,学生就业通常会有较强的地域性:一个企业通常在周边地区招收较多员工,一个学校
9、的毕业生大都就业在学校周边地区的单位。因此,学校周边地区社会发展的情况对计算机专业的教学内容的设计应该是很有参考意义的。由于大多数大专院校一般都设置有计算机科学技术及其相关专业,我们至少可以认为:根据所在院校的办学类型不同、培养目标不同、所在地及其周边地区社会需求的不同,这些计算机专业的教学内容应该有所不同,这些计算机专业对于“汇编语言程序设计”这门课程的教学内容也应该是有所不同的。对于那些非研究型院校的相关专业,对“汇编语言程序设计”的教学可以集中在适度的理论知识和充分的操作实践上,通过实验与实践,了解汇编语言程序设计的基本概念和知识,激发对相关理论知识的学习兴趣,理解和掌握汇编语言程序设计
10、的基本方法。汇编语言程序设计的应用面广,涉及技术领域宽泛,要让学生真正理解汇编语言程序设计的基础理论知识,具备将汇编语言技术应用于社会实践的能力,积极加强汇编语言程序设计课程的实验环节是至关重要的。3把实验作为课程的主要教学手段“汇编语言程序设计”课程一向都有上机实验的教学要求,但教学主体是课堂教学,无论是实验设计还是实验强度都远远不够,带有强烈的“验证性”色彩。然而,单凭课堂教学和一般作业,要真正领会汇编语言程序设计课程所介绍的概念、原理、方法和技巧等,是很困难的。经验表明,学习并真正体会和掌握汇编语言程序设计的最好方式是对它进行充分的实践。把实验作为学习汇编语言程序设计的主导方法,为学生提
11、供了一个掌握汇编语言程序设计全新的学习方法,可以由此来体验汇编语言程序设计的知识及其应用技巧。当然,通过实验,也一定能够很好地提高学生汇编语言程序设计能力。 根据以上思考,我们在实验内容的选择、实验步骤的设计和实验文档的组织等诸方面都做了精心的考虑和安排,尝试为“汇编语言程序设计”课程编写了汇编语言程序设计实验教程教材。该实验教材依据课程教学大纲,充分理解课程的大多数主教材,遵循课程教学的规律和节奏,体现了实验的可操作性,帮助学生切实把握本课程的知识内涵和理论与实践的水平。全部实验结合目前广泛使用的PC机Intel 80x86 CPU来开展教学,目的是通过一系列使用80x86和Windows环
12、境下32位汇编语言的实验练习,把汇编语言程序设计的概念和理论知识融入到实践当中,从而加深对汇编语言程序设计的认识和理解。实验练习几乎覆盖了汇编语言程序设计教学的各个方面 (见表1), 内容涉及汇编语言编程基础、构建汇编语言编程环境、汇编语言程序设计、输入输出与中断、Win32汇编语言程序设计及汇编语言与C/C+的混合编程等。表1实验内容的分布实验1:汇编语言编程基础。包括汇编语言的计算环境、使用DEBUG调试工具、用DEBUG熟悉指令功能和寻址方式、用DEBUG熟悉Intel 80x86指令等实验。通过实验理解汇编语言程序设计的基本概念,了解Intel CPU的组成,熟悉8086/8088寄存
13、器组、8086/8088存储器组织、8086/8088标志等与汇编语言程序设计相关的基础概念;了解汇编语言的应用领域和学科,了解汇编语言的发展和版本;通过因特网搜索与浏览,了解80x86汇编语言的计算环境,了解因特网网络环境中主流的汇编语言程序设计技术网站;掌握通过专业网站不断丰富汇编语言程序设计最新知识的学习方法,尝试通过专业网站的辅助与支持来开展汇编语言程序设计的应用实践;初步掌握调试程序DEBUG的使用,熟悉DEBUG常用命令,特别是D、R、E、A、U、T、G等命令的运用;利用调试程序DEBUG学习80x86 CPU的数据和转移地址寻址方式,学习和掌握80x86微处理器的基本指令系统。实
14、验2:构建汇编语言编程环境。包括构建masm编程环境、汇编语言程序的格式等实验。通过实验学习建立汇编语言masm实验 摘 要:学生对程序设计语言课程普遍感到压力大,老师教得辛苦,学生学得艰难。为此本人进行了相关的课题研究,特别是对学生学习该课程的压力及其来源进行了深入探讨,并对心理障碍的疏导问题提出了调适意见。本文就是笔者对该问题研究的初步成果,供大家商榷、参考、共享。关键词本文来自:计算机毕业网 :心理压力;显性根源;隐性根源;合理疏导;恰当调适 一程序设计语言课程,是理工类专业尤其是计算机类专业学生所学的第一门专业基础课程,一般都安排在第二学期开设。大量的调查结果表明,对于学习程序设计语言
15、课程,学生普遍感到有心理压力,随着课程的进行,难度日渐加大,压力日益加剧,伴随而生的是焦虑日盛、焦躁不安、消极退缩、空虚茫然。因而多数学生对于程序设计语言课程的学习,因畏惧而远之,因害怕而弃之。老师辛辛苦苦教学,却普遍收效甚微。笔者曾对多届学生(其中包括软件工程专业本科班和计算机科学与技术统招本科班的学生)进行过测试,存在的问题确实不小。例如,分不清“大于和等于”的意思就是“不小于”,其不成立时就是“小于”的人数不低于全班总人数的五分之二;不能区分“判断通过键盘输入的整数是否是素数(或说质数)”与“输出在1和100之间的全部素数”两个不同题意区别的人数超过全班总人数的一半;在15分钟的测试时间
16、内不能将一个三位整数X用X/100取整分离出X的百位数的人数达全班总人数的60%;在学过求余运算符“%”之后,不能用X%10求余分离出X的个位数的人数占全班总人数的80%,不会用(X/10)%10的方法分离出X的十位数的人数竟达全班人数的90%;。在这样的前题之下,多数学生刚开始接触这门课程时的心态是既有新鲜感,又感到恐惧,学过一段时间后,便不时流露出畏难情绪。有的在学过一些简单的教学用小程序之后又急于求成,为不能一次成功独立编写出大程序而感到懊恼;有的在上机实践时由于粗心大意出现差错、意外,当系统报告多处错误需要进行调试时就显得十分浮燥和不安,有的学生干脆放弃;。这些现象都真实地反映了学生在
17、学习“程序设计”课程之初、之中和之后的各个阶段,存在着不同程度的心理问题。面对学生在学习“程序设计”课程时流露出的窘迫、担忧,教师应该怎样正确应对?程序设计在训练和提高学生的逻辑思维能力方面有独特的作用,所以在高校甚至于在中学,“程序设计”都应该是一门十分重要的课程。尤其在高校,“程序设计”课程在培养和提高学生的逻辑思维能力方面,与“高等数学”课程有异曲同工的作用。笔者认为,无论是从课程地位、课程设置还是课时量的安排来说,“程序设计”课程都应该成为理工类专业与“高等数学”课程同样重要的一门课程。然而在我国由于中学为了适应应试教育的要求,几乎都没有开设或者没有认真开设“程序设计”课程。这样做的后
18、果,一方面可以说是只注意了培养高考状元,而埋没了其中不少可能在软件行业里有很大发展潜力的少年天才;另一方面,在应试教育的大背景之下,不少中学惯用题海战术,施行只强调模仿、忽视思考的大运动量训练,致使中学阶段的许多学生逻辑思维能力没有得到正常的、合理的训练和培养,软件知识更是贫乏甚至是空白。这些问题往往成了大学阶段学习“程序设计”课程的心理障碍。现象形形色色,实质都是因为存在各种各样的心理障碍。要想提高程序设计语言课程的教学质量,就不能不对学生在学习该课程之前和之中的心理状态及产生压力的根源,作一番深入的探讨。针对学生在学习“程序设计”课程时表现出来的问题,教师应该对产生心理障碍的根源进行剖析并
19、予以合理的疏导和恰当的调适。二人的行为既受到心理的支配,同时又影响到心理状态。心理学研究表明,压力分轻度、中度和重度三级,轻度的压力容易转化为惰性,重度的压力会产生焦虑,只有恰当的中度压力才有可能转变为动力。学生面对学习程序设计语言课程所产生的压力,显然属于重度压力。这种重度压力产生的根源,有显性和隐性两个方面。显性压力来源主要有思维、环境、考试、父母、老师、同学、社会、就业问题等。例如认为自己思维基础差,反应慢,跟不上老师;从未见过多媒体的教学方式,很不习惯,跟不上、记不成笔记;时刻记挂父母的期望,害怕考试“挂科”而失面子;担心因成绩差得不到奖学金,对不起父母,对不起老师;担心同学比自己强,
20、在互相比拼中居下风;担心学得不好,将来就业困难,找不到好工作,会受到社会的岐视等等。这些显性的压力来源,涉及到学习的动机、方法问题,虽然可以采取对症下药的方法得到局部的调理,但却得不到令人满意的诊治效果。我们还应该深究一下对学生产生这种重度压力的隐性根源,这才是解决问题的根本之所在。首先,刚步入高校的学生,正处于高考压力释放期的后阶段。他们本以为大学的学习会比中学更难,但是,高校第一学期一般都是安排公共课程,除必开的政治课外,“高等数学”和“大学英语”相当于高中课程的延续,他们从中感觉不到来自专业的压力。“计算机基础”的内容简单,有的中学也开设,已经在中学学习过的学生会因为内容重复而感到厌烦。
21、加之,第一学期课时安排较少,习惯于中学“圈羊式”教学模式的学生,对大量的空堂感到无所适从,因而使他们“被迫”继续处于高考压力的释放阶段,虽然第一学期开设的“思想道德修养和法律基础”课对大学生的学习动机和方法等相关内容都有所涉及,但他们更在意“眼见为实”,对所学内容由于在实践中感觉不到“益处”便处于惰性状态,乃至到第二学期开设“程序设计语言”这类对逻辑思维能力要求较高的专业基础课时,因为没有知识基础且又缺乏必要的心理准备,而感到重度压力倍增乃理所当然。所以笔者认为,第一学期的课程安排不当是造成上述重度压力的第一隐性根源。其次,几乎所有学校在教材的选用上仍采取“必用名人名作”的习惯做法,完全忽视学
22、校的类别、性质和生源的实际情况。何况,不少“名作”只是借用了名人的名字,“名作”并不一定是真正的名人之作。在任课教师的安排上,大多数学校都是只安排刚出校门的新教师任课,他们中的大多数一般都采用一切从简、照本宣科的教学方法,使学生无所适从。笔者认为,教材和教师的选用欠妥,是造成上述重度压力的第二隐性根源。再次,多媒体教学对提高课堂教学效率方面的确有较好作用,但多媒体毕竟是一种计算机辅助教学设备,需使用得当,恰到好处,而不能滥用。有的教师将其作为唯一的授课形式,笔者认为,从课程的性质和教学内容的特点来说,这样做不可取;从对于不同的教学对象来说,教学形式一刀切的做法更不可取。有不少学校把投影银幕置于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 方法 改革 汇编语言 程序设计 教学
限制150内