计算机工程和计算机科学范文

时间:2023-12-19 17:45:56

导语:如何才能写好一篇计算机工程和计算机科学,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

计算机工程和计算机科学

篇1

关键词:课程体系:核心课程;核心知识体系

计算机科学与技术学科虽然很年轻,但它已经成为一个基础技术学科,在科学研究、生产、生活等方面都占有重要地位。近50年来,我国的计算机科学与技术专业教育在国家建设需求的推动下,从无到有,逐渐壮大,尤其是从20世纪90年代以来,更是高速发展,已经成为理工科第一大专业。

针对计算机科学与技术专业学生量大,社会需求面宽的现实,“十五”期间,教育部高等学校计算机科学与技术教学指导委员会编制了《高等学校计算机科学与技术专业战略研究报告暨专业规范(试行)》(高等教育出版社出版,2006年9月第一版,以下简称为《规范》)。其中,“战略研究报告”建议改变当前我国计算机科学与技术专业教育的趋同性,鼓励办学单位对毕业生的分类培养,取4个可能的方向,即计算机科学、计算机工程、软件工程以及信息技术。《规范》参照Computing Curricula 2005,分别详细给出了四个方向的核心知识体系,以及覆盖它们的必修课程组示例。

《规范》体现出的“分类培养”精神得到了广泛认同,人们普遍认为中国800个左右的计算机科学与技术本科专业点,按同一种模式或者培养方案进行教学是难以满足广泛的社会需求的,许多学校也希望得到分类培养的具体指导。但是,如何理解和实现“信息技术”等新的专业方向的教育,如何利用已有的基础,更好地实践《规范》,成为大家关注的问题。

为了能更好地利用现已建成的国家、省部级精品课程、精品教材等优质资源,希望能够按照4个专业方向公共要求来构建一些基本课程,每一个方向都可以通过在这一组课程的基础上进行扩展来形成符合《规范》的完整的专业方向教学计划。这一组课程是“耳熟能详”的,无论是从师资还是教材的角度,在开始走向规格分类实践时,也是一种现实做法。

一、核心课程选取的原则

本项研究的基本目的是要推荐一组课程,当办学单位希望按照《规范》描述的知识结构制定自己的教学计划时,无论四个方向中的哪一个,都能够比较方便地在这组课程的基础上进行扩充而实现。显然,符合这个要求的一组课程不是惟一的,我们着重考虑了如下几点原则。

1.体现公共要求

《规范》将计算机科学与技术专业划分成4个专业方向,虽然他们有着不同的问题空间、能力要求、知识结构和课程体系,但还是有共性的部分,这也是作为同一个专业的不同方向所决定的。公共核心课程应该能够将这些公共的要求涵盖进去,实现在课程层面上对公共知识体系、专业培养公共要求和基本特征的体现。

2.有利于构成优化的课程体系

公共核心课程需要与其他相关课程一起才能构成完整的教学计划,所以,这些课程需要易于与相关课程结合,构成不同专业方向的课程体系。

同时我们注意到,近些年来,许多学校在制定新的教学计划中,采用了设置分级平台的基本框架。例如,要求教学计划由公共基础、学科基础、专业基础等组成。考虑到计算机科学与技术专业对应到计算机科学与技术学科,这些课程可以适当照顾到学科的要求,构成一个既照顾到学科,又照顾到专业的基础平台,给人们制定有特色的教学计划提供一定的基础,使得人们能够方便地构建完整的、全局优化的专业教育课程体系。

3.充分考虑学时的限制

由于公共核心课程相当于学科、专业平台的基本内容,所以,只能做一个较小集合,而且课程的学时数要尽可能小,目标在于体现专业教育的最基础要求,同时给具有特色的完整的教学计划的制定留有足够的空间。特别是近些年来,不少学校已经将教学的总学时数降到2500学时以下。所以按照20%计算,将公共核心课程的总学时控制在500学时以内。

4.尽可能成熟的课程

计算机科学与技术专业开办50余年来,积累了丰富的办学经验,一些课程的建设取得了很好的成果,已经具备良好的基础,这些课程将在专业教育中起到核心、骨干作用,将这些课程进行适当改造后构成公共核心课程,有利于充分利用已有的优质资源,迅速提高整体办学水平。所以选取的课程应该是“耳熟能详”的成熟课程。

5.体现本专业教育基本特征

课程要体现学科教育的一些基本特点。例如,虽然计算机科学与技术学科涉及到计算机理、工程实现和开发利用,但对大多数人来说,计算机科学与技术学科是一个以技术为主的学科,特别是在本科教育层面上更是如此。所以课程要对技术和学生的技能训练有较好的体现。除了学科抽象、理论两大形态使得初学者在理解上有一定的困难,需要通过实践去深入体会外,还要考虑社会要求本专业的学生能够更好地去实现一些系统的研究、构建和维护。因此,选择的课程应该在加强学生理论联系实际能力的培养上有引领作用。此外,在本学科发展异常快速的时候,这些课程相关的内容应该是成熟的、基础的,有利于学生可持续发展能力培养的。

二、核心知识体系

这里给出计算机科学与技术专业公共核心知识体系,力求从不同专业方向的公共需求出发,给出该专业的学生应该具备的一些基本知识,我们并不试图包括各个专业方向教育要求的全部知识,每个专业方向都需要在此基础上按照专业方向的教育需要增加所需要的知识,以构成完整的专业方向知识体系,其具体内容可以参考《规范》。由于是基本知识,是学生必须掌握的,所以,没有包含推荐的选修知识。该知识体系共包括8个知识领域,39个知识单元,共342个核心学时。其中,

(1)离散结构(DS)60核心学时,包括函数、关系与集合、基本逻辑、证明技巧、图与树。

(2)程序设计基础(PF)67核心学时,包括程序基本结构、算法与问题求解、基本数据结构、递归、事件驱动程序设计。

(3)算法(AL)28核心学时,包括基本算法和分布式。算法。

(4)计算机体系结构与组织(AR)60核心学时,包括数据的机器级表示、汇编级机器组织、存储系统组织和结构、接口和通信、功能组织。

(5)操作系统(OS)32核心学时,包括操作系统概述、操作系统原理、并发性、调度与分派、内存管理、设备管理、安全与保护、文件系统。

(6)网络及其计算(NC)48核心学时,包括网络及其计算介绍、通信与网络、网络安全、客户,服务器计算举例、构建Web应用、网络管理。

(7)程序设计语言(PL)13核心学时,包括程序设计

语言概论和面向对象程序设计。

(8)信息管理(IM)34核心学时,包括信息模型与信息系统、数据库系统、数据建模、关系数据库、数据库查询语言、关系数据库设计、事务处理、分布式数据库。

按照各个方向核心知识结构的要求,公共核心知识体系覆盖计算机科学341核心学时的内容,覆盖率为60.9%,覆盖计算机工程246核心学时的内容,覆盖率为44.7%:覆盖软件工程199核心学时的内容,覆盖率为40.3%覆盖信息技术136个核心学时,覆盖率为48.4%。

三、核心课程

公共核心课程共包括程序设计、离散数学、数据结构、计算机组成、计算机网络、操作系统、数据库系统等7门,这些课程的名称都采用了尽量一般化的处理,即后面没有诸如“基础”,“原理”或者“技术”之类的字样,为学校开设具体课程留有空间,学校可以根据自己课程的特点添上适当的限定,进一步体现自己的办学特色。

表1给出了各门课程所含的必修知识单元和所需要的学时数,和各个学校相应课程的实际教学时数相比,其中有的课程必修学时数多一点,有的少一点。所需要的总课时为448。希望各个学校在满足教学基本要求的前提下,根据本校的具体情况,做出适当的调整,可以通过强调某些内容来体现自己的特色。

四、专业方向必修课程示例

按照各个专业方向必修知识体系的要求,以7门公共核心课程为基础,构建相应方向的必修课程。特别需要强调的是,这里给出的仍然只是“示例”,各个办学单位可以根据自己的情况设计出更具特色的必修课程,并制定出恰当的教学计划。

计算机科学专业方向的必修课程示例:计算机导论、程序设计基础、离散结构、算法与数据结构、计算机组成基础、计算机体系结构、操作系统、数据库系统原理、编译原理、软件工程、计算机图形学、计算机网络、人工智能、数字逻辑、社会与职业道德。15门课程共计776学时。

计算机工程专业方向的必修课程示例:计算机导论、离散数学、程序设计基础、数据结构、电路与系统、模拟电子技术、数字信号处理、数字逻辑、计算机组成原理、计算机体系结构、操作系统、计算机网络、嵌入式系统、软件工程、数据库系统、社会与职业道德。16门课程共计理论学时920学时。

软件工程方向必修课程示例:软件工程专业导论、程序设计、面向对象方法学、数据结构和算法、离散数学、计算机组成、操作系统、计算机网络、数据库、工程经济学、软件工程、软件代码开发技术、人机交互的软件工程方法、软件设计与体系结构、软件质量保证与测试、软件需求分析、软件项目管理。16门课程共计920学时。

信息技术方向必修课程示例:信息技术导论、离散数学、程序设计、数据结构、计算机组成、计算机网络、操作系统、软件工程、数据库系统、应用集成原理与工具、Web系统与技术、人机交互、面向对象方法、信息保障和安全、信息系统工程与实践、系统管理与维护、社会与职业道德。17门课程总计920学时。

五、结语

《规范》将“核心知识结构”作为开办相应专业方向必须的要求,可以用不同的课程组合来覆盖,《规范》中给出的“核心课程”只是这种覆盖的一个“示例”,这里给出的是另一个“示例”。事实上,这也是《规范》所鼓励的。这里的“公共核心课程”并不是《规范》中四个“核心课程”集合的简单交集,而是根据对四个方向的理解,对它们公共核心知识单元的一个课程覆盖。是每个专业方向公共的必修课程,而不是任何一个方向完整的必修课程集合。

篇2

关键词:计算机基础; 课程设置; 教学模式; 改革

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)33-7514-02

在计算机技术日益成熟和丰富的今天,计算机的运用已经渗透到各行各业。在信息时代的今天,对计算机运用的熟练程度已经很大程度上决定了一个工作团队,甚至是一个公司或者企业,乃至一个国家的高效运作和发展。大学生作为一个学习和接受计算机教育最为系统和全面的受众,理所当然应该具备扎实的计算机应用基础和较高水平的计算机应用能力。在我国,大多数的普通高校都设置了公共计算机课程,目的是针对非计算机专业的大学生进行计算机应用能力的培养。过去的若干年来,大学计算机公共教育对普及和提高大学生的计算机运用水平和能力起到了非常重大的作用。然而,随着计算机的不断普及和推广,如今的大学生在进校之前与之前相比,已经具备了一定了计算机使用能力和水平,而且加之计算机技术淘汰快、更新快的行业特点,新技术、新理念层出不穷。与此不符的是,大学计算机教育的课程设置陈旧、教育模式和理念滞后、对新技术新知识的更新不及时导致了如今的计算机教学已经不能满足新形势的需要。因此,作为大学计算机教育的工作者和研究人员应该及时的改进或者制订新的课程计划和教学模式。该文主要探讨了大学公共计算机教育的现状和弊端,分析并提出了符合目前形势的课程设置新思路和教学改革的新想法,并结合教学实践对其可行性进行了初步的研究分析。通过实践教学我们发现,新的方法和模式具有较好的可行性、适应性和扩展性,能够满足新的教学环境需求。

1 现存问题和弊端

1.1 教学体系缺乏层次化

这个问题在很多高校都存在。以我校为例,每一届的本科生均来自全国各地,其中相当一部分来自于少数民族地区,由于地域性的差别,直接导致了计算机能力参差不齐。全国所有地区的高考科目都是统一的,但计算机相关知识的学习不同于高考科目,对地域的敏感程度很大。比如,来自偏远山区的和来自大城市的学生都会学习语文、数学、外语等科目,但是偏远山区的计算机普及教育肯定远远不如大城市,甚至有些地域在此方面是零基础。所以,在进入大学之后,不同学生群体之间对于计算机知识的了解程度表现出相当的差异。

然而,大多数高校对于计算机课程的设置和教学都是统一设置,没有考虑到该课程不同于其他课程的特点,缺乏针对性。这样简单的教学体系带来的直接后果就是,计算机基础好的学生觉得计算机课程的开设缺乏新意,甚至是可有可无的。另一方面,基础特别差的学生会觉得跟不上学习进度,缺乏足够的实践训练和学习。

1.2教学方式缺乏扩展性

大多数学校对于计算机教学采用的教学形式是分为两部分:理论课堂教学和实践课堂教学。这种教学模式已经沿用了多年。在前几年学生普遍基础较差,计算机设备资源相对缺乏的情况下,这种教学模式具有相当的积极意义。但现在已经表现出不太适应当前要求的弊端。

计算机公共课作为实践性很强的课程,重点就在实践二字上。大多学校普遍采取的理论课教学和实验课教学相结合的方式从形式上将理论和实践区分开来了,大大降低了教学的效果和学生的学习效率。有的学生反映,理论课上老师讲的内容太多太快,当时还能听明白,但事后就很快忘记了,等到再上实验课自己动手操作的事后,完全相当于重新学习。而有的同学反映,如此简单的内容根本不需要专门的时间讲解,直接操作就可以了。总之,理论课程学习是事倍功半的,缺乏灵活性和扩展性。反而实验环节却显得严重缺乏和不足。近年来,一些学校已经看到了这些问题,也采取了相应的策略。但这些方法治标不治本,并没有从根本上看到问题的实质。以我校为例,前几年只是简单的减少了理论课时,相对增加了实验课时,而在课程的内容分层和形式多样上没有作任何改变。并未从本质上改变原有的教学模式,所以效果仍不明显。

1.3缺乏完善的培养体系

计算机应用知识的学习应该是贯穿整个大学学习期间甚至延续到研究生的学习阶段。但当前的现状是,大多数学校只在大学一年级开设计算机基础和简单的程序设计课程。一方面,课程门目非常少,另一方面,从时间上看,一年的学习之后再没有设置计算机的相关课程的学习,因此缺乏连续性、系统性。很多学生特别是偏文科的学生在此后的大学生活中再次系统学习和运用计算机技能的机会少之又少,这实际上是让大学一年级的学习效果大打折扣。而当学生到了工作岗位之后,却发现书到用时方恨少。

2 提出的改革策略

2.1 丰富和完整层次化的教学体系

一方面,从教学模式上面着手。打破此前简单统一的课程设置,进一步提高分级教学的有效性和针对性。对于每个层次的学生设计有针对性的教学内容和教学方式。采取内容可变,时间可变,形式可变的可扩展性教学应对机制。

另一方面,丰富课程内容的设置。不再局限于单一的课程,应该采取多门课程同时展开,必修和选修同时存在的学分标准体系。充分尊重学生的学习主体地位,调动学生的学习积极性。让基础好的学生和基础薄弱的学生都觉得学有所获,学有所用。

2.2 设计丰富灵活的学习形式

现代化的教学手段是多样的,关键是如何整合这些手段以达到最优的配置。如前所述,我校的计算机教学主要分成两个部分:课堂理论知识的教学以及实验课堂的教学。对于大多数的院系,理论课堂和实验课堂采取1:1的课时分配。理论课堂教学采用投影仪的多媒体教室教学。但是由于多是大教室,学生人数比较多,教学互动严重不足,课堂教学效果有待提高。实验课堂基本实现了人手一台计算机,但入前面介绍的,由于理论课堂的效果远远不够,所以导致实验课堂的效果也受到影响,学生在有限的时间内并不能对所有的操作都得到实践训练。所以显得实验时间远远不够。

通过详细研究和制订学习方案,我们提出了将理论学习和实践学习有机结合,灵活分配的方式进行教学,并将所有的学习场地都设在机房。在总学时不变的情况下,教师有足够的灵活性根据课堂的情况分配理论课和实践课的比重,甚至可以精确到每次课上理论环节和实践环节的时间分配。这样,就不必在拘泥于理论课课时和实践课课时的死框框。而是需要多少理论讲解就安排多长时间讲解,需要多长时间进行操作训练就安排多长时间给学生实际操作。更为重要的是,这样能够保证每一个知识点都可以在学生听取老师的讲解和示范后,可以马上自己动手进行练习和巩固,从而大大的提高了学习的效果。同样是相同课时的学习,学生掌握的程度是远远好于以前的教学模式的。

2.3 建设教学的长效机制

我们研究和设计了一套完善的跟踪教学体系,从而能够建立起计算机学习的长效机制。避免了以前学生只能在大学一年级可以系统接触计算机学习,而在其后的大多时间内无法系统学习计算机的尴尬局面。采取的方法是:(1)设计大学计算机学习的必修学分。学生在大学期间必须完成计算机的若干课程的学习,目的是为大一基础学习的有效巩固和补充。比如,学生在高年级可以根据自己的专业需求选择必须的计算机课程学习,这样既是对大一学习的巩固,也是对新的技能的进一步学习。从而使得计算机的学习贯穿于整个大学四年的学习区间。(2)开设丰富的计算机课程。不再仅仅是保有两门计算机课程,开设多品种、多门类、多层次的课程系列。让学生有足够的选择余地,充分尊重学生的自主选择。(3)有效利用数字化校园网络平台,将教师的课件、实验项目等内容直接上传网络,如果学生有需要可以下载使用。并且可以和教师在线讨论问题。这种形式使得学习不再是局限于课堂,随时随地都可以学计算机,充分运用了计算机学习的特点。

上述长效机制,可以保证在整个大学期间,学生对于计算机的学习始终处于不断巩固,不断更新的状态。为学生毕业后步入工作岗位后的对计算机运用能力的需求打下扎实的基础。

3 结束语

我们提出的改革方案已经实行了两年,从实际情况来看,取得了较好的教学效果。具体反映在:1)学生的主动性高明显提高,以前的被动接受学习逐渐转换为主动学习。2)课堂教学效率明显提高,进一步促进和提高了学生的学习热情和积极性。3)高年级学生对于计算机的学习覆盖面逐步扩大,多平台、多渠道的学习跟踪机制使得他们有更大的动力去学习计算机应用知识,也有更多的实际应用平台去运用计算机技能,从而极大锻炼了学生的实际动手能力。

当然,我们的改革方案仍存在不完善和需要改进的地方。在以后的教学中,我们要进一步实现多元化、立体化的改革方式,培养更具竞争力,适应社会需求的高质量人才。

参考文献:

[1] 袁开榜. 不断创新的中国计算机教育还要科学地向前发展[J]. 计算机教育, 2009(16).

篇3

高职院校的《计算机应用基础》课程对全校非计算机专业学院开设,基本涵盖了全校90%的专业,我校的《计算机应用基础》则早在2005年就被评为国家精品课程,如此重头的基础课程,在工学结合人才培养模式的大背景下,其课程的教学体系设计也在不断的进行改革创新。教育部计算机基础课程教学指导分委员会主任冯博琴在《对计算机基础教育的思考》中提出了在新形势下应从以下三点提高高校计算机基础教育水平,保证高校计算机基础教育沿着健康道路发展:考虑计算机教学的组成与分工,将计算机教育作为整体来研究,对于计算机教育的两个阶段的教学目标和教学内容都要妥善安排;考虑与计算机学科的关系;为学生营造多样化的计算机氛围[1]。安徽师范大学数学与计算机科学学院的许勇教授等人针对高校计算机基础课程《计算机文化基础》的教学现状和突出问题做了诠释:对课程的重要性认识不足;学生基础及专业差异大;教学组织不合理;考核、评价制度不合理;缺乏相应的现代化网络教学及互动平台,并提出了相应的改革策略,促进公共计算机课的改革[2]。

纵观国内外相关研究,职业教育校企合作、工学结合这一领域的研究绝大部分集中在宏观整合以及模式探讨方面,而对于具体的应用层面讨论的很有限,首先是重视程度不够,当前社会重理论研究、轻实际应用,普遍的认为教育信息技术的手段无非是多媒体课件或网络教学等,缺乏通过特定的信息技术手段将课程设计、学生绩效考核及企业文化等多种元素进行融合,可以更有效的提高整合的效果的认知;其次是目前高职类基础课程的教学和科研脱节严重,科研立项对这类选题缺乏足够的重视,基础学科教学人员不愿意搞科研创新;第三则是缺乏企业的参与研究和较大范围有系统的实验。

结合此《纲要》与《珠江三角洲地区改革发展规划纲要(2008-2020)》中相关教育信息化带动教育现代化的战略精神,本课题试图突破前期研究瓶颈,在《计算机应用基础》课程由单一的教学练模式进化为多方联动的综合教学体系的改革趋势中,运用相应的信息技术手段,针对综合教学体系中的四大模块,创建相对应的教学系统、交叉学分系统、绩效考核系统、实习管理系统,使每个模块的效能得到最优化体现,从而为课程改革的最终实现提供一套整体的解决方案。

《计算机应用基础》课程教学辅助系统包含四个子系统,分别对应新教学体系中的四大模块,其设计功能及思路如下:

一、教学系统

本系统的设计借鉴了当前比较流行的moodle和discuz!平台,吸取其设计精华,结合《计算机应用基础》课程,突出强化其中的教学白板、作业提交、讨论组和企业相关功能。系统采用账号管理,可以支持一个或多个老师对一个或多个专业的课程进行协同设计,从而可以满足该课程因不同专业与不同企业进行工学结合而进行相应教学设计的需求。教学白板主要用于日常的课堂教学,也可用于学生课后复习;作业提交可以使学生上传的作业按形成性考核的比例评分;讨论组主要用于学生的小组协同学习及对教学的反馈。在各个功能和细节中,着力强化企业文化的渗透。以汽车学院与深圳比亚迪汽车有限公司的校企合作为例,从去企业面试接触到比亚迪汽车的宣传册(word设计),到了解汽车文化和背景以后为比亚迪做产品宣传(Photoshop设计logo),再到售后反馈(excel表格统计)等等,我们可以事先模拟一个该企业发展所需的主要环节,深入研究《计算机应用基础》课程的word、excel、photoshop几个模块分别可以为他们做什么,然后精心设计案例,内容可按如下设计:

1.WORD长文档排版:迪车讲堂之《春季车辆养护篇》、《夏季车辆养护及节能环保的行车方式》;手册下载之《F0说明下载》、《S系列车型说明下载》等。

2.EXCEL表格处理:产品导购之《贷款购车计算》、《售后服务查询》等。

3.PHOTOSHOP图像处理:《个性改装》图片处理、《零件保养》图片处理、《新车型精品》图片处理等。

二、交叉学分系统

在常规课程教学以外,还设计了多种辅助教学方式,如该课程与本专业其他各门课程的整合课、请合作企业的相关部门负责人或技术人员来讲授的与企业相关的专业技术课等。这一类课在综合教学体系中统称为交叉课程。交叉课程模块的设计旨在通过多种渠道拓展课程的外延,从而到达更加丰富其内涵的目的。本系统主要用于管理这种交差课程学分,按形成性成绩考核的比例分配,将其纳入课程学分中,考核时同时量化到综合成绩中。本系统由于涉及多门学科学分的协同管理,需要与学校教务管理系统进行对接,因此,设计充分考虑数据的兼容性,采用vb作为脚本设计语言,内部采用模块化设计,方便后期数据的维护以及由于教学体系的变化而造成的课程增减。

三、绩效考核系统

除了专业课程方面,为了全面提高学生的创新能力和就业意识,我们提倡多专业联合活动,例如,理工科类的创新社团经常要和企业合作开发各种各样的项目,那么经管类的创新社团也会和企业有各种专业方面的交流与合作,两个社团联合起来共同完成一些合作项目,既能给企业带来全方位的服务,也能让学生在除专业以外的多个领域获得提高,不失为一举多得。本系统主要用于此类创新合作项目的绩效管理,根据项目成果、取得的社会效益、参加各类比赛情况、申请立项等给予相应的考核评定。在技术上采用在线数据库技术,可以实现企业、学校等对项目组的多方评价以及项目组成员的内部考核评价。

四、实习管理系统

课程的最后三周时间里进行模拟招聘实习,大家分组,用word设计个人简历,并现场制作PPT进行自我介绍,第二周可以通过小组讨论的形式,用excel设计一些对公司有用的统计性表格,如考勤统计,年度销售量统计,销售额统计,返修率统计等等,我们还可以根据学生所学专业的不同,设计相应的毕业实习规划案例,本系统主要用于对上述模拟招聘及实习阶段的个人表现在教师指导下进行互评,同时,系统包含视频采集功能,可以对学生的面试情况进行拍摄,并反馈给学生,以提高他们的面试技巧。

篇4

论文关键词:《计算机应用基础》;考核模式;改革

一、课程考核改革背景

根据教育部于2000年1月颁布了《教育部关于加强高职高专教育人才培养工作的意见》的文件(以下简称《意见》),指出要改革考试方法,除笔试外,还可以采取口试、答辩和现场测试、操作等多种考试形式,着重考核学生综合运用所学知识、解决实际问题的能力,通过改革教学方法和考试方法,促进学生个性与能力的全面发展。

以前,高职高专计算机专业学生的考试主要以平时上级练习成绩、期末考试(笔试)和平时出勤情况来作为学生的考核成绩;考试方法简单,考试形式单一,考核内容仍重于理论;而笔试考试只考共性的、统一的知识技能,不能很好的体现学生动手操作能力。在当今这个“人才饱和”大学生就业困难的时代,为什么计算机专业人人员从事的工作确实跑业务,做销售员,或是跟计算机有一点搭边的文员,却不能胜任一个全职的办公自动化人员。因为学生实际动手操作的能力较弱,理论与实际没法结合。在操作方面文字输入速度慢,不熟悉机关公文规定格式的排版,不熟练办公软件的应用。

这一系列问题说明现行计算机专业课的考核机制存在一些不足:忽视了职业教育的“职业”特征,学生实际操作能力差;把学生尽限于校园内,为考试而考试,例如,有学生平时表现非常好,上课认真,期末考试笔试卷面成绩相当不错,但是计算机一级考试却通不过,这说明了利用原先的考核方式不利于学生职业技能的提高;不能让学生的动手能力得到很好的锻炼;不能充分突出计算机专业的特色,脱离了现实工作环境,没能与市场很好地接轨,不利于学生就业。迫使我们不能不反思。中等职业教育计算机应用基础课程的考核模式需要进行改革。

二、课程考核改革思路

为了更好适应课程教学改革的方向与进程,着力提高学生自主学习的意识和能力,有效落实教学过程和增强对学生学习全过程的指导和监督,全面测评学生的学习行为和成果,达到较高动手能力的计算机办公自动化应用性人才的目的。为此,将采用计算机一级考试和计算机操作员认证考试为考核目标。

通过考核既要检测学生对计算机办公自动化应用的基本理论的了解和基本操作的使用;又要检测学生对办公自动化运用程度,重点考核学生对OFFICE的实际操作能力。

结合课程的培养目标,突出“计算机应用基础”课程的特点。本次改革的基本思路是:

(一)教、学、评相互结合。计算机应用基础课程理论和上机实验是学生学习内容。课程教学大纲要求学生要合理调配学生计算机应用基础理论与完成实验的时间,掌握办公自动化软件的操作技能,最终达到学习目的。上机实验是以实际教学和计算机一级考试内容相结合,直接明了的从实践中理解理论知识,把教师的教与学生的学相联系,把学生的学与学生平时课堂练习和课外应用相对应。提高学生平时的动手能力,及学生对课程学习的自觉性和积极性。

(二)强化实践能力,促进学生平时学习。提高学生学习的积极性根据开放教育学生的特点,进行合理地教学过程设计。我们采用平时的教材教学与等级考试、认证考试培训相结合的方式,甚至在平时实验联系中我们可以“一对一”的进行讲解,促使学生在平时学习时要不断地操作实践,对学习《计算机应用基础》这门课程的主动性,直到学生100%掌握为止。这样就强化了学生的实践操作能力,推进对学生职业化办公能力训练和提高,接近职业化教育的事实。

三、课程考核改革方案

根据历年来,学生对计算机办公自动化软件操作方面的能力逐渐在提高,尤其是职业技校、中专上来的学生在办公软件操作方面基础已相当不错,我们对这类学生最关键是在于办公软件实质操作的巩固和理论知识的强化,而普通高中上来的学生在办公软件操作方面虽然没有中专、技校的学生基础好,但高中阶段该课程也是必修课,对于这些学生我们的考核方式要进行改革。

(一)首先我们对《计算机应用基础》这门课程的考核内容上要明确,学生应掌握的基本内容有:信心社会概念、计算机硬件的概念和组成、网络的相关概念,以及office软件的基础应用。

当然我们对这门课程在教学方式上也统一,要把原先先以教材为主的理论课堂教学,或是没有实际操作的虚拟黑板式教学方式,改为实质动手操作的多媒体演示教学,和学生机房实际操作的教学方式。这样可使学生更明确的把理论与实际相结合,更能体现信息教育的特色。

(二)我们对学生要掌握《计算机应用基础》这门课程要有一定的衡量标准,但在有一定基础的学生中我们的考核标准也要做适当的调整,以便学生在学习态度上能够有所改变,能真正学好《计算机应用基础》这门课程。以前我们采用平时实践训练、平时的考勤情况以及期末理论总结性笔试考试相结合的方式进行考核,这样一来我们的学生在平时的学习中没有压力,自己真正学到多少东西是模糊的,但近年了我们应该把学生是否能通过计算机一级考试,是否能获得计算机操作员认证来作为实质的考核标准,对学生来说是实质的学到了东西,能熟练的掌握和操作办公自动化软件,这样,既可以减少学生在总结性考核时临时发挥失误的影响,又可以加强对学生实践教学的过程管理,提高实践教学的教学质量,以及学生的动手能力,与社会人才需求相符合,体现了职业化。

(三)我们鼓励计算机专业的学生在大一第一学期就报名参加计算机一级考试,一般情况下,学生的等级考试是在十一月中旬,在进行教学的同时参加考试,可以很清楚的了解自己对《计算机应用基础》这门课程的掌握程度,但并不影响学生通过率,因为我们前面也提到了计算机专业的学生对计算机办公自动化软件操作方面的能力逐渐在提高,在高中阶段已有一定基础,只是进行对办公软件实质操作的巩固和理论知识的强化。对于非计算机专业的学生我们把计算机一级考试放于大一的第二学期,也就是每年的四月中旬,非计算机专业的学生,基础相对要比计算机专业的学生差,在第一学期我们将于计算机专业学生的教学方式一致,只是放慢教学的速度,教学过程中会更加详细的去演示每个操作题,当然我们不可能保证每位学生对《计算机应用基础》这门课程的掌握程度是满意的,所以在第二学期,我们开展计算机等级考试考前辅导,整个辅导原则是学生自愿参加,辅导内容以一级考试的内容为重点,80%的以上的教学时间是以学生的实际动手操作为主,机房为教学场地,不再以教师的教为主,以学生的练习,难题解答为主,教师起辅导作用。

对于计算机专业的学生,我们在大一的第二学期会鼓励学生参加计算机操作员认证考试(已经通过计算机一级考试的学生)。计算机操作员资格认证考试的内容主要有四大块分别为:计算机系统操作与使用、文字信息处理、图形图像处理、因特网操作。计算机操作员资格认证考试是符合现在社会需求进行培养人才,能完全充分体现职业化水平的职业资格认证。当然,我们照样也对学生进行培训,此类的培训是与实训教学相结合。每个班级的实训周里,我们会重点培训微型计算机系统的基本操作与使用(微型计算机的使用操作方法、基本外部设备的使用与一般调整方法、微型计算机文件系统的操作与管理、常用软件的安装设置方法、计算机病毒的检查处理方法),而其他几点(文字信息处理、图形图像处理、因特网操作)与计算机一级考试相符由学生自己练习。在实训周里我们将进行实践考试,全部课程结束后组织理论考试。完全符合学校的教学方式,对学生来说计算机职业化能力水平又是一个很好的体现。

四、课程考核改革的实施效果/结束语

篇5

关键词:科研教学;工程实践;竞赛融合;因材施教

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)22-0085-02

伟大的算法和程序设计技术的先驱者、计算机科学家Danold E. Knuth指出 “计算机科学即是算法的研究”,算法设计与分析设计不仅是国内外大学中计算机类和信息工程类专业本科生的核心课程,也是计算机学科研究生的学位课程,该课程在本科和研究生阶段的的整个课程体系中都发挥着重要的作用。在科学技术和社会经济水平飞速发展的今天,传统的课堂上讲好经典算法+实践课上做验证性实验的教学方式已无法满足教学效果需要了。在高度信息化的现代大学中,学生的思维和理想被最大程度的激发,一门课程和一个老师要想满足大多数学生的知识需求是很难的。为了能够从容面对学生求知若渴的眼神,为了让这门课在他们当前培养体系和未来的职业生涯中发挥其应有的作用,算法课程的教师们不断的尝试着各种各样的教学改革。文献[1]和[2]提出了基于ACM-ICPC模式的算法分析与设计课程实践教学改革,文献[3]和[4]提出了将翻转教学用于算法课程中,文献[5]提出了面向不同层次学生的算法课程教学改革,还有一些教师将先进的教学辅助手段用到了算法教学的课堂中,例如文献[6]提出了算法可视化的教学辅助平台,文献[7]介绍了蚁群算法的教学辅助平台和教学效果,这些改革措施都在实际教学中取得了很好的效果。但是,单一的改革方式只能优化算法教学的冰山一角,最好的改革应该是立足于学生,因材施教。每个走进大学校园的学生都是寒窗苦读之后飞进象牙塔的天之骄子,没有差生,有的只是不同的兴趣,不同的思维方式。他们有的思维活跃善于创新,有的思维缜密善于逻辑推理,有的思维沉静善于钻研。基于此,针对课堂教学环节、实践课环节和成绩考核环节,本文提出了科研、竞赛与工程实践相融合的三位一体的算法分析与设计课程教学方法。

1 课堂教学环节

由于学时限制,传统的算法分析与设计课堂一般会主讲或只讲一些经典算法,例如:基于蛮力、分治、减治、动态规划、贪心等设计技术的算法,很难抽出时间去讲解新的算法设计技术,例如回溯、分支限界法、随机算法和启发式算法等。若算法课程只关注经典算法和对经典算法的验证,就会令学生成为井底之蛙、固步自封。在现今,算法的使用已经渗透到日常生活中的各种控制系统中,如果脱离具体应用,让学生学习纯算法,就令学生陷入了读死书的困局。因此,针对学生情况的不同,笔者将课堂教学的一些改革措施用到了实际教学中,并取得了较好的效果。

天生“学生”之才必有用,结合学生的不同特点,将学生分为科研型、竞赛型和工程实践性三类。教师不对学生盲目归类,在教学的过程中潜移默化的传授他们科研、竞赛和工程实践的精神,令学生自主选择。为了能够在课堂教学中科研、竞赛和工程实践并重,教师在课堂授课时需要做到如下几点:

1)教师选择经典中之经典的几个算法进行详细讲解,讲清楚算法原理和编程思路之后,着重分析其时间复杂度。

2)为学生讲解最新期刊上发表的(1)中的几个算法的论文,介绍其改进方案,以及在时间复杂度或其它方面的改进,带领学生将该算法学懂学精。

3)选择ACM竞赛中与(1)中几个算法相关的赛题,在课堂上与学生一起分析。

4)用(1)中几个算法实现现实生活中的实际问题,将所学算法第一时间用于工程实践。

5)讲完几个经典之经典算法之后将回溯、分支限界法、随机算法、启发式算法搬入课堂,带领学生在科研、竞赛和工程实践三方面同时强化这些算法。

做到了上述五点,就可以兼顾三种类型学生的需求,令每个学生了解什么是科研,什么是竞赛,什么是工程实践,明白自己适合向哪个方面发展。之后,在实践课阶段选择自己适合的方向进行实验和拓展。那些被排除在经典之经典算法之外的经典算法,可以让学生用翻转教学的方式学习,教师用较短的时间进行答疑。

在科研、竞赛和工程实践并重的课堂教学环境下,每个同学都对算法设计技术有了全面而深刻的认识,虽然比传统课堂中学的算法类型少,但是学的精,教师真正做到了“授之以渔”。

2 实践教学环节

教学环节的全面撒网,是为了每个学生都能找到自己的优势并进行收获。所以实践教学环节应该充分发挥学生的自主性。教师可以将每个实验内容编为三选一的题目。比如一道算法改进题,一道ACM竞赛题,一道路由资源的算法分配题,令学生根据自己的情况自主选择。为了不打击学生的自信心,算法的题目不能出的太难,应该每次实验兼顾各种难度的题型。令学生在攻克一道道算法问题的时候充满信心,逐步引导他们走进算法的海洋。要做到这些,教师需要做如下准备和工作:

1) 精心研读各种算法的算法改进方案,给出学生合理的引导,令他们不要误入科研的死胡同。

2) 收集ACM竞赛试题,并且按算法分类,每次实验都能拿出合适的题目来训练学生。

3) 涉及工程实践的算法源程序通常很长,让学生从读程序开始学起,读懂了之后去改变程序,实现其它的功能。

每个实验完成之后,教师需要认真批改学生的实验,选出优秀的作品,组织学生进行讨论,让同学们在讨论中认可自己,同时学习其它同学的算法思维方式,改进自己的算法设计能力。

3 成绩考核环节

课堂教学环节负责全面撒网,实践环节负责重点收获,成绩考核环节则需要检验学生学习知识的广度和精度,让学生认识自己学习的程度,然后进步。在实际教学中笔者将成绩考核环节分为平时成绩(作业和点到)、实验成绩和期中、期末成绩。实验考察学生的编程能力,期末考察经典算法学习情况,期中考察新算法、竞赛能力和工程实践开况。

实验成绩根据实验情况、实验记录和学生口头阐述为依据,要求科研型的学生做完美的推理、缜密的阐述,要求竞赛型的学生快而准,要求工程实践型的学生细心周到克服实际开发中的各种麻烦。期中考试要求学生上交小论文或科学报告来描述自己的设计或创新,期末考试为闭卷考试,现在很多课程都喜欢设置为开卷考试,但是算法设计与分析课程作为一门重要的核心课程,对于计算机和信息专业的学生而言,就像我们小时候背的乘法律,有些内容牢记了,对于日后的学习是可以起到事半功倍的作用的。

成绩评定方式是一种督促的手段,这种手段用好了可以检验学生的能力,提高他们的积极性,用的不好,会打击学生的信心。因为在实验课和期中测试中,都采用学生自主选择方式,因此,要根据学生类型制定评分标准:

1)对于科研型的学生,要根据他们读科学文献的数目、对文献的理解程度和自己改进方案的合理性和实现情况综合评定;

2)对于竞赛型的学生,要根据他们的解题速度和解题方法的灵活性来进行成绩评定,仿照ACM比赛规则,若答错一题则倒扣分;

3)对于工程实践型的学生,需要让他们将一个大问题划分为几个模块,将几个小模块实现之后再整合成一个完整的系统,综合考评他们面对一个具体问题时的分析和解决能力。

学生根据教师提出的评分标准,自然会以考试和考评为督促手段,在科研、竞赛或工程实践中养成好的习惯,提高自己算法设计的综合能力。

4结论

本文提出了科研、竞赛与工程实践三位一体的算法设计与分析课程教学方法,并应用于实际教学中。通过科研、竞赛和工程实践并重,经典算法为导向的课堂教学,令学生可以具备三方面的基本能力和选择能力,并且在后面的实践环节和考核环节中自主选择适合自己的学习方式和知识拓展方式,最终在兴趣中学习算法课程,为学生未来的职业生涯打下坚实的基础。

参考文献:

[1]刘晓璐.基于ACM-ICPC模式的算法分析与设计课程的建设与实践[J].中国教育信息化:基础教育,2015(5):65-67.

[2]李华,赵建平.基于ACM―ICPC的算法设计与分析课程改革[J].计算机教育,2013(7):88-91.

[3]高丽萍,刘亚,彭敦陆等.翻转教学在算法设计与分析中的应用研究[J].计算机时代,2014(11):59-61.

[4]张铭.立足北大,放眼未来――“数据结构与算法”MOOC课程教学实践与思考[J].工业和信息化教育,2014(9):65-73.

[5]陈翔.面向不同层次学生的算法设计与分析课程教学改革探索[J].计算机教育,2014(18):19-22.

篇6

关键词:计算机教育;专业设置;课程设置;实践教学;南洋理工

新加坡南洋理工大学(Nanyang Technological University,NTU)创办历史不长,但在国际上已享有盛誉[1]。她用不到30年的时间超越了世界上很多百年大学的水平,堪称快速崛起的典范。南洋理工大学是一所以工科见长的大学,其计算机专业教育对我国新兴大学的计算机学院,以及所有正在探索应用型计算机人才培养的高校,无疑具有很好的参考价值。鉴于此,笔者根据南洋理工大学网站对外公布的办学资料,梳理南大的计算机教育特色,供同行们参考。

1院系设置与专业划分

南洋理工大学包括商学院、工学院、文学院和理学院等四个主要学院,下设12个专业学院。除此之外,国立教育学院和拉惹勒南国际研究院是两个自主学院[1]。计算机工程学院隶属于工学院,下设计算机工程和计算机科学两个本科专业,可颁授工学学士学位。其办学主旨是为学生提供基础扎实、涉及面广的计算机专业教育,并进行大量的职业训练,为学生迎接未来技术快速发展的挑战和终生学习奠定基础[2]。

计算机工程专业的办学宗旨是综合计算机科学与微电子工程学科,着重计算机系统及其实时应用的制作工程。让学生具备计算机科学家的分析技能和电子工程师的开发设计技能。其可选专业方向包括计算机及通信网络、计算机视觉与图形学、嵌入式系统、高性能计算、信息系统、智能系统[2]。

计算机科学专业的办学宗旨是专注于计算机技术的有效应用,尤其是算法和数据结构、设计方法、程序设计语言等方面,同时也将重点放在满足给定要求的有效和可靠软件的实际设计。该专业与计算机工程专业有很大程度的重叠,但重心置于算法和概念层面。相比于计算机工程专业,计算机科学专业更注重软件的设计和构建;相比于颁授理学学位的同名专业,该专业更强调计算机科学的实际应用。其可选的专业方向包括智能系统、软件工程、信息管理、计算机及通信网络、计算机视觉与图形学、高性能计算[2]。

2课程设置

南洋理工大学本科教育学制通常为4年。计算机工程学院本科学生在4年期间要修满154学分。这154学分所包含的课程类别和数量如表1所示[3-4]。

以下分通识课、核心专业课、指定专业选修课几部分说明课程。有关实践教学的内容将在下一节专门介绍。

2.1通识课

通识(General Education)课相当于我国的公共课,分为三种。一是核心课程(Core Courses),主要涉及人力资源管理与沟通技巧,并为学生提供严肃思考和评论社会问题的基础。现有的5门核心通识课如表2所示。二是指定选修课(Prescribed Electives),分三个子领域,即人文社会科学、科技与社会、商业与管理。三个子领域覆盖了几乎所有学科范围,有很多全校共享的可选课程。学生可以根据自己所学专业,从开阔视野的角度尽量选读其他学科的相关课程。例如,科学和工程专业类学生可以选分人文社会科学方面的课,3学分的科技与社会、3学分的商业与管理[5]。三是任选课(Unrestricted Electives)。这类选修课指所有适合学生个人发展取向(更专业或更广博)的选修课程。通过任选课,有的学生可以辅修其他专业(称为Minor),获得其他领域的资质。任选课的来源通常有以下几种:各专业学院提供的任选课、学生所学专业提供的相关技术或指定选修课、其他专业提供的辅修课程以及其他途径(例如受邀参与校内研究项目可获学分)[5]。

2.2核心专业课

核心专业课为特定专业所有学生都必须修读的课程。这些课程分布在一到三年级上学期的5个学期中。计算机工程专业和计算机科学专业的核心课如表3和表4所示。

上述课程中,英语提高(HW001)是为英语测试不合格的学生提供的辅导,无学分。精通C语言(CPE110, CSC110)是一门电子学习、在线考试的课程,安排在两个学期之间的空档进行。除此之外,还有一些课程不能从名称直接看出其具体内容,说明如下[6-7]。

1) 编程导论(Introduction to Programming):该课程用Java语言介绍编程的基本知识。

2) 软件系统与模型(Software Systems and Models):主要内容包括并发模型、事件驱动的编程、GUI开发、并发编程、进程交互机理、特性分析等。

3) 程序设计语言(Programming Languages):主要介绍软件开发中编程语言的角色,语法与语义的描述,语言翻译,虚拟机,数据与控制的抽象,数据类型,类型检查,范围,异常处理,并发,语言方略比较(面向对象、功能和逻辑的编程),程序排错,大规模编程等。

4) 以网络为中心的计算(Net-Centric Computing):主要包含通讯与连网、网络架构、客户服务器计算与Web技术、建立Web应用、网络管理等。

5) 软件工程I(Software Engineering 1):主要内容包括概述、软件过程模型、面向功能的分析设计方法、面向对象的分析设计方法、应用程序编程接口 (APIs)、编程环境与基于Web的软件工程等。

6) 软件工程II(Software Engineering 2):主要内容包括项目管理、软件质量保证、维护、验证与测试等。

2.3指定专业选修课

指定专业选修课按照不同的专业方向分组列出。学生根据自己的兴趣选择某个专业方向时,就可以选修该方向的指定选修课。但这种分方向的指定选修课,并不一定要打包选修。学生有自己选课的自由。例如,学生可以从一个方向选几门,再从另一个方向选几门,只要选修的总学分为24即可。实际上,有些方向给出的指定选修课不足6门(24学分),学生必须选其他方向的课程。

另一方面,所有专业选修课都是相对独立的单元,只要修读了前述专业核心课,就可以选修。每门课都是4个学分,每周上课3小时,另有1.5小时的教师辅导和实验时间。这些课都安排在4年级的两个学期(第七、八学期)[3-4]。

3实践教学

篇7

关键词:计算机;工程实践;课程体系改革

中图分类号:G642 文献标识码:B

最新人力资源调查显示,人才市场急需计算机工程师人才特别是“嵌入式人才”,但是负责人才输出和培养的大专院校近年却出现了重软件轻硬件、重研究轻操作、重理论轻实践的现象,显然无法满足市场对人才的需求。为了解决供需矛盾问题,达到教育部提出的“高等教育要重视培养大学生创新能力、实践能力和创业精神”的要求大专院校除了要培养研究和创新型人才以外,应该注重有大工程观和大系统观,同时具备一定实践能力的高级工程师的培养。

为了提高工程实践教育水平,根据社会和国家建设的需要,清华大学开始建设计算机工程实践教育实验区,以此为契机,我们对计算机工程实践教育模式进行改革和探索。

1 计算机工程实践教育的定位和教育理念

计算机工程实践教育的培养目标是:培养学生接受创新的工程实践意识、严谨的工程实践作风、科学的工程实践素质、优秀的工程实践能力、规范的工程实践标准等方面的教育。依据学校的规划和实施方案,根据教学需要,我们建立了自己的教育理念,内容如下:

(1)面向工程需求的课程体系

计算机的发展推动了计算机学科的进步,计算机的应用提升了各学科的技术水平。实验区面向社会实际工程的不同需求,按照技术基础、工程应用和工程实践,建立多层次的课程体系。

(2)强调理论基础上的实践

计算机教学具有实践性强的特点,实验区给学生提供充足的实践空间,通过实验验证、课程设计、专题训练、专业实践、毕业设计等实践活动,提高学生的实践能力、科学作风,加深对理论知识的理解。数理、电子技术是计算机学科的基础,逻辑思维、抽象思维是计算能力的体现,实验区强调理论指导下实践,实践与理论的结合。

(3)依托科研优势的实践教育

清华大学计算机科学与技术是全国重点学科,拥有高素质的科研队伍和雄厚的科研能力,承担了一系列国家“973”、“863”、“国家自然科学基金”、“国家攻关”等重大和重点项目,取得了多项创新性成果。实验区注意提取科研中的相关知识点,引入到工程实践教学中,以先进的科学问题激励学生的思考。通过实践教学,让学生体验书本与应用、学习与研究、通识与专业、继承与开创的关联。提升工程实践人才的培养水平,努力将实验区建设成为一个科研成果转化和工程实践创新基地。

2 计算机工程实践教育的改革思路

我们深入地分析了国内外院校在计算机教学方面的经验,从教学内容、授课机制、实践教学建设、工程意识与团队精神培养等教学环节和培养目标上看到了我们的不足,并在此基础上明确了近几年内的建设目标。与此同时,我们根据建设和发展的要求,针对人才培养模式提出了如下改革思路:

(1)建设一套完整的工程实践教育体系。计算机学科是实践性、工程性很强的学科,实践环节十分重要。建设技术基础、工程应用和工程实践三个层次的课程体系,自主研制或引进一批与世界一流大学接轨的实践教学装置和仪器,同国内外知名的企业和公司合作建立一批学生工程实践基地。

(2)建立一支优秀的工程实践教师队伍。一堂好的实践课对教师的要求很高,建立一支爱岗敬业、技术精湛、水平高、责任心强的教师队伍十分重要,这是搞好计算机工程实践教育实验区建设、提高实践教学水平的重要保障。工程实践教育实验区在注重培养学校内部教师工程实践能力的同时,将定期邀请一批企业、公司中高素质的工程技术人员讲学、任教。

(3)注意把科研成果引入到工程实践教学中,将计算机工程实践教学区建设成为一个科研转化基地。高水平的科研始终是实践教学的有力支撑和源泉。计算机学科发展很快,必须经常更新工程实践内容,引导学生直接面对科学前沿,应用新技术驾驭新工程,教会学生在实践中学习,在学习中提高。

(4)加强工程实践教育标准化,推出面向工程实践的系列教材。作为工程实践性强的代表学科,计算机学科对工程实践能力的要求非常高,但是近10年对此的要求和教育重视程度有所降低,因此加强工程实践教育尤其是大工程实验方面的教育是我们接下来的重点改革目标,为了更加系统化和规范化,将推出配套的面向工程和实践的系列教材。

3 计算机工程实践教育的课程体系和培养方式

我们设定的计算机工程实践教学课程体系包括三个层次:技术基础类、工程应用类和工程实践类课程,其中工程应用类又分为软件和硬件两个子类(如图1所示)。

(1)技术基础类课程

从课程设置方面看,这些基础课程都属于计算机专业基础课程,是计算机系学生的必修专业基础课。这类课程为学生打下了坚实的计算机应用技术基础,为工程实践技术的应用做好准备。

(2)工程应用类课程

工程应用类课程分为两大系列:软件工程应用系列和硬件工程应用系列课程。软件工程应用系列以计算机网络技术、软件工程、数据挖掘等课程为主体;硬件工程应用系列以计算机组成原理、微计算机技术、嵌入式系统、FPGA设计等课程为主体。这些课程虽然如此分类,但是有很多课程软件和硬件技术都融合在一起,并非有严格的界限划分,学生在学习和选择上也仅做参考。这些课程直接为学生服务,提高学生利用“人类通用智慧工具”分析和解决问题的能力,将计算机科学与技术在工程应用中充分体现出来,提升学生的综合素质和工程应用能力。

(3)工程实践类课程

计算机工程实践类课程包括必修和选修环节,目的是能够将学生培养成为合格的工程师,有创新的工程实践意识、严谨的工程实践作风、科学的工程实践素质、优秀的工程实践能力。此类课程在内容上每年都进行更新,在质量有充分保证的基础上,每年都争取增加和扩大,以提高学生的选择空间。

在三类课程中,实验区重点突出工程实践类课程,并逐年提高此类课程所占的比例,力图将学生训练成在工程实践上有很强自主性和创新能力的专才。以计算机工程实践必修课“计算机专业实践”为例。该课程要求学生在教师指导下,灵活运用所学到的基础知识和主要专业知识,自己设计、制作、调试完成一个工程性极强的大型教学实践课程,使学生在实际动手能力、创新思维、专业知识、工程实践能力和团队合作精神等方面得到全面的训练。主要内容包括“开放式CPU设计与测试”、“多模态身份验证系统”、“足球机器人及机器人足球赛”、“基于FPGA的微机接口设计”等。以“开放式CPU设计与测试”专题为代表,该实践专题的最大优点是开放式设计,完全由学生自主设计处理机体系结构,并进行全面测试。该实践专题以“数字电路”和硬件设计语言为基础,把“计算机组成原理”和“计算机系统结构”等课程理论与实践融合在一起,是计算机本科硬件课程的汇总。

再例如2007年7月夏季学期推出的“基于大规模集群的海量数据处理技术”课程,该课程是Google公司与实验区合作,在清华大学开设的有关集群分布式编程的课程。通过本课程的学习,学生将深入了解到通过大规模集群的模式处理海量数据的方式与编程方法。来自Google公司的优秀工程师亲自讲述有关使用大规模集群处理海量数据的理论知识以及相应的实际编程方法。通过实践相关的课程内容,使用开源的Apache Lucene Hadoop工具,学生亲身实践Google文件系统以及Google所使用的分布式编程方式MapReduce。学生还需要完成特定的分布式应用程序设计来巩固所学的编程知识,用于处理实际的海量数据问题。课程内容的重点放在实践上面,Google公司为学生提供一个具有20个节点的大规模集群范例,学生可以在这个集群上面完成相应的实践课程以及最后的大项目作业。大项目作业是检验学生是否掌握课程内容的关键,学生可以根据自己的能力以及对课程的理解程度,选择一些项目来实践完成。例如可以利用所学的编程方法完成一个完整独立的搜索引擎,或者在现有的基础之上建立类似于Google的分布式锁机制Chubby以及结构化数据处理系统BigTable。我们主要邀请Google内部的具有实际分布式工作经验的工程师前来授课,包括世界一流大学的教师,授课语言为英语。

篇8

关键词:计算机 人才创新

一、计算机科学与技术人才培养创新体系的制定

计算机科学与技术人才培养创新体系的构建是实现人才培养目标的重要前提,而计算机科学与技术专业又不同于相对成熟稳定的传统学科,该学科不仅发展迅速,而且与其他学科的交叉融合日益突出,因此,原有的人才培养方案己经不再满足新时期的计算机科学与技术专业的高等教育的需求。计算机学院对计算机科学与技术专业的人才培养体系进行了重新调整,严格执行教育部制定的“高等学校计算机科学与技术专业发展战略研究报告暨专业规范”和“高等教育计算机科学与技术专业公共核心知识体系与课程”的规定,同时从本校实际出发,创新计算机专业人才培养的课程体系和教育培养体系,完成了对计算机科学与技术专业人才培养体系的构建。

计算机人才培养创新体系研究的范围很广,具体内容包括:课程知识创新体系、实践教学创新体系、师资队伍建设创新体系、教学资源建设创新体系等等。此外,还要把上述体系融合为一种行之有效的人才培养模式,逐步进行细化,最终实现基础扎实、软硬兼通,同时兼顾计算机科学和计算机工程两个培养方向的宽口径人才培养目标。

二、构建计算机科学与技术人才创新体系的措施

(一)构建计算机科学与技术人才课程知识创新体系

拥计算机科学与技术、网络工程、软件工程、信息管理和通信工程共五个专业,各个专业既是独立的专业又相互融合,每个学科都有自己的学科优势和人才优势,而计算机科学与技术专业又是学院的龙头专业,因此我们在制定计算机专业的课程知识体系时,并没有把它当做一门孤立的学科对待,而是立足学院的高度建立了一个各个学科既互相融合、又互相促进的课程体系,我们的基本思路是打通五个专业的主要基础课,建立学院的基础教学平台课,然后在此基础上构建各个专业的核心课,除了学校的公共课外,学院的课程分成三个层次:学院平台课、专业核心课和专业特色课,如图1所示。学院平台课和专业核心课在计算机科学与技术专业中具有举足轻重的地位,通常被视为该专业的“看家本领”。此外,通过专业特色课,我们把人才培养目标定位成“计算机科学”和“计算机工程”两个出口,前者偏重软件,后者偏重硬件,做到了软硬并重。构建计算机科学与技术人才课程知识创新体系。

(二)构建计算机科学与技术人才实践教学创新体系

计算机科学与技术专业具有很强的工程性和应用性,这就决定了我们的本科教育在强调理论深度的同时,必须把对学生实践能力的训练放到一个足够重要的位置上,因此,实践教学体系的制定和落实,直接决定了人才的素质和培养质量。网络教学平台是一种行之有效的手段,不仅可以提供优质的教学资源和丰富的教学活动,而且可以大大拓宽课堂教学的时间和空间。网络教学平台一般包括管理员空间、教师空间和学生空间三个组成部分。其中教师空间和学生空间是主体部分,并且功能基本一致。教师空间包括教学资源和教学活动两部分,如图3所示。在教师空间中我们为学生提供了丰富的教学资源,包括教学课件、教学视频、教学文件、题库、实验材料等,从而方便学生的自主学习。此外,网络教学平台可以弥补课堂教学中师生互动少的不足,可以为教学提供丰富的教学活动,如在线学习、在线讨论、在线答疑、提交作业、批改作业。因此,网络平台不仅极大地丰富了教学资源,而且实现教学和实验的网络化,大大拓宽了课堂教学。

三、构建计算机科学与技术人才创新体系的思考

制定一个科学、有效的“计算机科学与技术专业人才培养体系”是将人才培养理念落实到实处、实现人才培养目标的必要条件。由于人才培养体系是一项复杂的系统工程,因此,为了实现人才培养的目标应将其中的各项内容贯彻落实到人才培养的实践当中。首先,要精心设计本学科的课程知识体系;其次,通过多种手段,强化实践教学体系;然后,要进一步地通过培养高水平的教学团队提升整个师资队伍的建设;最后,利用网络教学平台为学生提供优质的教学资源,构建计算机科学与技术人才创新体系,使计算机科学与技术人才有个新的发展。参考文献:

[1]张丽萍.程序设计精品课程建设的研究与实践[J].教育科学,2012(1).

篇9

【关键词】电子计算机 网络 控制软件 改进

随着计算机和网络的不断进步,信息技术飞速发展,互联网的普及与应用为人们的生活、学习、交流带来了极大方便,但与此同时网络安全入侵事件却屡见报端,如果对于计算机网络应用中的控制软件应用不加以改进和提升就会使网络安全问题更加突出,给网络用户带来更大的安全隐患,所以,加强网络安全,保证网民的正常生活,确保网络秩序的正常化是网络工作者现实需要面对的非常棘手的问题。

一、相关概念界定

(一)网络控制。所谓网络控制,是指通过一系列的通信信道网络控制装置构成一个或多个闭环控制,随着信号处理,优化和控制决策函数的操作功能。网络控制系统被应用于―系列通信网络的不同物理部件之间,进行处理系统交换信息和控制分配系统的信号,并且控制器可以被分散在网络中的不同位置。

(二)网络软件。网络软件是指,在计算机网络环境中,用于支持数据通信和各种网络活动的软件。连接到计算机网络的系统,通常是基于系统本身的特性,容量和服务对象,配置不同的网络应用系统,目的是用户与其他系统共享网络资源,或是把本地系统的功能和资源提供给其他网络用户共享使用。网络软件通常包括网络协议和协议软件,网络通信软件,网络操作系统软件,网络管理软件和网络应用软件几种。

(三)网络控制软件。网络控制软件是网络软件之一,即通过支持该软件的行为,来提高网络的工作效率,是专门为网络管理人员设计,以帮助网络管理人员对网络进行自动化监控和管理,最终达到减少故障,提高IT效率的目标。

二、网络控制软件的应用及弊端

网络管理软件应用程序的范围很广,主要可以分为广义和狭义两个方面。从广义上来说,任何有网络的地点都需要网络管理,网络管理软件就用在这些领域内。从实际的应用来看,电信,银行,金融等众多行业都使用网络管理软件。在狭义的角度来看,网络管理软件有不同的划分方式。根据网络管理软件管理的对象来分,它可分为系统管理软件和设备管理软件。系统管理软件是对全面的整个网络,深入的监控和管理的软件(包括服务器,网络设备和应用程序);设备管理软件是各种网络设备厂商推出的,可以很好地管理他们的网络的设备(如华为设备管理软件)。虽然网络控制软件通过网络使得人们的工作、学习和生活都带来了巨大的方面,让网络用户通过网络可以实现各种各样的远程操作,但是也同样存在着弊端,例如由此会产生一些网络系统的安全问题;计算机运行的速度问题;由于网络带宽的问题导致的信息在传输过程中的阻塞等现象,这就需要电子计算机网络工作者加强对网络控制软件的改进和完善。

三、电子计算机工程网络控制软件改进应采取的措施

目前,随着人们对网络需求的提高,网络规模急剧扩充的现实已经越来越不充分,因此计算机工程网络控制软件的另一趋势是智能化,集成化的网络管理的方发展方向。

(一)注重对网络安全的建设。我们可以有效地利用网络设备和网络系统,对网络进行安全性测试,如果发现该系统漏洞和安全风险后,进行排除。由于系统本身不可避免的存在一些漏洞,这时可以使用各种软件的“补丁”对漏洞进行修补,更多的系统软件服务,就更容易发生多的系统漏洞,因此,应该要避免运行过多的软件,提高电脑速度,减少漏洞风险,经常性的进行漏洞扫描,以提升网络系统的安全性,有效地保证计算机网络的安全性。用户可以通过授权和其他方法来对数据进行加密,以此保护网络系统的安全性。对系统中的所有数据,可以通过现代数据加密技术进行保护,除了指定的网络设备和网络用户,没有人可以解密加密数据。加密技术主要体现在系统运营和维护,以及开发软件和应用方面,有效的实了现端到端的网络安全保障,是网络安全问题最有效和最可靠的解决方案。

(二)优化配置。配置应用程序为用户提供了写访问的资源,配置应用程序可分为以下几种形式:(1)有关当前资源分配信息。可以使用SNMP来询问如路由表,接口表,地址表和ARP表等。(2)通过管理协议更改配置。通过SNMP协议服务中的Set服务来更改配置信息。这里的一个困难是由于SNMP安全问题,许多制造商不允许写访问的资源。这时可以通过登录系统进行配置。设备制造商允许用户登录到系统中直接更改系统配置工具。

(三)电子计算机工程网络控制实现分布式管理。核心分布式对象的目的是解决跨平台的连接和互动的问题,以实现分布式应用系统。分布式网络管理是建立多域名管理,域名管理负责管理域对象的管理进程的进程,同时进程间进行协调与互动,以完成全球网络的管理。这不仅降低了在中央网络管理的负荷,并降低了信息传送的延迟时间,达到更有效管理的目的。目前,分布式技术的研究主要来自两个方面:一是使用CORBA技术的,另一种是利用移动技术。

(四)深入研究和拓展智能网络控制系统。智能控制是一类无需人工干预就能够通过自主驾驶智能机实现其目标的过程,是机器模拟人类智能的一个重要领域。智能控制,包括学习控制系统,分级分级智能控制系统,专家系统,模糊控制和神经网络控制系统。应用智能控制技术,实现自动控制理论和先进的电脑控制系统,将促进科学技术进步和提高工业生产系统的自动化水平,加快计算机技术智能控制的发展研究方法。

四、结束语

总之,为了提升计算机工程网络控制软件的计算机工程网络控制软件的性能,必须使其朝着智能化、网络化和集成化的方向发展,并加以改进,从而促进计算机控制系统的发展进程和计算机控制系统的应用。

参考文献:

[1] 祁宝婷.电子计算机工程网络控制软件的改进[J].城市建设理论研究(电子版),2013,(23).

[2] 张彤.计算机网络管理软件的应用研究[J].企业导报,2012,(10).

篇10

基于自主研发的新颖异构多核工程科学计算加速协处理器(ESCA)体系结构,实现了图像Laplace变换算法。针对ESCA架构特点,采用子字并行计算和访存延迟隐藏等机制,进行了一系列并行算法优化,并在四核ESCA处理器原型上对图像Laplace变换算法的进行了性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。

关键词:异构多核;协处理器;计算密集型;Laplace变换;并行计算

中图分类号: TN492

文献标志码:A

Implementation of Laplace transform on heterogeneous multi-core

engineering and scientific computation accelerator coprocessor

Abstract:

Engineering and Scientific Computation Accelerator (ESCA) is a heterogeneous multi-core architecture to accelerate computation-intensive parallel computing in scientific and engineering applications. This paper described an implementation of Laplace transform on the hybrid system based on ESCA coprocessor, and the performance of Laplace transform on the quad-core prototype ESCA was exploited. The experimental results show that the ESCA can accelerate program of compute-intensive applications fairly well.

Key words:

heterogeneous multicore; coprocessor; compute-intensive; Laplace transform; parallel computing

0 引言

高性能计算(High Performance Computing, HPC)广泛应用于金融、制药、交通、银行、证券、医疗、教育以及科学计算及信息化服务等领域[1],已成为衡量一个国家核心竞争力的关键指标。近年来受应用需求和系统实现技术的驱动,高性能计算机的核心评价指标已经从高性能计算转向高效能计算[2],即每瓦特能耗下所能实现的性能(Performance-per-Watt,Flops/W)。“主处理器+协处理器”的混合计算体系结构[3-4]以其独特的效能优势[5],已经成为高性能计算机系统体系结构研究的主要趋势之一。同时,片上多核处理器作为摩尔定律的一种新的延续形式,已经成为处理器性能持续增长的必然途径[6]。对此,文献[7-8]面向科学计算、数字信号处理和多媒体处理等科学与工程计算应用领域,提出了一种自主研发的异构多核处理器——工程科学计算加速协处理器(Engineering and Scientific Computation Accelerator,ESCA)体系结构。

ESCA处理器是一个具有强大计算性能的协处理器,采用经典存储器接口方式,与商用主流的通用微处理器(如Intel CPU、IBM Power PC等)或嵌入式微处理器(如ARM、 SPARC等)有效协同,实现基于混合计算体系结构的高性能计算机系统。其中,主处理器上运行操作系统,主要负责执行系统任务和控制任务(如响应中断、操作外设等),并根据应用特点将并行计算任务分配到协处理器计算节点上;ESCA处理器负责对具体的计算任务进行加速。这种“主处理器加协处理器”的混合异构多核架构可以提供强大的计算能力,广泛应用于计算密集型的科学与工程计算应用领域[9]。

图像信息处理是一种典型的计算密集型应用,而Laplace变换在图像处理中的应用非常广泛。本文深入分析了ESCA体系结构的特点,基于ESCA架构实现了图像Laplace变换算法,并进行了一系列并行算法优化。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。

1 ESCA体系结构

ESCA处理器主要包括计算阵列、控制内核、指令高速缓存、总线接口单元以及直接存储访问引擎几大部分,体系架构如图1 所示。其中,计算阵列集成多个计算内核(Processing Element,PE),以单指令多数据流(Single Instruction Multiple Data, SIMD)模式并行执行以提供高计算能力;控制内核负责ESCA处理器与外部的通信,同时取指令发送给PE计算阵列进行运算操作,控制程序的正确执行并收集程序执行过程中的各种状态(异常、中断等)。指令高速缓存用于存储近期可能用到的ESCA计算任务程序,为控制内核提供快速的取指响应。总线接口单元则主要用于进行片内外数据通信,匹配外部Local Bus接口时序和Local Memory接口时序,控制数据通路,根据不同的位宽比例进行数据拆包和打包工作,并且产生相应的控制信号。

控制内核是ESCA处理器的控制中枢,它包含多个控制状态寄存器。这些控制状态寄存器参与全局编址,可供Host访问和查询。而ESCA处理器芯片根据这些控制状态寄存器的设置执行相关操作,如指令高速缓存的预取、计算任务的开始执行、调试模式、DMA传输配置等。此外,控制内核读取指令并进行初步译码,识别该指令是在控制内核处理器核中执行的(如同步指令、Load/Store指令、跳转指令、控制内核级别的简单计算和比较指令等)还是要传递给计算阵列进行的(如用于运算加速的计算指令、网络传输指令等)。计算阵列则是进行并行计算,它支持向量模式及子字并行,同时在计算阵列实现了条件执行和条件中断,以及间接寻址等功能。PE之间的互联网络采用层次化方式构建,具有很高的可扩展性和灵活性。

2 图像Laplace变换算法在ESCA上的实现

2.1 图像Laplace变换基本原理

拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:

另外,拉普拉斯算子还可以表示成模板的形式,如图2所示。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。

2.2 Laplace变换算法在ESCA上的实现

2.2.1 任务划分

由于ESCA系统是以“主处理器加协处理器” [10]的混合计算模型执行的,主处理器(商用CPU)在处理数据相关性不大的计算类和复杂繁琐的非计算类具有优势,而协处理器(ESCA处理器芯片)则适合用来处理计算性强但逻辑性不强的大量平行数据。所以需要进行合理的任务划分,使二者协同工作,共同完成计算任务,能充分利用各自的架构优势,发挥出强大的计算能力。

ESCA系统中主处理器(Host)与协处理器(ESCA芯片)之间按照offload mode协同完成具体应用:Host端先对原始数据进行预处理,然后创建初始化ESCA处理器芯片线程空间,将相关指令和数据从系统主存下载到ESCA芯片的片外存储器中,之后再启动ESCA芯片执行;ESCA芯片接收到启动控制信号后,由控制核控制内核从初始地址开始取指运行,配置计算阵列对待处理数据的DMA加载过程。当一次批量运算所需的数据都从片外存储器通过DMA方式载入到计算阵列的局部存储器之后,所有PE在SIMD模式下执行并行计算。当计算阵列完成该次计算任务后,由控制内核配置计算阵列的结果数据到片外存储器的DMA下载过程。当ESCA芯片的所有计算任务完成后,控制内核将操作完成的控制信号写入特定状态寄存器,Host查询到该状态,将ESC外存储器的结果数据读回,通过相应处理得到最终结果。ESCA系统执行图像Laplace算法的具体程序流程如图3所示。

2.2.2 分块存储

从式(3)可知,在对图片进行Laplace变换时,每计算一个像素点都会用到原始像素矩阵的3×3的小矩阵,而BMP格式图片的像素点在存储器中是按行存储的,所以在计算时,需要多次访问局部存储器。因此需要将图片像素进行分块存储,使每一块的数据大小为ESCA计算阵列所能处理的大小,就能减少ESCA计算阵列对局部存储器的访问次数,提高访问效率。

ESCA的一个处理单元有16×16个寄存器,在子字并行(Subword)技术[11]下,一个寄存器可以存放4个像素值,除去用作临时变量的16个寄存器,ESCA处理单元一次能批量处理64×15个像素点,在ESCA计算阵列规模为2×2的情况下,ESCA计算阵列一次能批量处理64×60个像素点。因此可以在Host端先对二维BMP图片进行分块,每块大小为64×60个像素点,以块为单位部署到ESCA的局部存储器中。计算时,每次传递一块数据到计算阵列,经计算阵列计算后,结果数据再以块为单位放回到ESCA局部存储器中。最后,由Host端将ESCA局部存储器中的结果数据矩阵还原成Bmp图片。

考虑到边界元素的影响,原始数据块之间会有部分数据重叠,每个数据块包含的实际像素点为56×52个,这也即结果数据块的大小。所以对于尺寸为W×H的Bmp图片,分块后个数为N,则:

2.2.3 分块计算

在对图像数据完成分块处理后,由ESCA计算阵列对分块数据批量完成Laplace变换。计算阵列是ESCA的计算核心,由多个处理单元组成,构成了一种片上轻量级集群结构,通过片上互联网络进行有效互连,在控制内核的控制下以SIMD方式实现高效并行计算。为了方便管理和控制,处理单元以方阵形式组织,根据应用需求,可以从2×2的规模,方便的扩展到4×4,甚至16×16的规模。

在本文中,计算阵列由2×2共4个处理单元组成。将分块数据的64×60个像素点的块数据按列分成4个64×15个像素的小块,再分配到计算阵列的4个处理单元中去。由于相邻处理单元数据不存在数据相关性,所以4个处理单元可以完全的高速并行进行计算。除去边界元素,每个处理单元一次批量计算出来的像素点为56×13个,计算阵列一次批量计算出来的总的像素点为56×52个。

2.3 性能优化

2.3.1 子字并行机制

为了对性能进行进一步优化,除了在计算阵列的多个处理单元能实现SIMD并行外,还可以在处理单元内通过子字并行(Subword)机制实现SIMD并行。所谓子字并行,是将多个短数据(即子字)打包并封装到一个寄存器中,利用数据并行操作对一个寄存器中的所有子字进行并行处理,是一种低功耗、小规模的SIMD并行。

对于图像Laplace变换这项具体应用,ESCA处理单元的寄存器是64位,而8位BMP图片的1个像素点为8位,考虑到计算的中间结果可能超过8位,故用16位来存储,ESCA的1个寄存器可以存储4个像素点。利用子字并行机制,1条指令能同时对1个寄存器内的4个像素点的数据进行并行处理。

在Host端图片像素是顺序存储的,如图4所示,相邻的点并不在相邻寄存器的对应位置。

为了减轻Host端数据处理的负担,尽量保持数据的原始性,由ESCA的计算阵列通过多媒体数据重排指令来完成这一过程。对于进入ESCA计算阵列的原始数据,通过数据重排由图4到图5;对于ESCA计算阵列计算出来的结果数据,则通过数据重排由图5到图4。

2.3.2 访存延迟隐藏

为了解决存储带宽对ESCA系统性能提升的制约,还可以通过减少访存开销来提高系统性能[12]。通过计算阵列局部存储器实现的双缓冲(dual-buffer)机制,在计算阵列的一块Local Storage进行计算的同时,往另一块Local Storage里灌数据,两块存储器交替进行计算,可以最大限度地隐藏访存延迟,提高效能,具体实现方式如图6所示。

在这个过程中,由于片内外数据传输以流水方式通过DMA控制器进行,在进行大批量数据传输之前,需要先通过

DMA 通道命令进行传输参数配置,并触发DMA控制器通过正确的DMA队列向总线接口发起链路请求,进而向片外存储器控制器发起连续的读写请求。数据传输延迟时间(以时钟周期为单位)的估算公式为:

DMA数据传输时间=DMA命令配置开销+

DMA控制器队列响应及仲裁开销+

DMA传输过程主要包括计算阵列对片上存储器原始数据的读取和将计算阵列结果数据写入片上存储器。通过前面的讨论可知,原始数据的一次批量读取为64×60个像素点,结果数据的一次批量写入为56×52个像素点,其中1个像素点占16位,代入式(5)可以计算得到如表2所示结果。

3 性能评测

本文采用UMC 0.18μm 1P6M CMOS工艺实现了1个片上集成4个计算内核的ESCA处理器原型芯片,其指令宽度128b,目标工作频率250MHz,单精度浮点性能4 GFlops,片上网络带宽8GB/s,存储器采用256-bit的eDRAM。选择的主处理器测试平台为Inter Core2 Duo CPU 9400,工作主频为2.53GHz,1.99GB内存。测试中,分别基于“Intel处理器+四核ESCA芯片”以及独立的Intel CPU处理器2个平台对不同尺寸的8位256色BMP图片执行Laplace变换。其中,前者Intel处理器只执行简单的任务分配,计算加速任务完全由ESCA芯片执行。由于ESCA芯片通过计算阵列片上存储器实现的dual-buffer机制实现了访存延迟隐藏,实际程序运行时间计算公式为:

相比2.5GHz的Intel CPU,工作频率为250MHz 的ESCA芯片通过采用4个计算内核同时执行子字并行计算,并且有效隐藏数据访存传输延迟,可以获得1.10~1.16倍的性能加速比。由于ESCA芯片工作频率远低于Intel CPU,因此体现了ESCA处理器良好的计算加速效果。评测中也发现,图片尺寸ESCA系统加速性能有直接影响。由于ESCA芯片计算阵列一次批量处理的像素点为56×52个,假设图片尺寸为M×N,那么M和N分别为56和52的整数倍时,ESCA的计算整列每次批量运算都为满载运算,计算效率最高。当增加ESCA芯片个数或者计算阵列规模时,计算时间会相应减少,但访存时间会成为制约系统性能提升的瓶颈。

4 结语

ESCA处理器是一款自主研发的新颖异构多核处理器工程科学计算加速协处理器,片上集成多个计算内核工作在SIMD模式,具有高的计算性能,内核之间通过高效的片上网络进行通信,具有高的网络通信带宽,可以针对计算密集型应用进行有效计算加速。本文基于该“主处理器+ESCA协处理器”系统实现了图像Laplace变化算法,进行了一系列并行算法优化,并在四核ESCA处理器原型芯片上进行性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。如何解决访存时间对系统性能提升的制约问题,将是我们后续研究的重点。

参考文献:

[1] BELL G, GRAY J. Whats next in high-performance computing?[J].Communications of the ACM,2002, 45(2): 91-95.

[2] HOFSTEE H P. Power efficient processor architecture and the cell processor[C]// Proceedings of the 11th International Symposium on High-Performance Computer Architecture. Washington, DC: IEEE Computer Society, 2005:258-262.

[3] BARKER K J, DAVIS K, HOISIE A, et al. Entering the petaflop era: the architecture and performance of Roadrunner [C]// Proceedings of the 2008 ACM/IEEE Conference on Supercomputing. Piscataway: IEEE, 2008:23-33.

[4] KOCH K. Roadrunner and hybrid computing[EB/OL].[2013-02-20].http://lanl.gov/orgs/hpc/salishan2007/koch.pdf

[5] FENG W C.Top500 official website[EB/OL]. [2013-02-20].http:///

[6] KUMAR R, TULLSEN D M. Heterogeneous chip multiprocessors[J]. IEEE Computer Science, 2005, 38(11): 32-38.

[7] WU D, DAI K, ZOU X, et al. A high efficient on-chip interconnection network in SIMD CMPs[C]// Proceedings of the 10th International Conference on Algorithms and Architecture for Parallel Processing. Heidelberg: Springer-Verlag, 2010: 149-162.

[8] WU D, ZOU X, DAI K, et al. Implementation and evaluation of parallel FFT on ESCA architecture[J]. Journal of Zhejiang University: Science C (Computer and Electronics), 2011, 12(12): 976-989.

[9] CHEN P, DAI K, WU D, et al. The parallel algorithm implementation of matrix multiplication based on ESCA[C]// Proceedings of the IEEE Asia Pacific Conference on Circuits and Systems. Piscataway: IEEE, 2010: 1091-1094.

[10] ANDRE R B, CHRISTOPHER D, TROND R H, et al. State-of-the-art in heterogeneous computing[J]. Scientific Programming, 2010, 18(1): 1-33.