论文部分内容阅读
摘要:汇编语言虽为低级语言,但其是最接近计算机硬件的语言,因此学习汇编可以更加深入的了解计算机硬件的本质,所以汇编语言是计算机硬件类的核心。工程教育专业认证已在许多国家得到了实施,其对工程教育的发展起到了积极的促进作用,工程教育专业认证已成为各大高校诸多专业首要完成的任务。本文以专业认证需求为前提,从积极发挥主动性预习、课后互助讨论的学习氛围、科研成果转化为教学、开拓学习视野、重在了解知识点内涵、教学内容精心设计等角度对汇编语言程序设计课程的教学方法进行研究。
关键词:汇编语言;专业认证;教学方法
中图分类号:TP313 文献标识码:A
文章编号:1009-3044(2019)12-0144-03
Teaching Method Research on Assemble Language Programming Design Oriented by Professional Certification
WANG Jia-liang
(College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: Assemble language is low level language, which is close to computer hardware, so studying assemble language can learn the nature of computer hardware to the largest extent, thus the assemble language is the core course of computer hardware. Professional certification of engineering education has been executed in many countries, which plays positive role on the development of engineering education, so the professional certification of engineering education has become the primary task for many majors in colleges and universities. This paper considers the the premise of requirements about professional certification, and aims to research the learning method of assemble language programming design course, in terms of giving play to active preview, study atmosphere of mutual help and discuss after class, converting the research to the teaching resources, widen study sight, learning the nature of knowledge point, well-designed teaching contents and so on.
Key words: Assembly Language; Professional Certification; Educational reform;
隨着嵌入式系统和物联网的发展,汇编语言在行业中的地位不断提升。2017年1月,在TIOBE排行榜上汇编语言再次进入前十。它是理解计算机系统核心知识的桥梁,在人才培养中亦起着关键作用。在当今“工业4.0”和“中国制造2025”大背景下,它可以为国家智能化制造发展战略提供技术上的重要支撑[1]。
《汇编语言程序设计》课程,作为计算机科学与技术学院计算机硬件课程组的一门核心课程,从知识体系结构来说,其作为《计算机组成原理》、《接口技术与应用》及《计算机病毒》、《物联网感知技术》、《物联网工程设计与实践》等课程的前序课程,可见其重要的地位。在一些高校,《汇编语言程序设计》不仅是计算机专业的必修课,同时也是自动化专业的必修课[2,3]。
工程教育专业认证的核心就是要确认工科专业毕业生达到行业认可的既定质量标准要求,是一种以培养目标和毕业出口要求为导向的合格性评价[4]。认证不是评优、评先进,而是看所有毕业学生是否均达到要求,成绩最后一名的学生是否达到毕业要求,因此课程教学必须紧扣这一思想,做出实质性的改革。
1 满足专业认证的教学内容设计
计算机发展日新月异,处理器更是,课程以80x86处理器平台为例进行讲解。从中央处理器、寄存器组、存储器、外部设备等角度,结合指令系统,及指令的寻址方式等,深入解析顺序程序、分支程序、循环程序、中断调用、子程序等的实现机理。对于学生以后了解AVR,ARM等高级处理器平台的汇编语言会很快熟悉[5,6]。既然专业认证的核心是使所有学生都满足要求,因此课程的教学内容设计时,必须做到清晰、层次感强,如图1所示。
在课程的教学中,本人同时作为物联网实验室扩建的项目负责人,而实验室的扩建过程对《汇编语言程序设计》课程有很好的促进作用。物联网所涉及的嵌入式技术、WIFI和3G移动通信技术、传感技术、短距离无线通信技术、RFID技术、ZigBee 无线传感网络、Android开发技术、蓝牙通讯、远程GPRS 无线通信等技术大多需要对底层硬件进行编程控制,因此可以说《汇编语言程序设计》是保证物联网教学质量、培养高素质人才的关键基础。本人申请获批的2017年校级教育教学改革与研究项目--“物联网工程设计与实践”案例设计与开发,其中涉及的硬件底层设计与实现,对汇编语言的教学有很好的促进作用。而且,为了适应社会经济快速发展对人才的需求,我们须不断深化教学内容改革,让教学内容更接近社会应用需求。 如在讲解如何利用段地址和偏移地址来计算逻辑地址时,为便于理解,可以将示例设计成学校的建筑位置距离计算,将距离为46666H英寸的地址(五位数据)表示为4000H和6666H(两个四位数据),这样就可以较深刻的理解20位的逻辑地址是如何通过两个16位的段地址和偏移地址来表示。这样,在讲解逻辑地址的计算时,就比较容易理解12345H的逻辑地址是如何表示成1234H的段地址加上0005H的偏移地址。
2 以专业认证为导向的教学方法探索
2.1发挥主动性预习的功效
课程讲授顺序程序、分支程序、循环程序、子程序等时,将一些程序实现(大约20行以上的程序)作为课后作业让学生了解,并在下节课中预留几分钟让某同学进行讲解。这种方式虽然不能覆盖绝大多数的同学,但是在同学现场讲解之后可以提问几名学生进行讨论,这种方式不仅在一定程度上激发学生的学习兴趣,大家也可以在互相的讲和听中发现彼此的问题、提升自己。
2.2课后互助讨论的学习氛围
在每一门课的讲授中,我总习惯将这门课的学生建立个QQ群,一方面便于我在里面发布通知,更主要的是同学们有了一个课程的交流平台。在这里,每一个学生都可以围绕自己遇到的问题随时随地的提问,更主要的是还可以很方便的发布问题截图及上传有问题的程序代码,这样我和所有的同学都可以随时的进行解答,并进行讨论交流,这种方式可以充分发挥自由讨论的优势,将学习中遇到的问题第一时间进行解决,体现团结互助的同时,也便于老师了解到经常帮助别人的同学。
2.3教学与科研的有机结合,提升吸引力
教学与科研尽管作为高校教师的两大任务,但是谈及科研对教学的影响和作用时,其不再是独立的两个任务,而是科研可以为教学提升档次、增加效果、带来更多的润色与生动感,为课堂教学带来吸引力。其实,博士的研究课题,主持及参与的科研项目,都可以挖掘出很多本门课的知识点,这样在课程的讲授时,就不再是单单对知识点的讲授,而是多了些其在项目中的具体实现,对于学生来说,不仅可以学到课程知识点,同时可以很生动地了解到其在工程项目中的哪些场合有应用,这样会更好地进行学以致用。
2.4每堂课都有新鲜事儿
在平时的课堂教学中,在适当的时候,为学生们带来一些新鲜事,不仅可以吸引更多的学生的注意力,还可以开拓学生的视野。平时的课程中,我也经常准备一些新鲜事,比如我读博期间的两年公派留学美国普渡大学的科研经历,以及到香港理工大学一个月的科研经历,在分享自己经历的同时,可让学生了解外面的世界,同时也为学生自己的未来规划多了一份选择,2018年我指导的一名本科毕设学生,成功申请到了香港城市大学继续攻读硕士学位。
2.5知其所以然
汇编语言程序设计,同其他语言一样,实验非常重要。上机实验使用的DEBUG软件,对于学生学习80x86处理器平台的汇编语言程序设计来说非常便利,其可以很方便地对程序进行masm,link,debug以及执行等操作,不仅可以看到每条指令对应的机器码,同时可以看到指令对数据总线、地址总线的访问,以及对寄存器,存储器,IO端口的访问操作,这一点是C 语言,JAVA语言等其他高级语言所不能相比的。通过DEBUG软件,学生们知其然的同时,可以更好地知其所以然。
2.6精心设计
例如在讲解时内存数据的取数过程时,比如对于直接寻址这个寻址方式知识点,精心的设计动画效果,会很大程度增强教学效果,比如对于例子:假定DS为2000H,偏移地址为0006H。执行MOV AX,[0006H]指令时,分析其执行过程。这个示例,设计成动画效果,可非常直观地观察到根据段地址和偏移地址形成物理地址的过程、运算器的执行分析、数据在地址总线上的传送过程、内存地址单元的数据读取过程,数据在数据总线上的传送过程,寄存器的存取过程等。
3 评价体系
3.1 课程成绩分布评价
课程本身《汇编语言程序设计》课程的考核方式为闭卷笔试,试卷覆盖知识面广,题型灵活,要求同学对汇编语言各个知识点的全面掌握。以下本人讲授的《汇编语言程序设计》2016-2017年第二学期和2015-2016年第二学期的成绩对比分析:
从试卷得分的统计结果来看。与2015-2016学年度相比,2016-2017学年度的平均分提升了5.31分。分数段为90-100的学生数所占百分比,由6.82%增加到了12.40%,分数段为80-89的学生数所占百分比,由15.91%增加到了22.48%,可见,成绩为优秀和良好的学生比重有了较大的提升。
3.2 教评成绩
本人于2015-2016第二学期、2016-2017第二学期讲授《汇编语言程序设计》课程。在2016年和2017年计算机科学与技术学院的教评成绩排名中,本人都位于第一档(前10%)。可见,课程教学方法的改革取得了一定的成效,得到了学生们较大的认可。
3.3 调查问卷、座谈会的形式
为了及时有效地得到学生们对所讲课程的评价及反馈,可采用调查问卷、座谈会的形式了解学生对课程的反馈,可具体到某一页PPT,有针对地在下次课的时候进行有针对性的讲解以巩固。
4 结束语
本文从积极发挥主动性预习、课后互助讨论的学习氛围、科研成果转化为教学、开拓学习视野、重在了解知识点内涵、教学内容精心设计等角度对汇编语言程序设计课程的教学方法进行研究,重在体现工程教育专业认证的以学生为中心、成果导向、反向设计、正向实施、周期性评价、持续改进、实质等效的理念。最后,对近两年的学生成绩进行对比分析,以验证汇编语言程序设计课程教学方法研究的效果。
参考文献:
[1] https://www.icourse163.org/course/UESTC-1002047009
[2] 肖剛强, 张晓艳, 王艳娟. 汇编语言程序设计[M], 清华大学出版社, 2011.
[3] 陈璨, 李林, 任旭虎. 汇编语言在大学生能力培养中的研究与探索[J]. 实验科学与技术, 2017, 15(6):172-174.
[4] 刘向荣; 吴晓洁. 专业认证导向下我国高校工科专业培养目标设定研究——以我国高水平大学为例[J]. 河北工业大学学报(社会科学版), 2018, 10(01):84-89.
[5] 熊书明, 王良民, 曾宇,等. 基于程序设计的“汇编语言”课程教学方法[J]. 电气电子教学学报, 2013, 35(6):66-68.
[6] 解志坚, 张引琼, 陈刚. 汇编语言程序设计教学方法的探讨[J]. 电脑知识与技术, 2015, 11(32):89-91.
【通联编辑:王力】
关键词:汇编语言;专业认证;教学方法
中图分类号:TP313 文献标识码:A
文章编号:1009-3044(2019)12-0144-03
Teaching Method Research on Assemble Language Programming Design Oriented by Professional Certification
WANG Jia-liang
(College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: Assemble language is low level language, which is close to computer hardware, so studying assemble language can learn the nature of computer hardware to the largest extent, thus the assemble language is the core course of computer hardware. Professional certification of engineering education has been executed in many countries, which plays positive role on the development of engineering education, so the professional certification of engineering education has become the primary task for many majors in colleges and universities. This paper considers the the premise of requirements about professional certification, and aims to research the learning method of assemble language programming design course, in terms of giving play to active preview, study atmosphere of mutual help and discuss after class, converting the research to the teaching resources, widen study sight, learning the nature of knowledge point, well-designed teaching contents and so on.
Key words: Assembly Language; Professional Certification; Educational reform;
隨着嵌入式系统和物联网的发展,汇编语言在行业中的地位不断提升。2017年1月,在TIOBE排行榜上汇编语言再次进入前十。它是理解计算机系统核心知识的桥梁,在人才培养中亦起着关键作用。在当今“工业4.0”和“中国制造2025”大背景下,它可以为国家智能化制造发展战略提供技术上的重要支撑[1]。
《汇编语言程序设计》课程,作为计算机科学与技术学院计算机硬件课程组的一门核心课程,从知识体系结构来说,其作为《计算机组成原理》、《接口技术与应用》及《计算机病毒》、《物联网感知技术》、《物联网工程设计与实践》等课程的前序课程,可见其重要的地位。在一些高校,《汇编语言程序设计》不仅是计算机专业的必修课,同时也是自动化专业的必修课[2,3]。
工程教育专业认证的核心就是要确认工科专业毕业生达到行业认可的既定质量标准要求,是一种以培养目标和毕业出口要求为导向的合格性评价[4]。认证不是评优、评先进,而是看所有毕业学生是否均达到要求,成绩最后一名的学生是否达到毕业要求,因此课程教学必须紧扣这一思想,做出实质性的改革。
1 满足专业认证的教学内容设计
计算机发展日新月异,处理器更是,课程以80x86处理器平台为例进行讲解。从中央处理器、寄存器组、存储器、外部设备等角度,结合指令系统,及指令的寻址方式等,深入解析顺序程序、分支程序、循环程序、中断调用、子程序等的实现机理。对于学生以后了解AVR,ARM等高级处理器平台的汇编语言会很快熟悉[5,6]。既然专业认证的核心是使所有学生都满足要求,因此课程的教学内容设计时,必须做到清晰、层次感强,如图1所示。
在课程的教学中,本人同时作为物联网实验室扩建的项目负责人,而实验室的扩建过程对《汇编语言程序设计》课程有很好的促进作用。物联网所涉及的嵌入式技术、WIFI和3G移动通信技术、传感技术、短距离无线通信技术、RFID技术、ZigBee 无线传感网络、Android开发技术、蓝牙通讯、远程GPRS 无线通信等技术大多需要对底层硬件进行编程控制,因此可以说《汇编语言程序设计》是保证物联网教学质量、培养高素质人才的关键基础。本人申请获批的2017年校级教育教学改革与研究项目--“物联网工程设计与实践”案例设计与开发,其中涉及的硬件底层设计与实现,对汇编语言的教学有很好的促进作用。而且,为了适应社会经济快速发展对人才的需求,我们须不断深化教学内容改革,让教学内容更接近社会应用需求。 如在讲解如何利用段地址和偏移地址来计算逻辑地址时,为便于理解,可以将示例设计成学校的建筑位置距离计算,将距离为46666H英寸的地址(五位数据)表示为4000H和6666H(两个四位数据),这样就可以较深刻的理解20位的逻辑地址是如何通过两个16位的段地址和偏移地址来表示。这样,在讲解逻辑地址的计算时,就比较容易理解12345H的逻辑地址是如何表示成1234H的段地址加上0005H的偏移地址。
2 以专业认证为导向的教学方法探索
2.1发挥主动性预习的功效
课程讲授顺序程序、分支程序、循环程序、子程序等时,将一些程序实现(大约20行以上的程序)作为课后作业让学生了解,并在下节课中预留几分钟让某同学进行讲解。这种方式虽然不能覆盖绝大多数的同学,但是在同学现场讲解之后可以提问几名学生进行讨论,这种方式不仅在一定程度上激发学生的学习兴趣,大家也可以在互相的讲和听中发现彼此的问题、提升自己。
2.2课后互助讨论的学习氛围
在每一门课的讲授中,我总习惯将这门课的学生建立个QQ群,一方面便于我在里面发布通知,更主要的是同学们有了一个课程的交流平台。在这里,每一个学生都可以围绕自己遇到的问题随时随地的提问,更主要的是还可以很方便的发布问题截图及上传有问题的程序代码,这样我和所有的同学都可以随时的进行解答,并进行讨论交流,这种方式可以充分发挥自由讨论的优势,将学习中遇到的问题第一时间进行解决,体现团结互助的同时,也便于老师了解到经常帮助别人的同学。
2.3教学与科研的有机结合,提升吸引力
教学与科研尽管作为高校教师的两大任务,但是谈及科研对教学的影响和作用时,其不再是独立的两个任务,而是科研可以为教学提升档次、增加效果、带来更多的润色与生动感,为课堂教学带来吸引力。其实,博士的研究课题,主持及参与的科研项目,都可以挖掘出很多本门课的知识点,这样在课程的讲授时,就不再是单单对知识点的讲授,而是多了些其在项目中的具体实现,对于学生来说,不仅可以学到课程知识点,同时可以很生动地了解到其在工程项目中的哪些场合有应用,这样会更好地进行学以致用。
2.4每堂课都有新鲜事儿
在平时的课堂教学中,在适当的时候,为学生们带来一些新鲜事,不仅可以吸引更多的学生的注意力,还可以开拓学生的视野。平时的课程中,我也经常准备一些新鲜事,比如我读博期间的两年公派留学美国普渡大学的科研经历,以及到香港理工大学一个月的科研经历,在分享自己经历的同时,可让学生了解外面的世界,同时也为学生自己的未来规划多了一份选择,2018年我指导的一名本科毕设学生,成功申请到了香港城市大学继续攻读硕士学位。
2.5知其所以然
汇编语言程序设计,同其他语言一样,实验非常重要。上机实验使用的DEBUG软件,对于学生学习80x86处理器平台的汇编语言程序设计来说非常便利,其可以很方便地对程序进行masm,link,debug以及执行等操作,不仅可以看到每条指令对应的机器码,同时可以看到指令对数据总线、地址总线的访问,以及对寄存器,存储器,IO端口的访问操作,这一点是C 语言,JAVA语言等其他高级语言所不能相比的。通过DEBUG软件,学生们知其然的同时,可以更好地知其所以然。
2.6精心设计
例如在讲解时内存数据的取数过程时,比如对于直接寻址这个寻址方式知识点,精心的设计动画效果,会很大程度增强教学效果,比如对于例子:假定DS为2000H,偏移地址为0006H。执行MOV AX,[0006H]指令时,分析其执行过程。这个示例,设计成动画效果,可非常直观地观察到根据段地址和偏移地址形成物理地址的过程、运算器的执行分析、数据在地址总线上的传送过程、内存地址单元的数据读取过程,数据在数据总线上的传送过程,寄存器的存取过程等。
3 评价体系
3.1 课程成绩分布评价
课程本身《汇编语言程序设计》课程的考核方式为闭卷笔试,试卷覆盖知识面广,题型灵活,要求同学对汇编语言各个知识点的全面掌握。以下本人讲授的《汇编语言程序设计》2016-2017年第二学期和2015-2016年第二学期的成绩对比分析:
从试卷得分的统计结果来看。与2015-2016学年度相比,2016-2017学年度的平均分提升了5.31分。分数段为90-100的学生数所占百分比,由6.82%增加到了12.40%,分数段为80-89的学生数所占百分比,由15.91%增加到了22.48%,可见,成绩为优秀和良好的学生比重有了较大的提升。
3.2 教评成绩
本人于2015-2016第二学期、2016-2017第二学期讲授《汇编语言程序设计》课程。在2016年和2017年计算机科学与技术学院的教评成绩排名中,本人都位于第一档(前10%)。可见,课程教学方法的改革取得了一定的成效,得到了学生们较大的认可。
3.3 调查问卷、座谈会的形式
为了及时有效地得到学生们对所讲课程的评价及反馈,可采用调查问卷、座谈会的形式了解学生对课程的反馈,可具体到某一页PPT,有针对地在下次课的时候进行有针对性的讲解以巩固。
4 结束语
本文从积极发挥主动性预习、课后互助讨论的学习氛围、科研成果转化为教学、开拓学习视野、重在了解知识点内涵、教学内容精心设计等角度对汇编语言程序设计课程的教学方法进行研究,重在体现工程教育专业认证的以学生为中心、成果导向、反向设计、正向实施、周期性评价、持续改进、实质等效的理念。最后,对近两年的学生成绩进行对比分析,以验证汇编语言程序设计课程教学方法研究的效果。
参考文献:
[1] https://www.icourse163.org/course/UESTC-1002047009
[2] 肖剛强, 张晓艳, 王艳娟. 汇编语言程序设计[M], 清华大学出版社, 2011.
[3] 陈璨, 李林, 任旭虎. 汇编语言在大学生能力培养中的研究与探索[J]. 实验科学与技术, 2017, 15(6):172-174.
[4] 刘向荣; 吴晓洁. 专业认证导向下我国高校工科专业培养目标设定研究——以我国高水平大学为例[J]. 河北工业大学学报(社会科学版), 2018, 10(01):84-89.
[5] 熊书明, 王良民, 曾宇,等. 基于程序设计的“汇编语言”课程教学方法[J]. 电气电子教学学报, 2013, 35(6):66-68.
[6] 解志坚, 张引琼, 陈刚. 汇编语言程序设计教学方法的探讨[J]. 电脑知识与技术, 2015, 11(32):89-91.
【通联编辑:王力】