“计算机硬件技术基础”课程教学改革

2014-07-05 09:41昱,徐彬,李
电气电子教学学报 2014年6期
关键词:汇编语言计算机硬件芯片

张 昱,徐 彬,李 封

(东北大学 计算中心,辽宁 沈阳110819)

“计算机硬件技术基础”(以下简称“硬件技术”)是各高校面向非电类理工科专业开设的计算机基础课程,学生受众极广。这门课程主要依托8086 处理器讲授计算机的系统结构和汇编语言程序设计,具有理论性强、概念抽象以及知识点繁杂等特点。所以,从教学的角度上看,该课程是属于偏难的一类课程。本文尝试针对目前课程教学中普遍存在的问题作一梳理,并探讨课程改革之道。

1 目前存在的问题

笔者经过多年的“硬件技术”教学,发现目前该课程教学过程中存在着很多问题。

(1)教学内容组织不合理。比如将8086 的结构放在前面章节讲解,学生会感到理解起来十分吃力,因为此时学生对于硬件尚无任何概念,便直接讲授系统结构,效果可想而知。所以,重新梳理教学内容,使学生更好地掌握理解所学知识十分必要。

(2)教学及考核方式不合理。由于课本中的很多知识点均已过时,学生掌握了这些知识并不能有效地运用到实际中去。应该教给学生的是方法,而不是死知识。所以无论是教学方式还是课程考核方式都应该改革。

(3)实验环节设置不合理。“硬件技术”课程本身是一门实践性很强的课程,但是由于课程讲授的CPU 以8086 为主,并且很多高校并不具备硬件实验条件,造成目前的“硬件技术”实验基本以汇编语言程序设计和简单的接口芯片程序编写为主,少数高校虽拥有实验箱等实验设备,但实验效果一般。所以改变目前的实验设置尤其必要。

2 课程理论部分改革

2.1 课程组织

“硬件技术”课程目前的内容组织已经沿袭了很多年,从“硬件基础知识”、“8086 基本结构”再到“汇编语言设计”、“典型接口芯片”,各校对该课程的组织基本大同小异。这种组织方式的优点是前后有序,基本可以保证学习新的内容前学生已学习了必需的预备知识。然而现实情况是学生在学习该课程之前只接触过“计算机基础”或“程序设计”等少数计算机课程,硬件基础知识储备薄弱,学习难度较大。此外,目前的“硬件技术”内容无法与实际相联系,学生学习完本门课程之后,无论是汇编语言程序设计还是硬件设计,都不知道应用在何处。

解决这一问题的办法是改革课程的内容组织,做到精简内容,突出实用[1]。我们大胆地摒弃了那些相对独立且面临或已被淘汰的技术知识点,突出一些现在仍在应用的知识。如在存储器一章中,有关存储器的扩展知识虽然在之前的教学中一直处于较为重要的地位,但是由于现今的硬件设计中早已不再有存储器扩展的需求,所以此类知识点应该放在自学范围内,不必精讲。而像定时器等现在仍在广泛使用的接口芯片,应着重讲述其原理知识,除了教材中的8253 定时器,应多介绍现阶段广泛使用的一些定时器芯片的用法,不应使学生拘泥于一种芯片的使用。

2.2 教学组织

“硬件技术”课程的课堂教学组织也需要进一步改革,应从传统的理论教学逐步转向应用教学。教师在课上,不应以讲授理论知识为主,而是教会学生如何应用知识。要做到这一点,必须在教学设计上以应用任务作为驱动,采用实例教学,不应过度追求面面俱到的知识讲述。

以汇编语言程序设计为例,教师在讲授时可以不按部就班讲授汇编指令,而是直接以某个应用任务为驱动,讲解一个完整的汇编程序,遇到新的指令再对其进行深入讲解,这有助于学生更好地理解汇编指令及其应用。

2.3 计算思维的应用

计算思维最早见于文献[2],该文指出:“计算思维不仅仅属于计算机科学家,这种思维在不久的将来应成为每一个人的基本技能”。近年来,随着计算思维在计算机教育界的普及,越来越多的基于计算思维的教学思想和方法应用到了计算机硬件教学中,其中层次化、模块化的思想是最贴近计算机硬件课程的计算思维方法。无论是汇编语言程序设计还是计算机系统结构的学习,都离不开层次化、结构化的设计思想。因此,教师在教学活动中应该尽力对学生进行这种思想的启发。例如,在汇编程序设计中,教师可以安排一个较为大型的综合类程序设计,并由教师划分好模块,分配给不同的学生编写,最终由学生进行统一的整合调试。学生在此类练习中会潜移默化地接受这种设计思想,有助于其更好地理解所学知识。

2.4 课程考核

以往的“硬件技术”课程考核均以笔试为主,近年来也有不少高校尝试以机试方式进行考核,但考核的内容基本不变。笔者发现,现有的硬件考试题库均是针对计算机专业学生设置的,对非电类专业学生而言题目过难,由此造成硬件课程的通过率很低。实际上,针对非电类专业学生开设硬件课程的真正意义在于使学生通过学习此课程能够掌握一种思维方法并进行规范的实践训练,最终能应用其专业解决相关领域的问题。因此,“硬件技术”课程的考核也应以考核学生的应用能力为主,而不应拘泥于考查知识点的掌握程度。笔者在近年来的教学中多次采用知识点考查和应用能力考查相结合的方法,取得了较好的效果。

应用能力考查可贯穿于课程教学的始终,教师可在课后布置一些设计类任务给学生完成,任务可由一个小组共同完成。教师对所有的任务进行评分以记录成绩,并针对完成度高的作品进行点评。学生收到这样的反馈后会在后续的任务中更加用心,持续锻炼他们解决问题的能力和团队合作精神,并同时强化了模块化的设计思想。

3 课程实践部分改革

3.1 软件仿真辅助教学

“硬件技术”课程的很多知识比较抽象,学生难于理解。例如,学习输入输出与接口技术时会要求学生用汇编语言对接口芯片进行初始化,可是即使学生编写出了正确的程序也无法验证结果是否正确。针对非电类专业学生来说,很难配备专业的实验箱辅助教学。我们的课程教学团队经过多年的实践,采用了用软件仿真来模拟硬件的辅助教学模式,极大地提高了学生的学习积极性。

我们主要采用两款模拟仿真软件:一款是8086模拟器EMU8086 用于汇编语言的编辑、汇编和调试,虽然我们也同时讲解命令行下的汇编器用法,但是这种IDE 环境使用更加方便,非常适合初学的学生;而电路分析与实物仿真软件Proteus,可直接支持8086CPU 和其他课程要求的接口芯片的仿真,其Demo 版本提供的8086 仿真电路图完全可以直接应用到教学中。因此,我们针对该电路进行了多个典型接口芯片的实验设计[3]。图1展示了其中一个利用虚拟仪器验证8253 定时器程序的示例。学生在编写完程序后可直接进行验证,这对学生理解接口芯片的应用十分有益。

图1 8253 定时器仿真示例

3.2 网络平台辅助教学

目前,充分利用网络展开教学方法和教学技术的改革是一个重要的方向。在线学习是一种无监督的自主学习模式,教师通过共享课程,提供在线资源,学习者根据自己的知识基础和认知习惯,自主选择内容,完成学习过程。“硬件技术”课程因其课程特点要完全实现自主学习还比较困难,利用网络课程平台来辅助课程的实践教学是其中的第一步。

我们的课程教学团队围绕着在线的课程教学平台做了大量的工作,包括教学内容的电子化、题库的建设和作业的管理等。我们在课程资源组织上体现基于任务驱动的教学设计,遵循学习、巩固、提高的认知规律,将教学过程分解为学习目标、学习、练习、测验和教学支持等环节,依据此过程分类组织教学资源。此外,教师的作业布置、任务分配和随堂测试等教学活动均是在网络教学平台上完成的。图2展示了平台支持的教学模块。所以,网络平台既实现了教学资源的共享,又帮助教师完成了与学生的教学互动,极大地提高了教学的效率。

图2 计算机硬件技术基础教学平台

4 结语

本文介绍了本课程教学团队在“计算机硬件技术基础”课程上的一些改革经验。近三年来,我们不断总结新的教学方法和教学观念,核心目的在于使学生能够通过该课程学习到计算机硬件的设计思想和解决问题的手段。教学实践表明,遵循着上述的教学改革,学生学习本课程的积极性不断提高,教学效果稳步提升。

[1] 陈立刚,徐晓红.“计算机硬件技术基础”教学内容改革[J].南京:电子电子教学学报,2013,35(2):30-32.

[2] Wing J M. Computational Thinking[J]. Communication of the ACM,2006,49(3):33-35.

[3] 焦明海等. 计算机硬件技术基础实验指导与习题讲解(第2版)[M]. 北京:清华大学出版社,2012.

猜你喜欢
汇编语言计算机硬件芯片
芯片会议
基于Unity的计算机硬件组装仿真教学系统设计
关于射频前端芯片研发与管理模式的思考
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
汇编语言与C语言的混合程序设计技术研究
浅析基于医院特点的计算机硬件维护研究
计算机硬件设备驱动程序分析
中职计算机硬件课程教学策略探讨
提高《汇编语言程序设计》教学效率的思考与实践
多通道采样芯片ADS8556在光伏并网中的应用