李山山,刘敬晗,全成斌
(清华大学 计算机科学与技术系,北京 100084)
计算机专业数字逻辑实验教学探索
李山山,刘敬晗,全成斌
(清华大学计算机科学与技术系,北京100084)
摘要数字逻辑在计算机专业的课程体系中占据着重要的基础地位,是一门实践性很强的课程。课程的教学和实验有着计算机专业的特点。国内各高校在课程教学和实验的具体实施过程中采用了不同的思路和方式。文章结合了课程需要和创新性需求,介绍了清华大学计算机系实验教学中的一些具体实施方法和探索,为课程提供了一些建设性的建议。
关键词数字逻辑;实践教学;课程体系;实验创新
数字逻辑课程是电子信息类专业的基础必修课,是各个专业的入门硬件课程,在课程体系中起着支撑作用。数字逻辑课程的主要内容是数字逻辑电路的分析与设计,分为组合逻辑和时序逻辑两个主要部分[1]。由于课程的主要理论知识都是在硬件电路的基础上进行讲解的,因此数字逻辑课程实验是课程教学的一个重要环节,只有有了有效的实践环节才能保证理论知识的真正掌握,让学生能够灵活地进行数字电路的设计和分析。
1计算机专业数字逻辑课程的特点
对于计算机专业来说,数字逻辑课程是计算机组成原理、系统结构、嵌入式系统等课程的先导课,有着很重要的基础支撑作用[2]。相对于其他电子类专业来说,数字逻辑课程在计算机专业的课程体系、教学内容和实验环节上有着自身的特点。
1.1数字逻辑是整个课程体系的基础之一
传统的计算机专业课程体系的层次分为计算机专业基础类课程、计算机软硬件理论基础类课程和计算机应用技术类课程[3]。该层次是按照课程的内容和应用来划分的。从目前比较强调计算机系统能力培养这一角度出发,计算机课程可分为计算机系统基础课程、重组内容的核心课程和侧重不同计算系统的若干相关平台应用课程[4]3个层次。不管是传统的层次还是系统能力培养的角度,数字逻辑都是一门基础课程,被放到课程体系的重要位置。从课程内容和应用来说,数字逻辑以离散数学为理论基础,是计算机硬件系列课程的入门和起始,向后衔接了计算机组成原理等课程;从系统层次来说,数字逻辑是计算机底层系统具体实现的基础,为计算机软硬件系统理论提供底层硬件支持。
1.2数字逻辑以计算机硬件设计为目标
计算机专业教学不仅仅要求学生会使用计算机,还要求能够理解计算机系统硬件的工作原理,并能够设计计算机系统。这是计算机专业区别于其他专业的一个主要特点。因此,数字逻辑课程的教学是以计算机硬件设计为目标的,实验教学过程中也会比较偏向计算机相关部件的介绍,比如算术逻辑单元ALU、寄存器堆的设计、状态机等,为后续计算机组成原理课程提供基础[5]。
1.3以系统设计为主的教学以及实验内容层次跨度大
数字逻辑课程安排的内容从基本的门电路到复杂的系统设计都有所涉及,课程内容以及实验安排都有着比较大的跨度,要求学生能够理解基本的电路理论知识,更重要的是能够设计和分析数字电路。在具体的教学和实验过程中,门电路的内部构成,比如三极管如何工作等内容,并不作为主要的介绍对象,只需要学生了解即可;而高层次的电路系统设计则被作为一个重要内容,如何分析和设计这些电路是课程和实验主要关心的内容。
1.4数字逻辑是理论和实践结合的课程
数字逻辑课程的主要内容是介绍一些具体的数字电路,包括组合逻辑电路和时序逻辑电路,其理论知识都有着实际对应的硬件电路实现。因此,数字逻辑是一门实践性很强的课程,如果没有实际的动手操作过程,是很难更好地理解课程中的理论知识的。
2数字逻辑实验教学
由于实验是数字逻辑课程不可或缺的组成部分,各高校的数字逻辑课程基本上都安排了相应的实验教学内容,根据具体情况不同,所使用的实验模式、实验技术和实验内容有所不同。
2.1实验模式选择
传统的实验模式是使用具体的实验硬件设备,学生通过在具体硬件设备上操作来完成实验内容。目前,国内有很多高校和厂家都有相应的实验设备。另外一种实验模式是采用虚拟化的方案,利用计算机仿真、虚拟现实等技术对实验教学内容进行模拟,从而达到降低实验教学成本,提高教学质量的目的[6]。目前,国内有很多所高校都在进行这方面的尝试[7]。它可以通过网络完成远程教育、网络教学的实验教学任务[8]。通过虚拟化实验可以解决实验经费、实验设备不足等问题,并且实验更新也比较方便快捷,但是虚拟化实验有着比较严重的问题:学生对具体硬件电路没有切身体会,缺乏直观印象;虚拟实验很难准确地仿真实际硬件工作情况,比如毛刺的产生、按键的抖动等;通过模拟,学生难以对硬件进行调试,无法培养他们的实际操作能力。
对于数字逻辑课程的学生而言,因为是初次接触硬件,对硬件还没有直观的了解,缺乏切身体会,所以实际的硬件操作是非常必要的。在课程实验中,我们选择了传统的实验模式,使用具体真实的硬件实验设备,强调实际动手操作的过程,帮助学生更好地建立起硬件的概念,同时作为辅助,实际硬件实验之前,使用仿真软件进行实验的模拟,提高实验的效率。
2.2实验技术与设备
目前,国内高校的数字逻辑实验教学中使用的硬件设备主要采用两种方式:1)传统的使用小规模通用逻辑器件,比如74系列的芯片进行电路搭建拼装实验,要求学生按照实验内容根据给定的芯片进行逻辑设计[9]。这种方式需要学生设计并实际动手连接电路,同时使用仪器进行调试,有着很好的亲身体验过程。通过这一过程可以很好地提高学生的操作和调试能力,但是由于是给定的芯片,学生的设计受到一定的限制,限制了自由发挥的空间。2)采用可编程芯片进行实验。在EDA软件平台上使用硬件描述语言进行数字电路的设计,由EDA工具自动完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作[10]。使用这一方式可以使学生摆脱传统方式中繁琐的物理连线与查错,同时逻辑设计及实现有了更自由地发挥空间,可以进行更高层次的设计。但是这一方式由于主要是在软件上进行设计,使学生缺乏对实际硬件电路的直观认识,并不利于学生动手能力的培养。
这两种方式各有优缺点,第一种方式是第二种方式的基础,只有有了实际的硬件直观印象和动手能力,才能更好地进行第二种方式的设计。因此,在实际的实施中,所使用的实验设备上既保留了小规模的电路搭建实验,也引入了可编程实验。
2.3实验部署
在具体的实验安排部署上,主要遵循从易到难,从门电路到复杂电路的设计规律,实验内容也分为组合逻辑和时序逻辑两个方面,都会有加法器、计数器等经典实验内容。所安排的具体实验内容和具体实验操作有一定的差别,采用实际硬件设备的一般会安排仪器使用和门电路特性实验,采用可编程器件的都会安排一些设计性比较强的实验内容。
3数字逻辑实验实施
在数字逻辑课程实验教学中,针对学生的学习层次和兴趣,结合计算机专业特点和课程需要,我们对数字逻辑实验的课程体系、实验内容等进行了一系列的改革和探索,实验教学过程强调层次化教学,强调创新能力和系统能力培养。
3.1课程体系
在课程体系上,设置了不同的实验和理论课程,如图1所示。
图1 数字逻辑课程设置
开设了数字逻辑实验课,将实验从理论课中分离出来,形成一门独立的实验课程。该课程依托于理论课程,专注于数字逻辑的基础实验内容,要求所有的本科生都必须选修,通过该课程可以帮助学生夯实数字逻辑基础,为今后的专业课程,如计算机组成原理等课程学习打下基础。
在理论课程的设置中,为了满足学生对数字逻辑的不同需求,设置了两个不同层次的课程,一门是数字逻辑课程,为传统的教学内容,满足基本的专业教学需要;另一门课程是数字逻辑设计课程,针对那些对硬件设计感兴趣的学生,不仅包含了数字逻辑的内容,而且增加了很多课程设计,需要学生投入较多的精力,完成一些复杂的实验内容。这两门课程在教学计划上是并列的,学生只需要选修一门即可。
3.2实验设置
基于上述课程设置,在实验内容的设置上各门课程有着各自的需求和特点,下面主要介绍各课程的实验安排与实验设备。
3.2.1数字逻辑实验
数字逻辑实验课程是学生的必修环节,也是学生的第一门硬件实验课程。在实验教学中主要强调基础实验内容和实际动手操作能力,培养学生科学的实验方法和良好的实验习惯,因此,在实验安排上设置了很多插接线路的内容,要求学生使用仪器进行硬件调试,在实验过程中掌握一般的数字电路设计和调试方法;同时也设置了一部分可编程器件实验,让学生接触一些先进的硬件设计方法。实验内容安排如表1所示。
实验设备采用我们自行设计的硬件设备,如图2所示。该硬件设备整合了小规模通用逻辑器件的连线实验与可编程逻辑器件实验,采用了方便简捷的连线方式,结构简单明了、操作方便、实用性强,非常适合于进行数字逻辑基础实验。
表1 实验内容安排
图2 数字逻辑实验设备
该实验设备保留了74系列芯片的实验内容,让学生通过实际搭接电路对硬件操作有直观认识,同时要求学生在实验预习时使用仿真软件对设计的电路进行仿真。在连线方式上放弃了以往面包板连线的方式,采用成品连接端子和连接孔,不需要学生再进行剥线,线路连接起来也更加方便。我们在实验设备上加入了可编程逻辑器件,实验教学中也引入了相应的实验内容,要求学生使用可编程器件完成通用逻辑器件的实验,体会两种设计方式的区别。
3.2.2数字逻辑
数字逻辑课程是传统的理论课程,适用于所有的本科学生,由于已经有了数字逻辑实验课程,因此课程只安排了一个课程设计“彩灯创意无限”。该课程设计是一个创新创意实验,要求学生使用发光二极管或灯阵完成一个有可展示度的设计[11],强调设计的创意。在课程设计中,学生可以使用实验设备上提供的点阵,也可以自己制作电路板。学生通过彩灯实验,完成了很多精彩的实验,如贪吃蛇、数字魔方、3D立体图形等。
3.2.3数字逻辑设计
选修数字逻辑设计课程的学生大部分都对硬件设计有兴趣。课程除了更深入的理论课程教学以外,课程的后半时段专门安排为实验课,让学生进行一些复杂的数字电路实验设计。在实验过程中也是采用具有更大规模可编程逻辑器件的实验设备,如图3所示。该实验设备为远程硬件统一平台[12],有着丰富的资源和接口,可以让学生有很大的设计自由度。
图3 硬件统一平台
在具体的实验教学中,先期安排几个简单的、基本的实验内容,包括点亮数字人生、VGA显示、键盘输入,主要目的是让学生熟悉实验设备。然后,将学生分组进行课程设计实验,具体实验内容是学生自主设计的,要求他们充分发挥自己的创造性和想象力,完成一个较大规模的数字电路设计。在实验过程中,包括选题、方案设计、具体实验各个方面,都需要教师进行针对的指导,以便引导学生顺利地完成实验设计,因此实验教师的工作量较大。通过这几年的实验教学,学生完成了很多创新性的内容,比如图像识别、音频播放、游戏、智能车等,使学生的硬件设计能力得到了显著的提升,同时,课程也深受学生的欢迎。
3.3实验教学效果
在实验教学的改革和探索中,根据学生的特点对学生进行不同层次的培养,在数字逻辑实验课程中巩固了基础内容,在数字逻辑设计课程中对有兴趣的学生进行更高层次的培养,在数字逻辑课程中通过创意实验来提高学生对硬件的兴趣,实验教学的整体水平得到了提高。通过几年的教学,学生的计算机硬件设计能力和学习兴趣都有了普遍的提高,对于后续课程的帮助是很大的。在计算机组成原理课程中,学生反映数字逻辑课程的实验对他们完成组成原理课程实验起到了很大的作用,尤其是选修了数字逻辑设计课程的学生在以后的实验中更显得游刃有余。
4结束语
数字逻辑是一门实践性很强的课程,在计算机专业的课程体系中占据着重要的基础地位,课程的教学和实验有着计算机专业的特点,因此,我们在实验教学过程中需要不断地探索和改革,通过不同的课程实验适应学生的需求,从而更好地衔接后续的专业课程,形成一个系统的实验教学体系,培养学生的计算机系统综合能力。
参 考 文 献
[1]王尔乾,杨士强,巴林凤.数字逻辑与数字集成电路[M].北京:清华大学出版社,2002.
[2]李永华,李国.计算机专业《数字逻辑电路》实验教学探讨[J].实验室科学,2008,11(1):37-38.
[3]邹金安,林建兵.计算机专业课程体系建设的研究与实践[J].高教论坛,2009(1):50-52.
[4]王志英,周兴社,袁春风,等.计算机专业学生系统能力培养和系统课程体系设置研究[J].计算机教育,2013(9):1-6.
[5]唐志强.计算机专业数字逻辑实验的改革与创新[J].实验室研究与探索,2013,32(10):182-184.
[6]孙建国,武俊鹏,张国印,等.数字逻辑虚拟实验教学研究[J].计算机教育,2009(8):87-89.
[7]曾正军.基于Web的数字逻辑虚拟实验平台的设计与实现[J].计算机时代,2006(1):32-33.
[8]宋善德,何力,欧阳星明,等.数字逻辑虚拟实验系统的研究与设计[J].计算机工程与科学,2004,26(7):79-81.
[9]林小平,刘艺.开设“数字逻辑”综合设计性实验的探索[J].广东工业大学学报(社会科学版),2002,2(4):52-54.
[10]吴淮,吉家成,米源.高校《数字逻辑》实验教学探讨[J].实验科学与技术,2013,11(6):284-286.
[11]田淑珍,杨士强.在硬件实验中培养学生的创新实践能力[J].计算机教育,2012(19):39-41.
[12]全成斌,管晓培,李山山,等.计算机硬件实验统一平台设计[J].计算机教育,2008(18):3-5.
Explorations in Circuit Logic Experiment Teaching for Computer Specialty
LI Shanshan,LIU Jinghan,QUAN Chengbin
(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing10084,China)
AbstractCircuit logic is a fundamental course of computer curriculum and it needs much practice in the course.The teaching and experiment of Circuit Logic has its special characteristic for the computer specialty.Domestic colleges and universities deploy the experiment teaching in various ways for this course.This paper lists some explorations for course’s innovation requirements and gives some helpful suggestions in the course experiment teaching.
Key wordscircuit logic; practice teaching; curriculum system; experiment innovation
收稿日期:2014-08-01;修改日期: 2014-09-26
作者简介:李山山(1979-),男,硕士,工程师,主要从事计算机体系结构研究与计算机实验教学。
中图分类号G642.423;TN79+1
文献标志码A
doi:10.3969/j.issn.1672-4550.2016.02.037