您好, 访客   登录/注册

结合学生专业的高级语言程序设计教学

来源:用户上传      作者:

  【摘 要】高级语言程序设计是一门计算机类专业的基础课程,本文以軟件工程专业为例,分析了该专业后修课程“微型计算机原理与接口技术”对该专业学生学习本课程的影响。提出在学习高级语言程序设计时,结合本专业特点,设计一些小型经典案例,帮助学生更深层次的理解该课程,更好的从事各类软件的设计、开发、维护、管理工作。
  【关键词】高级语言程序设计;微型计算机原理与接口技术
  【中图分类号】TP311.5 【文献标识码】A
  【文章编号】2095-3089(2019)13-0017-02
  高级程序设计语言为软件工程专业的学生学习本专业后续课程提供了解决方法与实践工具。优秀的软件设计开发者非常注重程序效率,而效率往往与计算机硬件知识和算法紧密相关。因而学习高级语言程序设计时,需设计一些后修课程的小型经典案例,帮助学生更深层次的学习该课程。
  一、结合微机原理与接口的教学
  计算机随处可见,但对于初学高级程序设计语言学生,并不一定了解计算机是如何工作的,只有学生理解计算机工作的原理,才能将程序的本质看清楚,激发学生学习编程的激情。对于高级程序设计语言的初学者,往往只是知道如何定义初始化一个变量,但究竟变量是如何存储数据的并不清楚,教师在讲解变量的知识时,应讲解一些存储器的基本知识。
  存储器是计算机系统中的记忆设备,用来存放程序和数据。对存储器的要求是容量大、速度快、成本低。为了解决这三方面的矛盾,计算机采用多层次的存储系统,按存取速度快慢:寄存器> Cache > 内存 > 硬盘 > 光盘 > 软盘。可以结合微机原理与接口中存储器知识分析以下案例。
  案例1:假设有数组A和B,比较下面两段程序的区别。
  〖XC40.JPG;%30%30〗
  方法1需要访问4次内存,方法2需要访问2次内存。因为大数据放在存储器中,简单局部变量放在寄存器中,由于CPU对寄存器的存取速度高于内存,所以方法2的效率更高。如果学生仅仅知道使用变量名来存储数据,但不知道数据究竟存储在哪里,就不能建立变量与存储位置的映射关系,进而难以编写高效率的程序。在讲解这块的知识时候,可结合存储器的知识进行讲解。
  在学习高级语言程序设计课程中函数这部分时,教师会介绍函数能简化代码量、方便维护、流程清晰明了、易于理解。但相应的教师也应该介绍函数调用会带来额外的开销。因此,需要指导学生合理的利用函数,具体请分析以下案例。
  案例2:分析以下案例
  〖XC41.JPG;%30%30〗
  函数调用时,需要进行参数压栈出栈、寄存器保存、指令跳转等。为了更好的帮助学生理解函数调用带来额外的开销,可以引入微机原理与接口里面中断的知识。两者大体流程相同:现场保护->执行子程序/中断服务函数->恢复现场。
  入口地址:程序是一组指令,第一条指令的地址称为程序的入口地址。
  中断和断口地址:一个程序在执行的过程中去执行另一个程序,称之为中断,程序中断时的下一条指令的地址称为程序的断口地址。
  保护现场和恢复现场:如果主程序中断时,有些寄存器还存放着中间结果,而子程序很有可能要占用这些寄存器,那么就要将主程序的中间结果存入其他地方(比如堆栈),把寄存器“让给”子程序,这个过程就是保护现场。待子程序/中断服务函数完毕,再将主程序的中间结果放回寄存器,这个过程就是恢复现场。
  子程序/中断调用过程。当主程序转去执行子程序/中断时,首先将断口地址压入堆栈保存,然后将子程序的入口地址送入PC。进入子程序后首先保护现场,然后执行子程序,子程序执行完毕后,恢复现场,然后将端口地址从栈顶送回PC。
  二、小结
  不同专业的学生学习高级语言程序设计,会对这门课程有不同程度和方向的应用,对于软件工程专业同学而言,想要成为一名优秀的软件设计开发者,仅仅掌握语法知识是不够的,需要掌握硬件知识以及算法设计技巧。教师授课时,可以采用小型经典的案例调动学生学习的积极性,提高教学质量,取得良好的教学效果。
  参考文献
  [1]宋维虎.我国职业教育信息化服务的内涵、层次及其发展路径[J].教育与职业,2017,(02):60-64.
  [2]张家军,靳玉乐.论案例教学的本质与特点[J].中国教育学刊,2004,1(1):48-50.
  [3]马晓敏,姜远明,胡光.试论计算机案例教学的新思路[J].教学与管理:理论版,2007(2):133-134.
  [4]徐安凤,黄河涛.浅析案例教学在高校计算机语言课中的应用[J].教育与职业,2005(14):38-40.
  课题项目:本文系南京邮电大学通达学院教学改革项目“结合专业课培养学生高级语言程序设计的应用能力”(项目号:JG20318028)南京邮电大学教学改革项目“独立学院基于应用型人才培养的程序设计语言课程教学改革”(项目号:JG02115JX14)阶段性成果。
转载注明来源:https://www.xzbu.com/1/view-14844661.htm