边学边干的数字系统课程教学

2020-08-25 07:06谭春娇唐玉华吴明飞王志英
计算机教育 2020年8期
关键词:数字实验系统

陈 微,谭春娇,唐玉华,吴明飞,王志英

(1.国防科技大学 计算机学院,湖南 长沙 410073;2.国防科技大学 教务处,湖南 长沙 410073)

0 引 言

数字系统作为电子计算机系统的基础,是计算机硬件课程系列的专业核心课程。当前,培养计算机系统能力成为各院校计算机专业人才培养的重要目标,培养具有系统观、能够进行软、硬件协同设计的软硬件贯通人才成为后PC 时代计算机专业人才培养的关键[1-2]。因此,数字系统课程的重要性日益突出。

传统数字系统课程往往局限于基本理论知识的掌握和少量课程大作业的实践,缺乏科学系统的课程实验体系和有效的实验过程管理。学生难以将理论知识与实践相结合,数字系统的实际动手开发能力没有得到有效的锻炼。作为实践性很强的专业课程,在边学边干中展开教学,数字系统课程才能真正达到培养学生数字系统设计能力的教学目的。

1 课程的地位与特点

数字系统课程与其他课程间的关系如图1 所示。课程在电路与模拟电子技术、数字电子与数字逻辑、程序设计以及计算机原理的基础上,对数字系统设计的相关知识进行系统讲解,为学习后续课程,如嵌入式系统、计算机体系结构、VLSI 设计等打下必要的基础。

图1 数字系统在计算机专业课程体系中的地位

课程的教学目标是要从基础知识的角度讲解数字系统设计的相关概念、基本原理,从方法学的角度阐述数字系统工程设计中的有关概念,使学生了解数字系统设计过程、主要指导原则及关键技术,并辅以相关实例,从而建立全局、整体的数字系统设计观念。另一方面,课程重在培养学生的实践能力,即实际设计和开发数字系统的能力,因此该课程涉及的知识面广、内容多、实践要求高。

贯彻“边学边干”的教学理念,基于课程的教学目标和重点,科学系统地设置理论教学和实践教学内容,采用有效新颖的教学手段和教学管理模式,培养学生的数字系统设计和开发的能力,是该课程教学中探索的主要方面。

2 课程教学设计

数字系统课程教学内容一般包括理论教学和实践教学两部分。教学内容设计上需要达到的教学目标:①掌握基础理论,理解数字系统设计的基本方法与流程;②边学边干,培养实践动手能力,能够自主设计一定规模的数字系统;③满足不同学生知识与实践层次的学习需求。

2.1 理论教学设计

课程内容应由浅入深、由底向上,覆盖数字系统设计的多个层面如表1 所示。

表1 理论教学内容

理论教学首先概述数字系统设计的基本概念、主流技术等,使学生建立起对现代数字系统设计主要技术和手段的基本认识。硬件描述语言主要介绍Verilog 硬件描述语言的基本概念、语法和规则,以及如何使用EDA 工具进行现代数字系统设计。组合逻辑电路和时序逻辑电路的分析与设计是数字系统设计的核心,学生在此基础上进而掌握一般数字系统的设计方法和步骤。可编程逻辑器件部分主要介绍可编程逻辑器件的分类、原理和应用等。数字系统的建模与结构主要讨论数字系统模型概念、模型与结构的关系、典型数字系统计算模型及其在系统设计应用中常用的衍生方式等。在掌握数字系统设计方法和一般步骤的基础上,学生可以进阶了解数字系统设计中典型的故障检测方法和可测性设计。通过理论课程的学习,学生可以系统地了解数字系统的相关概念、设计方法和流程。

2.2 实践教学设计

实践教学对于数字系统课程而言极其重要,在理论教学之外,课程每周安排2 学时实验讲解课以及2 学时实验辅导课,实践教学内容由与课程授课进度配套的课堂实验和最后的综合实验两部分组成。

2.2.1 课堂实验

目前,本课程共设计12 个课堂实验,分为示范性实验、观察性实验以及设计性实验3 个层次,与理论教学相配合,让学生边学边干,实现理论和实践的结合。每章所配套的课堂实验数量见表1。表2 给出了这些课堂实验与各知识点的对应关系。

表2 课堂实验安排

实验1 为示范性实验,使学生熟悉实验平台,初步掌握EDA 工具的使用方法与步骤。实验2 至实验6 为观察性实验,配合第二章“硬件描述语言”展开。实验7 至实验11 为设计性实验,要求学生根据理论课程中所学的方法,设计满足实验要求的组合逻辑或时序逻辑电路,用硬件描述语言描述,通过仿真验证,在实验平台上下载实现。实验7 至实验11 的实验案例,都是较为典型的组合逻辑电路和时序逻辑电路。实验12 也是设计性实验,与第四章“可编程逻辑器件”相配合。前序实验中,学生用硬件描述语言描述数字系统,验证通过后编程下载至实验平台上。事实上,实验平台本身提供了许多现成的IP核(如算术功能单元、时钟模块、I/O 接口模块、存储器模块等)供集成在各类数字系统中。IP 核的使用可以实现设计重用,缩短数字系统的开发周期。因此,通过实验12,学生能进一步掌握IP 核集成等数字系统设计的重要方法。

12 个课堂实验,由浅入深、由简到难,内容上环环相扣、层层递进,前面的实验为后面的实验打基础。例如,通过数码管译码器实验,学生掌握了数码管的显示控制方法;在计数器实验中,学生在数码管显示的基础上扩展,加入计时控制部分,从而实现按一定的时间间隔计数;通过交通灯实验,学生掌握多个数码管的轮流或分时显示;前序实验的完成分解了数字钟实验的难度,而课堂实验的完成也为后续综合实验的完成提供了保障。

2.2.2 综合实验

在理论课程和课堂实验的基础上,通过综合实验全面考查和提升学生的数字系统设计能力。综合实验要求学生利用课后时间在实验平台上设计实现一个具有一定难度和规模的数字系统,并在实验平台上调试通过。

为了提高学生的兴趣,课程可以提供2 个综合实验项目供学生选择,如数字万年历、贪吃蛇游戏。为了满足对学生不同能力水平的考核,综合实验的实验指导书中明确给出不同成绩等级所要求实现的实验功能。在课程提供的综合实验项目之外,学生也可以自己命题,自主设计难度和规模相当的数字系统,如用俄罗斯方块游戏或吃豆人游戏代替贪吃蛇游戏等。

在综合实验的实验指导书中,教师给出实验功能要求、注意事项以及评分标准。理论课程第5 章—第7 章中介绍的方法与技术,也被要求灵活运用在综合实验中。学生根据所选实验项目的具体要求进行系统总体设计以及模块设计,然后进行硬件代码的开发、调试和系统实现。最后要求学生提交的实验作业包括实验源代码以及详细的实验报告。完整的实验报告包括需求分析、总体设计、模块设计、运行结果、难点和问题分析、总结等内容。

2.2.3 实验平台

虽然理论教学中涉及了基于中小规模逻辑器件的传统数字系统设计实现方法,但课程的重点在于基于EDA 工具和硬件描述语言的数字系统开发实现技术。因此,课程实验均在基于可编程逻辑器件的实验平台上展开。实验平台选择的依据有:①采用主流厂商的可编程逻辑器件,支持主流商用的EDA 开发工具;②满足课堂配套实验和综合实验的需求;③自带丰富的接口,便于各种趣味实验的展开,为学生自主设计实验项目提供资源保证;④提供可扩展口,用于后续外接其他模块和设备进行平台扩展,满足后续扩展实验的需求;⑤具有较高的性价比,保证每个学生都能有一套口袋实验室随时进行实践锻炼。基于上述要求,课程选用一款入门级的实验开发板,如图2 和图3 所示。

图2 实验开发板外观

图3 实验开发板主要模块与接口

该实验开发板选用Xilinx 公司的Spartan6系列的XC6SLX9,同时配置64Mbit 的RAM 和32Mbit 的Flash 资源,以确保资源使用的裕度。表3 为实验板载的基本资源。该实验开发板支持多种层次的实验需要,本课程所有的课堂配套实验以及综合实验均在该实验平台上完成。作为入门级的实验开发板,与此开发板功能类似的实验平台有很多可供选择,性价比都较高,适合供学生人手一块进行课堂和课后练习。

表3 实验开发板资源

3 课程管理与考核

很多教师抱怨学生对实验课不重视,抄袭现象严重,实践教学效果不理想。部分学生的学风和学习态度固然存在一定问题,但作为教师,应该更多地从自身找问题,从教学本身找原因。完善实验管理过程,完善课程考核机制,是提高学生学习积极性,提高教学质量的重要途径[3]。

3.1 加强实验过程管理

实验系列教师缺乏、助教制度不完善是国内院校普遍存在的问题。不少课程的实验课都是交由助教讲课或辅导,而不是由主讲教师或是专门的实验教师承担。很多助教都是研究生,没有经过专门的教学培训,缺乏教学经验。有的助教本身对所辅导的课程并不精通,更有甚者是抱着学习一门课的目的来当助教。因此,实践教学师资力量的薄弱,必然影响到实践教学质量。教师对实践教学的不重视,必然导致学生对实践学习的不重视。

目前,本课程的实践教学由主讲教师亲自担任。课程主讲教师在从事过大型工程开发任务、具有丰富的数字系统开发经验的教师中选拔。另一方面,课程助教的人选严格把关,只选择具有相关专业背景或具有相关工程开发经验的高年级研究生担任,助教名单需主讲教师进行面试才能确定。从近两年的教学效果来看,完善实验过程管理,加强实验教学的师资力量,可以有效提高实践教学的教学质量。

3.2 完善课程考核机制

在课程考核上,坚持“过程大于结果”的理念。本课程考核项目及比重为:理论考核占40%,课堂实验7 至实验11 各占5%(共计25%),综合实验占30%,平时成绩占5%,实验考核的比重大大增加。课程强化对学生的过程性评价,一方面增加对课堂实验的考核,另一方面综合实验考核明确给出成绩等级。因为学生的能力彼此不同,有的学生难以完全独立设计实现功能复杂的数字系统。如果给学生单一的考核要求,那么这部分学生会因为畏难情绪而放弃动手尝试实验。因此,从简单的实验入手并考核,可以鼓励学生进行实践尝试,对学生学习过程中的进步也是鼓励。

在实验实施过程中,鼓励学生相互讨论和分享经验。但讨论之余必须独立完成实验并参加实验验收。实验验收由主讲教师或助教与学生一对一开展。验收过程中,学生要描述所设计数字系统的功能、解释部分代码。这种验收方式有效减少了抄袭现象。

4 教学效果

数字系统课程教改实施2 年以来,教学成效显著:①学生实践能力得到了较大的提高,课堂实验独立完成率达到97%,综合实验独立完成率达到94%,各层次的学生在动手能力培养方面都有收获;②学生理论课成绩大幅提高,经过了大量实践锻炼,学生将理论与实践相结合,由被动接受知识转变为主动思考问题;③培养了一批硬件爱好者,在综合实验部分,不少学生加入了自己的理解和创新,设计的数字系统也是奇思妙想、精彩纷呈。

5 结 语

数字系统课程的地位和特点决定了实践教学环节在该课程中的重要性。边学边干将理论教学和实践教学相结合,是提高教学质量的有效手段。实践证明,合理设置与理论课程紧密配合的实验内容,对于学生全面深入掌握课程内容,积累工程经验,培养分析问题和解决问题的能力、培养科技创新意识等方面都是非常有用的。后续的教学改革将继续探索创新实验内容和实验模式,而如何规划衔接好上下游课程之间的实验内容和实验平台,也是课程需要重点考虑的问题。

猜你喜欢
数字实验系统
记一次有趣的实验
Smartflower POP 一体式光伏系统
WJ-700无人机系统
品“助读系统”之妙
直扩系统中的窄带干扰抑制
直扩系统中的窄带干扰抑制
答数字
关于植物的小实验
数字看G20
实践十号上的19项实验