一、引言

一、引言

近年来,教育部根据互联网、大数据技术的发展,以及高等教育人才培养目标的定位,已将“并行计算”课程列为应面向高等院校计算机相关专业本科生或研究生广泛开设的课程之一,有条件应该扩展至计算学科的非计算机专业的研究生授课体系中。随着近年来大数据时代的到来,各行各业的数据量、计算量都在激增,而现代计算机并行架构的普及更使得并行计算技术变得越来越必不可少,它已经成为计算学科和很多交叉学科的必备工具之一。因此,扩大并行计算系列课程的开课规模对当今高校来说已经迫在眉睫。

本文将重点探讨新时代并行计算课程的改革思路与跨领域创新型人才的培养。从课程授课内容来讲,“并行计算”课程的授课内容主要包括以下几个层面[1]:(1)并行算法理论知识,主要介绍空间复杂度、时间复杂性,以及算法评价的数学基础;(2)体系结构基础知识,包括并行机体系的发展历程及当今主流并行机的体系架构;(3)并行算法设计技巧,主要介绍典型的几类并行算法,让学生了解并行程序的算法设计思想;(4)算法实践方面,主要讲授当今主流并行架构和并行编程模型上的基本并行算法编程以及程序调试技巧。几部分内容环环相扣,互为基础,而且并行计算课程更以计算机编程、数据结构、算法、体系结构等课程为前期基础,而考虑到学生间的水平参差不齐,往往授课知识较多,教师的授课压力较大,因此必须要合理安排授课思路,严格规划授课内容,才能在有限的时间内,让学生最大程度地理解并行计算课程的精要之处。这里,我们提出要依照学生的专业背景来合理化安排教学内容,对于不同专业的学生一定要差别化对待。比如,如果面向的是并行计算研究方向的研究生,则应扩大算法理论、体系架构的授课时长,让学生不仅学会并行编程技巧,学会实际上机实践,同时也要让他们了解并行体系架构的设计思路,也就是不仅要知其然还要知其所以然,理解高性能背后产生的原因,从而今后有可能从事高性能体系的设计工作。而对于大多数本科生和非并行计算研究方向的研究生而言,第(4)方面,即算法设计和编程实践是课程最具价值的组成部分,而对于跨领域的非计算机专业的学生来说,则了解并行计算的典型应用,开阔思路,学会基本并行编程则为重点。在本文中,重点讨论计算机专业的并行计算本科教学,以及非并行计算专业的研究生选修课教学,因此算法学习和实践编程掌握是授课重点,也就是说将并行算法实现成程序并投入大规模科学与工程计算生产应用是课程的最主要学习目的之一。

本文旨在研究如何合理规划并行算法与程序设计课程的课时,并在此基础上探索如何引导学生根据各自的科研课题方向自选实践课题,培养具备并行计算基本技术的能够自主学习和实践的新时代创新型人才。通过课程的改革和实践,要最终达到既能提升学生的并行算法编程能力,又能对所从事的科研课题的创造性推进起到促进作用,从而使并行计算技术真正成为计算机领域科研中一种可以应用、会应用的有效工具,成为学生科研创新的又一强有力的武器,这对于培养大数据时代下的高级创新人才至关重要。