贯通式与虚实结合的计算机系统实践平台建设

2018-01-31 07:49杨全胜翟玉庆舒华忠姜龙玉
计算机教育 2018年1期
关键词:计算机系统计算机专业计算机

杨全胜,翟玉庆,舒华忠,姜龙玉,吕 倩

(1.东南大学 国家级计算机实验教学示范中心,江苏 南京 211189;2.东南大学 计算机科学与工程学院,江苏 南京 211189)

0 引 言

当前,随着计算机技术在各个行业应用的不断深入,越来越多的电子类非计算机专业,甚至非电类专业,都结合本专业特点,开设了大量的计算机课程。同时,从国家长远计划出发,由计算机专业还衍生出一些方向更明确的专业,比如软件工程、物联网专业、网络空间安全专业等。计算机专业本科生在激烈的人才交流中专业特点不明显,竞争力不强。从计算机应用角度看,计算机专业没有其他专业那么强的应用背景,从软件开发、物联网应用和网络空间安全角度看,又不如软件工程专业和物联网专业目标更明确,工程经验更多。为此,我们的核心目标就是建设能够有效提高计算机专业本科生专业核心竞争力的实践平台。

1 计算机专业人才培养的新趋势

1.1 国外计算机教育界认识

通过研究,我们发现与传统的教学方式不同,CS2013紧跟计算机技术和行业发展的需要,更加注重知识的连贯性和系统性,以知识领域为核心来组织课程内容。在CS2013中,特别新增加了SF(Systems Fundamentals,系统基础)知识领域[1],CS2013对该领域的描述是:“由术语‘计算机系统’共同描述构建应用的底层硬件和软件基础设施。计算机系统广泛地跨越操作系统,并行和分布式系统,通信网络和计算机体系结构的子系统。传统上,这些领域通过独立的课程以非综合方式教授。然而,这些子学科越来越多地在它们各自的核心内共享共同的重要基本概念。……系统基础知识领域旨在以统一的简化方式呈现这些基本概念的综合视图,为适用于特定领域的不同专门机制和策略提供共同基础。”由此可见,CS2013不仅强调各领域的课程知识融合,更强调系统性、综合性的能力培养。

除CS2013之外,我们也着重考查了美国加州大学伯克利分校和麻省理工学院这两所国外著名大学。

加州大学伯克利分校为了加强学生对计算机系统的认识能力,特别开设了编号为CS61C的“计算机系统基础”,这门课由C语言编程入手,落脚点在MIPS架构CPU的分析、设计和优化,很好地培养了学生软硬件综合的系统分析能力。

麻省理工学院的做法有所不同,他们采用“2+X”的课程模式,2是指两门必修的公共核心课程,是以实验而非课堂授课为主。其中编号为6.01的“电子工程与计算机科学概论1”围绕机器人展开,从大一开始培养学生系统的工程方法和实践技能。

由以上的考查,我们明显感觉到国外计算机教育已经从过去的知识传授上升到能力培养,而最重要的能力培养是让学生具备计算机系统认知、分析、设计与实现能力。

1.2 中国计算机教育界认识

近几年,国内计算机教育界已经意识到与国外的差距,教育部计算机教育指导委员会在王志英主任和马殿富秘书长的亲自主持下,成立了多个计算机系统能力培养的研究小组,组织讨论和实施计算机系统能力培养相关的课程建设。不仅如此,全国实践教学示范中心联席会计算机学科组、计算机学会体系结构专委会、世界著名的硬件厂商Xilinx等,也都展开了在高校计算机专业中进行计算机系统能力培养的探讨。

目前,除东南大学外,全国还有清华大学、北京大学、浙江大学、南京大学、北京航空航天大学、华中科技大学、西北工业大学、复旦大学、同济大学等多所高校开展了相关教学改革的探索工作[2-6]。这些学校大多开展了系列课程的改革和探索,也有不少学校对单门课程先行进行改革,比如对组成原理课程设计[7-9]、数字逻辑课程设计[10]、微机接口[11]、嵌入式系统[12]、大数据与并行计算[13]等课程改革的探索。

1.3 目前实践教学体系的问题

多年的教学实践让我们深刻感受到传统的计算机实践教学存在以下问题:①各门实验课程内容相对独立,前后课程知识点的关联运用没有被强化;②缺乏对计算机系统进行整体设计和优化的实践环节,由于没有从设计与实现完整系统的工程角度去审核,所以发现不了教学中遗漏的知识点;③各门课程采用的实验设备不尽相同,不仅实验设备管理不方便,也使得学生花费太多精力去学习各种类似设备的使用方法;④由于实验设备的原因(尤其是硬件相关实验),学生只能在固定时间段到实验室做实验,这使得学生实验缺乏灵活性和开放性。

综合上述对国内外计算机教育的研究,加强计算机专业本科生计算机系统能力的培养,让学生具有系统眼光[2],具备更强的系统分析、解决问题与实践创新的能力,是解决他们专业竞争力不强的重要途径。

要达到这一目的,不仅需要进一步加强理论课的知识关联性,更需要通过某种手段来保证系统能力培养的有效实施。我们所建立的面向计算机系统能力培养、纵横贯通、虚实结合的计算机系统实践平台,正是一种保证系统能力培养全面有效实施的强有力手段。

要建立面向计算机系统能力培养、纵横贯通、虚实结合的计算机系统实践平台,首先要弄清楚计算机系统能力培养的内涵,研究计算机系统能力培养的步骤,然后建立起适合计算机系统能力培养的课程、实践体系与完善的实践平台。

2 计算机系统能力的内涵和培养步骤的研究

系统能力主要表现在系统认知能力、系统分析能力、系统设计与实现能力和系统优化与创新能力4个主要方面。从计算机专业本科生的角度来说,系统能力具体表现在认识计算机系统→分析计算机系统→设计计算机系统→实现计算机系统→优化计算机系统5个层次,其中优化计算机系统包括对计算机系统自身的优化和在计算机应用研发中能高效地利用计算机资源。

系统能力的内涵是很丰富的,它不仅包含认知能力、分析能力,更注重综合能力、实践能力、创新能力、团队合作能力,以及自我学习能力等诸多方面。

表1给出了计算机系统能力层次与其内涵之间的关系。

系统能力培养需要遵循一定的步骤。通常能力培养有一个从基础能力培养→专业能力培养→综合能力培养的阶段性、层次性发展过程,而这一过程与计算机系统能力及其内涵相结合,就形成如图1所示的计算机系统能力架构图。

3 基于计算机系统能力培养的贯通式和虚实结合的实践平台建设

该实践平台由一个面向系统能力培养的课程体系,一套纵横贯通、环环相扣、逐步推进的实践体系,一套虚实结合的统一实验装置和一个网络在线助学系统四大部分组成。

3.1 面向系统能力培养的理论课程体系

首先东南大学计算机学院根据计算机系统能力培养的内涵和培养步骤的要求,制定了一个明确的教学目标,就是设计、应用和优化一个通用的,或者是在特殊环境下有着特别需求的嵌入式计算机系统。这个系统涵盖了计算机专业主要课程的知识点,从硬件到软件再到应用。

表1 计算机系统能力层次与其内涵关系表

图1 计算机系统能力架构图

从教学目标出发,我们确定了“数字逻辑电路”“计算机组成原理”“微型机系统与接口技术”“计算机体系结构” “编译原理”“操作系统”和“数据库原理”作为主要的理论课程,按自顶向下的原则,将具体目标逐层细化,从设计和实现一个具体的计算机系统的工程化角度重新安排了所有的知识点,再组织相关课程老师讨论,将这些知识点分散到各门课程中,同时强化各门课知识点之间的关联性,重新制定课程教学大纲。

在具体的理论教学活动中,也逐渐体现出这种知识的关联性,比如“计算机组成原理”课程和“微型机与接口技术”课程,通过C语言程序的解析,来帮助学生理解计算机的组织与结构;通过微机结构、汇编语言的功能等,帮助学生分析编译原理和操作系统设计中的合理性。编译原理课程中增加了计算机系统设计中必须有的“链接”的知识点,甚至在“微型机与接口技术”课程作业和考试中出现了C语言和汇编相关联的跨课程的题目。

3.2 一套纵横贯通、环环相扣、逐步推进的实践体系

针对上述教学目标,我们在计算机系统实践平台建设中对相关实践环节进行详细的关联性分析,在此基础上制定了先期实践课程所做的结果,作为后续实践课程的基本部件或技术支撑,层层叠加、逐渐改进,直到完成最终计算机系统设计的环环相扣、逐步推进的实践方案;根据此方案制定了系统能力培养系列实践课程大纲和实践课程讲义。实践平台还包含了学生实验所需的相关资源,和老师开展实验教学所需的资源。

整个实践方案设计了硬件系列的基本电路分析、计算机基本组成分析、简单CPU与接口设计与实现;软件系列的基础语言类应用程序设计与实现、系统软件部分模块设计与实现,以及综合实践系列的整机软硬件综合分析、设计与实现等几个设计任务。整个实践方案中各个设计任务与系统能力培养的关联,如图2所示。

图2 计算机系统实践平台的设计任务与系统能力培养关联图

这些设计任务被引入到每门实践课程中(“计算机体系结构”课程没有单独开设实验,而是开设了“计算机系统综合课程设计”),图3给出了课程—能力—平台实践方案关系图。

图3 课程—能力—平台实践方案关系图

图3中实线框部分是实践体系的核心部分,也是课程体系重点打造的实践课程;虚线框部分是延伸部分,对核心课程起到其他辅助作用。线框上半部分是课程,下半部分是实践平台中为该课程提供的基本任务。这些实践任务在课程中又被进一步细化为一个个具体的模块,实践课程的内容就是实现这些模块,而计算机系统实践平台中的系列实践大纲和讲义就是依据此来编写。这些模块在软件实验中是功能设计子任务,在硬件实验上就是以IP核为载体的功能部件设计子任务。这些功能模块可以组合成一个大的系统或应用。

该实践体系特点之一就是纵横贯通,纵向上,整个实践体系将大一到大四的几个主要实践课程和实践环节打通,所有的实践课程虽然分属不同年级,但是都是围绕统一的目标进行设计;横向上,该实践体系不仅包括课内实验、课程设计、集中实践环节、毕业设计,还包括学生课外研学的SRTP项目,以及教师提供的纵向或横向项目。这样就形成了以5+3为主体的实践体系,这里的5是指实践体系中核心部分的5门实践课程,也就是图3中实线框部分,3是指计算机系统综合课程设计、SRTP项目与教师项目和毕业设计这3个集中实践环节。

除了纵横贯通,5+3为核心的实践体系的第二大特点,就是主要实践课程遵循从基础能力培养→专业能力培养→综合能力培养的阶段性、层次性发展过程,实践内容逐步推进,最终完成从部件设计→整机设计→系统设计的全过程。

3.3 一套虚实结合的统一实验装置

3.3.1 统一的贯通式实体实验设备

过去,不同的实验采用不同的实验设备,这些设备型号不同,软件不同,不仅学生每门课做实验需要重新熟悉环境,更无法满足环环相扣的贯通式实践教学需求。因此,在总结多个实验设备优缺点的情况下,我们与企业联合,开发了统一的贯通式实验设备Minisys实验板。

该实验板为计算机系统能力培养的系列实验量身定做,能够很好地满足多门课程实验的需要,计算机系统能力实践平台配套的系列实验讲义就是基于这个设备编写的。

3.3.2 开发虚实结合,具有计算机底层硬件支持的远程实验系统

Minisys实验板虽然可带出实验室,但考虑到毕竟有成本、安全及损耗问题,而且不太容易做到人手一板,因此我们借助东南大学虚拟实验平台项目开发了虚实结合、具有计算机底层硬件支持的远程实验系统,如图4所示。

图4 带底层硬件支持的虚实结合的远程实验系统

使用该系统,学生可以在任何能上网的地方(如实验室、教室、宿舍、图书馆等)利用客户端软件将自己的设计上传到服务器,由服务器自动帮助装载到真实的实验板中运行。之后,通过已经申请专利的监控与通信机制,在客户端提供实验中的人机交互。

该系统的主要特点是:①既有底层硬件支撑,又可软件模拟仿真,适应面广;②具有支持远程、开放实验环境的特点;③可支持计算机系统能力培养中的多门课程的实践活动,有可支持学生的课外研学。

所谓虚实结合中“实”的方面是指底层确实有硬件实验板支持,学生的设计是真实地在硬件中运行;“虚”的方面有两层含义,一层是通过硬件抽象层和模拟层,来模拟底层硬件不支持的功能,实际上就是扩展了硬件实验板的功能;另一层含义是通过客户端软件虚拟不同型号的实验板,给学生作为实验载体。

计算机系统实践平台通过提供这样两种实验设备或系统,能够很好地满足跨年级的相关实践课程的贯通实验和逐步推进的需要,也为学生提供了更为开放的课外研学实验环境。

4 网络在线助学系统

计算机系统实践平台借助网络研发远程实验系统,共享精品课程资源,进行实践类MOOC探索,除此以外,为了帮助学生更好地进行自主研学,我们还构建了自主研学网络助学平台。该平台包括“在线交互式教学网站”“在线答疑系统”“在线交互式作业系统”“在线实践向导与帮助系统”“在线资料库与习题库”,大部分课程还利用QQ群与学生进行即时交流。比如“数据库原理”利用在线答疑系统和“DBMS开发向导网站”进行网上答疑;“计算机组成课程设计”(硬件实验)“微型机系统与接口技术”“数据库原理”等多门课程开通了课程网站和在线交互式网上作业系统。网络技术的运用,有效地协助了实践课程的开展,让学生在一个更为开放的环境下进行实验。

5 结 语

经过几年的建设,东南大学计算机学院贯通式与虚实结合的计算机系统实践平台建设已初具规模,几年的运用也取得了丰硕的成果。近几年来,实践平台先后获得国家级精品课程1门、国家级精品资源共享课1门,省部级精品课程1门;承担江苏省教改项目、东南大学教改项目10项,撰写与教学相关论文13篇,出版教材3本,获得软件著作权4项,受理发明专利申请4项,各级各类教学成果奖9项。经过该平台的锻炼,学生在系统观、实践能力、创新能力和解决较复杂功能问题能力上都有了长足的进展。近几年在全国和省级各类学科竞赛中获得一、二等奖15项。比如,在2016年计算机学会体系结构专委会主办的ACA2016全国大学生创新竞赛中,几位经过本实践体系培养出来的学生组队参赛,荣获大会唯一的一个特等奖,而几名大三的学生获得二等奖。

事实证明,该实践平台能全面训练学生计算机硬件、软件和系统的开发与优化能力,实践能力和创新能力,能够多角度、全方位地支撑系统能力培养。该平台服务对象涵盖不同层次的全体学生,实践平台在实践方案、实践设备、辅助教学手段上保证了各门课之间的配合、课内课外的配合。

[1]张亮, 路红, 唐志强. 符合CS2013规范的计算机系统类课程设计[J]. 计算机教育, 2015(17): 29-34.

[2]王志英, 周兴社, 袁春风, 等. 计算机专业学生系统能力培养和系统课程体系设置研究[J]. 计算机教育, 2013(9): 1-6.

[3]刘卫东, 张悠慧, 向勇, 等. 面向系统能力培养的计算机专业课程体系建设实践[J]. 中国大学教学, 2014(8): 48-52.

[4]马殿富, 高小鹏. 基于系统能力培养的计算机专业课程建设报告[R]. 北京: 北京航空航天大学, 2013.

[5]袁春风, 王帅. 大学计算机专业教育应重视“系统观”培养[J]. 中国大学教学, 2013(12): 41-46.

[6]陈文智, 陈越, 庄越挺.面向系统设计能力培养的教学改革探索[J]. 计算机教育, 2013(20): 70-76.

[7]刘永军, 秦彭. 高质量专业课程设计的系统能力培养实践[J]. 软件导刊·教育技术, 2016, 15(11): 72-74.

[8]丁红胜. 面向计算机系统能力培养的计算机组成原理实验教学[J]. 计算机教育, 2016(7): 105-107.

[9]杨梅, 刘义军, 郑津. 以系统能力培养为导向的计算机组成原理课程教学研究[J]. 计算机教育, 2015(21): 11-14.

[10]杨新凯.面向计算机系统能力培养的《数字逻辑》课程教学改革探讨[J]. 教育教学论坛, 2014(6): 148-149.

[11]杨志奇, 何颖, 李春阁. 基于计算机系统能力培养的微机接口教学研究[J]. 教育教学论坛, 2015(49): 236-237.

[12]武小平. 面向系统综合能力培养的“嵌入式系统”教学探讨[J]. 计算机工程与科学, 2014, 36(A2): 238-241.

[13]陆枫. 面向大数据时代的计算机系统能力培养改革与实践[J]. 计算机教育, 2017(3): 33-36.

猜你喜欢
计算机系统计算机专业计算机
新工科背景下计算机专业创新创业人才培养探究
高职计算机专业教学中融入课程思政的实践路径
中职计算机专业产教融合混合式教学研究与实践
互联网+环境下的高校计算机专业课堂教改现状及建议
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
关于不法分子冒充《小型微型计算机系统》名义诈骗的严正声明
IBM推出可与人类“辩论”的计算机系统
关于不法分子冒充《小型微型计算机系统》名义诈骗的严正声明
计算机系统集成实施与项目管理途径分析