《汇编语言程序设计》课程建设报告.docx
《《汇编语言程序设计》课程建设报告.docx》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》课程建设报告.docx(11页珍藏版)》请在冰豆网上搜索。
《汇编语言程序设计》课程建设报告
北京市高等学校精品课程
建设报告
所属学校
北京理工大学
课程名称
汇编语言程序设计
课程层次(本/专)
本科
所属一级学科名称
工学
所属二级学科名称
电气信息类
课程负责人
张雪兰
联系电话
68912420、68912431
申报日期
2007年5月15日
《汇编语言程序设计》课程建设报告
一、课程开设目的
汇编语言是当今能够最大限度地发挥计算机硬件特性,并且满足苛刻的实时处理要求的最有效的语言。
在对程序的执行时间和占用空间要求很高、控制硬件底层的场合,必须要使用汇编语言才能满足要求。
因为无论CPU的速度如何加快,内存容量如何增长,空间、速度及性能对于有竞争力的软件来讲永远都是十分重要的。
另外,汇编语言还可以与高级语言混合编程,以发挥各自的优点,提高开发和执行效率。
但因为汇编语言是一种面向机器的符号语言,相对于高级语言来说不易掌握,因此,使用汇编语言编程对程序设计人员极具挑战性。
综上所述,培养计算机专业及其相关专业的学生掌握汇编语言程序设计是高校计算机系的重要教学任务之一。
二、课程性质、地位、目标
汇编语言程序设计是高校计算机科学与技术专业本科生的一门必修的专业基础课,是计算机操作系统等其它核心课程的必要先修课。
通过该课程的学习,培养学生设计和编制汇编语言程序的能力,熟悉要求时效性高、直接控制硬件的软件设计基本方法;掌握调试工具,准确分析程序错误,甚至剖析、优化用其他语言书写的可执行程序的关键代码;加深学生对计算机内部运行机制的理解,为后续课程打下良好基础,并对各门课程之间的知识融会贯通等。
三、教学内容建设及课程特色
在教学内容改革与建设方面,既要体现基础性、兼容性,又要注意与时俱进;既要满足教学基本要求,又要与科研相结合。
由于汇编语言本身的特点,学习汇编语言离不开实际的计算机系统,本课程选择当今广为流行的Intel80x86及Pentium为CPU的微型计算机系统及其兼容机作为硬件平台,深入讨论汇编语言程序设计的相关内容。
众所周知,在CPU方面,Intel系列已经经历了从16位的8086/8088/80286到32位80386/80486/Pentium(II,III,IV),直到64位的Itanium。
在指令集、寄存器扩充的同时,运行模式也从实模式发展到保护模式。
因此,本课程既要兼顾以DOS环境为主的16位实模式程序设计,以满足目前大部分控制硬件的程序要求;也要体现时代性,介绍以Windows为主的32位保护模式程序设计。
在教学与科研结合方面,由于主讲教师参加的研究项目中有许多与底层硬件相关,例如反汇编逆向分析、程序性能优化、高级语言与汇编语言的混合编程等应用,积累了丰富的汇编语言工程开发经验,从而为讲授课程和编写教材提供了丰富的实例,也能更好地深入浅出地讲解知识,便于学生理解。
为了更好地服务教学,我们于2005年4月出版了《Windows汇编语言程序设计教程》(电子工业出版社),于2006.4出版了《汇编语言程序设计---从DOS到Windows》(清华大学出版社), 为在授课内容和实验环节方面更好地与目前主流计算机相吻合,完全过渡到32位的Windows,使学生能够跟上时代的发展,为学生把知识转化为解决前沿科技问题奠定基础。
这必将会推动教学质量的进一步提高,为使学生学有所用、把所学知识转化为生产力做出应有贡献。
本课程特色主要表现在以下方面:
(1)主讲教师经验丰富,梯队合理,在汇编语言方面出版的相关书籍及参与的相关科研项目多次获部、市级奖励,所以更能深入浅出地讲解知识,便于学生理解。
(2)利用网络技术,方便师生交流。
建立相应的课程网站,把教学大纲、课件、实验、习题及参考答案、教师的E_mail地址等相关材料放在网上,方便师生间的交流。
(3)紧跟时代步伐,与目前的主流计算机应用环境相结合。
采用MASM和VisualC/C++两种开发环境,提高语言联合编程能力。
(4)多种教学方法结合,课堂实例丰富,激发学习兴趣,提高学生综合应用知识的能力。
四、教材建设
本课程组深知教材对课程建设的重要性,因此十分注意教材建设工作。
随着计算机硬件系统的升级和操作系统的换代,课程组注意不断更新教材,补充新内容,共出版与本课程相关教材6本:
其中张雪兰教授主编的《Intel80x86/Pentium汇编语言程序设计(第二版)》,获2006北京高等教育精品教材、兵工高校优秀教材二等奖,被列为21世纪高等院校计算机系列课程教材;《系统软件与软件工程技术基础》(含8086/8088汇编语言程序设计)获电子部级优秀教材二等奖;《系统软件开发工具》获校中青年优秀教材奖等。
为了教学完全过渡到32位的Windows汇编语言程序设计,课程组张雪兰、谭毓安、李元章老师编著了《汇编语言程序设计---从DOS到Windows》,于2006.4由清华大学出版社出版;谭毓安、张雪兰老师还编著了《Windows汇编语言程序设计教程》,于2005.4由电子工业出版社出版。
五、教学方法、手段与效果
1.应用现代教育技术提高单位课时的知识容量,弥补学生在课堂理解上的个体差异
利用网络技术,建立相应的课程网站,把教学大纲、课件、实验、习题及答案等教学相关材料挂在网上,帮助同学们课余自学、预习和复习。
同时,把教师的E-mail地址公布给学生,方便师生间的交流。
多种方法的结合,有效提高了教学效率和效果。
课堂上注意应用现代教育技术和多种教学手段,采用先进的多媒体教学技术,从早期的投影胶片到CAI课件、动画、电子教案、网络课程都由教师自主制作,不仅使学生感到生动有趣、易于理解,也打破了课堂板书授课的唯一方式,使学生可以在课余时间通过课件等方式灵活自主学习、复习,弥补了学生在课堂上理解的个体差异,提高了教学质量和单位课时的知识容量。
2.利用计算机系统随堂演示程序,消除学生对汇编语言的恐惧心理
在教学方法上,积极采用启发式、与实践相结合等教学方法,有效地调动学生自主学习的积极性,激发学生的潜能。
由于汇编语言程序设计是一门实践性很强的课程,我们还充分利用多媒体教学环境中的计算机系统,对程序实例、程序调试等采用课堂演示的方法,甚至于在机器上随堂编写小程序现场运行,打破了汇编语言的神秘感,消除了学生对汇编语言难以掌握的恐惧心理,使同学们更直观地更快地理解和掌握知识,也有助于激发学生对新知识和新技术的求知欲,提高教学质量。
3.教学效果
由于注意采用多种教学手段和方法组织教学,提高了课程的教学效果,得到了学校、学生、后继课程教师的高度评价。
该课程于2005年被评为北京理工大学的精品课程,负责人张雪兰教授2000~2004年被聘为校级骨干讲员,曾四次获得校级教学成果奖以及“三育人”奖,主讲的本科生《汇编语言》课程于1999年获计算机系本科教学奖。
4.考核方式
考核成绩采用期末闭卷考试和平时作业、实验相结合的方式,期末成绩约占总成绩的80%,从而充分调动学生参预实验的积极性,进一步提高学生的实践能力和用汇编语言解决实际问题的能力。
六、教师队伍
在队伍建设中,注意知识结构、年龄结构和梯队建设的合理性。
对于必修课、主干课,我校设立了骨干讲员制度,保证教学质量。
本课程主讲教师张雪兰教授2000~2004年被学校聘为骨干讲员。
另外,我学院自2003年开始实行必修课主讲教师聘任制度,凡在某门必修课程上未给本科生讲满三届的教师,无论年龄多大,资格多老,在其他课程或科研上多么有成就,要想主讲该课,都要参加竞聘,都需要试讲,经过课程专家组无记名投票表决,决定是否聘用,从制度上保证了一门课程主讲教师是目前最适合的教师。
经过这样的聘任制,目前本课程有四人应聘上岗,其中教授1人,副教授2人,讲师1人,他们都是教学经验丰富或大有培养前途的年青教师,是在科研实践中能够运用汇编语言解决实际工程问题的经验丰富的教师,从而达到把科研与教学紧密结合,不断把最新的科研成果充实到教学内容中去,保证教学质量。
另外,课程组还聘用了若干在读研究生作为助教实践,从学生的角度看问题,辅助实验指导等工作,保证了知识结构、年龄结构和梯队建设的合理性。
1.课程负责人简介
张雪兰,女,教授,1953年生。
本课程组负责人。
现任北京理工大学计算机系统结构学科带头人,计算机系统结构研究所所长。
获部级优秀教材二等奖、北京市精品教材、部级科技进步三等奖、兵工高校优秀教材二等奖、全国优秀畅销书(科技类)奖、全国高等学校出版社畅销书优秀奖、校级奖10余项等。
2000~2004年被聘为校级骨干讲员。
正式出版教材13部,发表论文40余篇。
教学经历:
一直在教学第一线工作,教学经验丰富。
主讲汇编语言程序设计、系统软件与汇编语言、系统软件与软件工程、微机接口与汇编语言、计算机网络、Internet技术等课程,特别是“汇编语言程序设计”自1988年以来每年主讲,教学效果好,多次获北京理工大学校级优秀教学成果奖,计算机系本科教学奖。
教学科研成果:
获部级优秀教材二等奖、北京市精品教材、部级科技进步三等奖、兵工高校优秀教材二等奖、全国优秀畅销书(科技类)奖、全国高等学校出版社畅销书优秀奖、校级奖10余项等。
目前负责总装科研项目、承担国家某安全基金项目等。
教材建设:
作者在教学科研基础上,注意教材建设工作,自1985年以来,正式出版教材13部,有关汇编语言方面的主要有:
1Intel80x86/Pentium汇编语言程序设计(第二版),第一作者,北京理工大学出版社,2004.10,获2006北京高等教育精品教材、兵工高校优秀教材二等奖
2《系统软件与软件工程技术基础》,获电子部优秀教材二等奖,第二作者
3与
配套的《系统软件开发工具》获校中青年优秀教材奖,惟一作者
4汇编语言程序设计---从DOS到Windows,第一作者,清华大学出版社,2006.4
5Windows汇编语言程序设计教程,第二作者,电子工业出版社,2005.4
6Intel80x86/Pentium汇编语言程序设计,惟一作者,北京理工大学出版社,2001.6
2.课程组成员简介
(1)谭毓安,男,博士,副教授,博士生导师,1972年生。
现在北京理工大学计算机系系统结构研究所工作。
出版教材5本,发表论文30余篇,获部级科技进步2等奖等。
目前负责国家某安全基金项目、承担总装科研项目等。
教学经历:
主讲汇编语言程序设计、微机接口、计算机安全等课程。
与该课程相关的科研经历:
11992~1994:
硕士论文题目《BIT防病毒卡》,卡上固化的病毒监控程序采用汇编语言程序设计,还分析了大量的机器指令形式的病毒代码
21994~1997:
《UCDOS5.0,6.0,7.0》,UCDOS汉字操作系统的智能拼音输入法、曲线汉字还原程序、字典接口等关键部分均采用汇编语言开发。
是UCDOS启动主界面中的两位署名开发者之一。
该系统在全国范围内的使用率超过80%,至今仍在发挥重要作用
31994~1995:
《CJW中日文字处理系统》,其中的矢量汉字还原程序以及中文文字处理系统WPS的接口,均采用汇编语言开发。
获得部级科技进步2等奖
41995~1996:
负责中科院科智公司横向项目《PDA系统设计》,采用NECV20(与8088兼容)设计PDA原型系统,其中的BIOS部分采用C和汇编语言联合开发
教材建设:
1Windows汇编语言程序设计教程,第一作者,电子工业出版社,2005.4
2Intel80x86/Pentium汇编语言程序设计(第二版),第二作者,北京理工大学出版社,2004.10,获2006北京高等教育精品教材、兵工高校优秀教材二等奖
3汇编语言程序设计---从DOS到Windows,第二作者,清华大学出版社,2006.4
4网络攻防编码设计,北京希望电子出版社,2002.3
5计算机安全的技术与方法,学苑出版社,1994.10
(2)李元章,男,讲师,1978年生。
发表多篇论文,获校优秀硕士论文。
编著教材“汇编语言程序设计---从DOS到Windows”,第三作者,清华大学出版社,2006.4 ,主讲汇编语言程序设计、C语言程序设计等课程。
目前承担国家某安全基金项目、总装某科研项目等。
七、实验改革
由于汇编语言程序设计是一门实践性很强的课程,因此特别注意学生动手能力的培养,除实验占总成绩一定比例的激励条件外,还鼓励学生进行高水平的实验和课程设计。
实验做到人手一机、集中管理与分散管理相结合的方式,给学生一定的自主性。
验收采用现场验收的方法进行,并辅以适当提问,考察实验是否真正由本人完成,在一定程度上避免了拷贝或抄袭现象的发生,提高了学生的实践能力。
教师也特别注重实验改革,不断开设出新的设计性强和具有较高水平的实验,例如我们要求学生使用汇编语言设计并实现一个微型数据库管理及应用系统,其中涉及到模块化程序设计、文件管理、界面设计、结构、宏指令、子程序等技术,是一个综合性很强的实验,初步达到了课程设计的要求(因为学时数所限)。
通过此实验的完成,提高了学生用汇编语言解决实际综合问题的能力,达到了很好的效果,得到了学校与学生的肯定。
本课程组负责人张雪兰教授的《系统软件与汇编语言课程实验改革与实践》获北京理工大学优秀教学成果奖。
八、实验条件及内容
1.实验条件
实验采用集中管理和分散相结合的形式进行,既保证了效果也保证了充分利用闲散资源。
课内16学时上机采用集中管理方式,学院统一安排,在校计算中心进行,保证每人一机,教师及研究生助教现场辅导,现场验收结果。
课外可在计算中心自由上机或自备机器(95%以上同学个人有机器)分散上机,通过电子邮件等方式与老师交互。
2.实验内容
见附件
附件:
《汇编语言程序设计》实验
课程名称:
汇编语言程序设计AssemblyLanguageandProgramming
学分:
1学时:
16
编写教师:
北京理工大学计算机系张雪兰教授
一、目的与任务
汇编程序设计是计算机类专业必修课——汇编语言程序设计课程的配套实践环节。
本实践课程的教学目的和任务是使学生通过实验手段加深对汇编语言知识的理解,培养设计和编制汇编语言程序的能力,熟练掌握汇编语言程序开发方法、开发平台及上机步骤,熟悉为汇编语言程序设计人员提供的系统软件资源的使用方法,了解调试二进制文件的方法。
二、教学内容及学时分配
实验内容及学时分配:
1.(2学时)程序中自定义缓冲区AREA1,其中存放20个已排好序的带符号字型数(至少有3个重复数据),编程序将其传送到自AREA2开始的单元中,要求传送后的数据不重复出现。
2.(2学时)计算杨辉三角形并将前10行显示在屏幕上。
3.(2学时)输入一个整数,找出小于这个整数的全部素数,并将全部素数的个数以及这些素数中最大的一个素数输出到屏幕上。
4.(2学时)设计一个TSR程序。
5.(8学时)设计一个综合程序(以下二选一)。
选择一:
简单成绩数据库管理及应用系统设计
内容:
对以下成绩单管理(30人)
学号(8位)
姓名
(6位)
汇编语言(3位)
组成原理(3位)
操作系统(3位)
汇编语言单科名次(3位)
要求:
(1)实现菜单显示、菜单选择、编辑(录入、插入、修改、删除等)、显示、排序(高→低)、查找、装入数据文件、数据文件存盘、退出功能。
(2)分为两个模块:
主控菜单、其它。
(3)数据用结构定义,并单独存在一个.DAT文件中。
(4)主控程序用为CASE结构。
(5)编辑可以全屏幕也可文本行方式,若为文本行方式,以姓名为关键字,以其它字段为关键字作为可选项。
(6)查找条件以姓名为关键字。
深入学习:
有能力的同学可在此基础上做一个简单通用的数据库管理及应用系统。
选择二:
多模块程序设计
内容:
(1)设计一个包括:
键盘输入、显示、排序、转换、退出程序的主菜单。
(2)从键盘输入10个字型带符号数。
(3)把10个带符号十进制数转换成二进制数。
(4)把10个二进制数按从小到大顺序排列。
(5)把10个带符号二进制数转换成十进制数。
(6)把最大数用十进制数的形式显示在屏幕上
要求:
(1)整个程序用四个模块组成:
主菜单,排序子模块,转换子模块,其它。
(2)主菜单用CASE结构实现。
(3)键盘输入与显示功能分别用宏指令实现。
(4)排序及转换功能分别用子程序实现。
三、考核与成绩评定
根据学生提交的运行结果、源程序以及实验报告并结合学生个人在实验中的表现评定成绩。
成绩分优、良、中、及格、不及格五级。
四、大纲说明
前四个实验必做,第五个选做一个。