苏统华+李全龙+涂志莹+李东+王忠杰
摘 要:针对当前课程对实践能力培养不足的问题,提出校企共建模式的创新实验课程项目,立足于面向产业界培养领军人才的特定目标,引入校企合作机制,采用以校为主、为校所用的基本原则,构建独具风格的创新实验课程共建体系。经过在创新实验课程CUDA高性能并行程序设计上的多年实践和验证,证实了共建模式在创新实验课程上的有效性。
关键词:校企合作;创新实验;实践教学;合作模式改革
0 引 言
针对创新及创新人才的培养,美国制定了著名的“2061计划”,旨在用一代人的时间改变美国的教育体制,造就新一代具有高度科学素养的国民[1]。我国教育部在2012年发布了《全面提高高等教育质量的若干意见》,明确提出将“创新人才培养”作为提高高等教育质量的重要举措。
针对计算机类课程,笔者提出校企共建模式的创新实验课建设方案。创新实验课是“985工程”建设项目“创新能力提升计划”的子项目。该项目旨在通过集中优质教育资源,为基础好、能力强、有精力、有兴趣的优秀本科生提供优质实践教学培养平台,安排难度和深度适当的综合实验、创新实验,培养学生的创新意识。以创新实验课CUDA高性能并行程序设计为案例,本文详细探讨了其共建模式和课程体系。不论是从最初的建设模式还是最终收到的效果来看,该模式都颇具特色,最终实现了学生、学校和企业优势互补、三方共赢。
1 校企合作模式
工科高校要培养掌握现代工程技术、具有创新精神和实践能力的工程技术人才,因此实践能力培养是当前计算机类专业人才培养的核心目标。然而,目前我国开设计算机和软件类专业的高等院校,存在着人才培养体系重课堂教学、轻实践教学,师资队伍缺乏实践教学能力,实验室建设和实习基地建设严重滞后等问题[2]。如何借助社会力量,尽快培养出符合社会需求的计算机类高级工程技术人才,已成为当前计算机和软件类高等教育教学的重要问题。
校企合作联合培养软件人才是解决学校教育与社会需求脱节、提高人才培养质量的有效途径[3]。教育部“卓越工程师计划”中明确指出:企业不仅是人才的使用者,还要深入人才培养过程,与高校深度合作,联合制订人才培养计划。企业为人才培养提供实践环境和技术支持,学校为企业提供智力支持,高效能地为国家建设、社会发展、地方区域经濟快速增长服务。
课程共建的合作模式是决定课程最终目标能否实现的重要因素。在合作模式的探索上,有的学者从企业角度进行讨论[4],更多的则是从高校角度进行总结[5-6]。大体来讲,可以分成企业主导型、高校主导型和企业—高校共同主导型。对于企业主导型,很多高职类院校遵从这一模式。在这一模式下,以企业的需求为第一目标,高校所有的课程设置和实践安排均为了满足企业需要的技能。高校主导型则以高校力量为主,企业的参与处于从属地位。这一模式中,在制订培养体系或课程实施过程时加入了企业的力量。有的是在授课过程中聘请企业专家进行授课或指导,有的则在培养方案制订期间,征询企业专家的意见。对于共同主导型模式,企业和高校双方以对等方式合作,培养目标和课程设置经双方深入议定,双方均有决定权。
笔者启动的创新实验课采用高校主导型共建模式。确定这一合作模式的理由有3点:第一,高校对于如何培养具有未来竞争力的高端人才更有经验;第二,以往的合作经验表明,高校如果失去人才培养的独立性,将退化为职业技术教育;第三,引入企业的力量,并不单单为了这个企业培养人才,而应为整个行业培养人才,如果教学内容沦为某个企业专有工具的使用技术,培养出的学生是难以具有较高竞争力的。
2 课程共建体系
课程的共建体系,既要保证高校在人才培养上的独立性,又要培养出适合行业需求的人才。本文结合创新实验课CUDA高性能并行程序设计,具体说明课程共建体系。在与合作公司开展校企合作共建过程中,笔者从4个方面做了顶层规划:首先是课程的实验目标和内容;其次是软硬件实验环境;再者是课程的认证和质量保证体系;最后是教学服务平台。这4个方面并不是相互独立的,存在很多交织。
本课程面向全校学有余力的优秀学生开设,在课程的实验目标上,结合GPU程序设计实例,旨在帮助学生学会采用并行思想解决问题,同时锻炼和发展学生的抽象思维能力和计算思维能力,提高解决实际大规模任务中性能相关的高级技能。为了达到这一教学目的,必须密切联系企业所在行业的重点需求,并在需求驱动下设计经企业认定的实验内容。经过双方多轮次的深入讨论,确定了课程的讲授内容和实验内容。目前课程为24学时,其中8学时进行CUDA基本编程知识的讲授,8学时完成4个基本实验,剩余8学时完成一个创新项目。整个讲授内容分成相互衔接、难度逐次递增的3个层次。第1层次介绍并行处理的基本概念和常用并行模式,配合实际动手实践,比较串行程序设计与并行程序设计的区别。并行程序的开发有其不同于单核程序的特殊性,并行模式和算法是重中之重。第2层次是结合实例,学习CUDA程序设计,从最简单的矩阵加法入手,介绍CUDA程序的一般结构和流程,然后重点介绍CUDA针对GPU的核心抽象机制,这些机制将严重影响GPU上的程序性能,也是本部分的难点之一。在此基础上,讲解如何对CUDA程序的性能进行调优,充分利用硬件的潜力。在最后的第3层次,提供多个CUDA问题场景,发挥学生的主动性和创造性,重点让他们尝试解决这些实际问题,并优化CUDA程序的性能。
在软硬件的实验环境搭建过程中,应发挥双方的优势。实验需要配置英伟达显卡的计算机和支持GPU计算的工具包软件。在硬件环境上,一部分学生没有携带该显卡的笔记本电脑,无法进行实验。笔者从两个方面解决这一问题:一方面利用学校对本课程的经费支持,购置两台服务器;另一方面,从合作公司申请近10块最新的GPU显卡或嵌入式GPU设备,置于服务器插槽,满足一些学生在硬件上的短缺问题。在软件环境的配置上,对于收费的加速软件,申请合作公司的授权,可以在教学上免费使用。
为了保证课程达成目标质量,双方建立了严格的公司认证和质量保证体系。认证首先是合作公司对授课教师的认定,只有授课教师在技术水平、授课能力上达到合作公司的笔试和机试要求,方有资格开设课程。为了帮助高校教师提高技术水平,合作公司每年會调集GPU开发专家对授课教师进行培训,通过者会获得GPU培训师证书。第二层面的认证是课程认定,只有课程的学时、目标和内容能够匹配合作公司的实际需求,课程才能得到认证。在授课过程中,合作公司工程师会对课程进行支援,帮助讲授1~2个最新技术专题。第三个层面的认证则是对学生的认定,学生只有通过了由认证教师讲授的认证课程,才能得到合作公司颁发的课程认证证书。
创新实验课CUDA高性能并行程序设计在执行过程中遵循严格的筛选和淘汰机制。首先通过选课资格考试,从全校10多个专业70~80名学有余力的学生中选择30~40名。其次在最终的考核上,严格把关,一般50%的学生可以通过课程考核。课程考核按照累加式评分,课程的总成绩由以下3部分构成:平时表现占10%;4个基本实验共计占40%;创新大作业占50%。评分大项在于基本实验完成情况和创新作品的水平,意在重点考核学生并行程序设计的能力以及解决实际问题的水平。
在教学服务平台上,双方均做了大量工作。高校提供完善的在线教学网站,可供公司实时查看课程进度并检验教学质量。每年的教学情况,高校也要提交总结报告供公司评估。合作公司组织最新技术的培训、资源共享和在线咨询论坛。除此之外,双方合作推进全国GPU教学联盟,积极与全世界的高校一起交流GPU教学的经验。在教学服务平台的支持下,学生可以随时在线上提问,并很方便地与合作公司专家进行创新项目的合作。
正是这4个层面的设计,帮助创新实验课的培养目标得以顺利达成。高校可以发挥其在高端人才培养上的优势和决定权。企业可以通过认证、保证机制以及实时抽查机制维持课程的执行方向不会偏离行业的真实需求。
本课程自2013年开课后,反响强烈。课程得到合作公司认证,通过本课程考试的学生,直接获得合作公司官方颁发的课程认证证书。目前,已有50余名学生顺利通过本课程的考核,获得了合作公司的认证。
3 课程执行情况与主要成果
3.1 课程执行情况
创新实验课CUDA高性能并行程序设计自2013年开设以来,已经持续了5年。这里收集了最初两次的数据进行深入分析。2013年秋参加该课程学习的32名学生中,有6名因为到课率不达标而被取消资格,其余26名学生的成绩分布见图1。从成绩分布可以看出,创新类课程与普通课程有较大区别。普通课程的成绩分布一般呈现正态分布,而创新实验课两极分化比较严重。这一分布情况跟课程的性质密切相关,本次成绩的分布是合理的。当课程目标不再是让学生死记硬背一些知识点,而是要自主、灵活地解决较大难度的实际问题时,一定比例的学生很难胜任,这也说明学生在解决实际问题的能力方面仍有不足,而创新实验课可以在一定程度上弥补传统课程的真空区。
参加2014年秋课程学习的37名学生中,有15名因为到课率或者未参加创新作品而被取消资格,其余学生的成绩分布见图2。同样可以看到,创新类课程成绩的分布与普通课程有较大区别,同时第二次开课的通过率较第一次开课有一定提高,特别是出现了更多较好的作品。
每次课程结束,都加入了匿名评价环节。两次开课共收集到37份有效评价表,学生普遍肯定了本课程的教学效果。本课程对学生能力培养方面的作用,归纳起来有以下几点。
(1)增强了动手能力和钻研能力,加强了解决问题能力,培养了开拓精神和能力;
(2)真正利于学生的全面发展,激发学生的潜力和认知极限;
(3)增强了创新意识,增强了自学能力和创新能力;
(4)比较锻炼发现问题、解决问题的能力;
(5)培养了并行设计思想、坚持的精神;
(6)建立起GPU开发能力,培养了团队协作能力;
(7)不拘泥于单纯的理论教学,培养了自主研究能力;
(8)培养作用非常大,学到了非常多跨专业的知识;
(9)扩展了自己的视野;
(10)提高了并行编程能力,加强了对问题深入研究与优化程序的能力。
3.2 课程主要成果
本课程在教学上,秉持“国际化”特色,引进多本GPU课程教材,积极利用MOOC教学工具革新GPU课堂;紧密结合领域内科研需求,自主研发基于GPU的CNN、LSTM等深度学习平台,并成功转化文字识别领域的研究成果;在学生培养上结合软件学院“工业化”特色,在无人机、运动物体检测以及文字识别等研究项目上取得了优异的成绩,并获得了百度、大疆等知名互联网公司和创新公司的实习机会。
(1)编写了能够较好支持课程建设的实验指导书。按照循序渐进的原则,科学地设计了4个基础实验,用于巩固学生的基础并行理论和基本并行程序设计技能。另外,根据学生的兴趣和专长,课程设置自选题目的创新大项目,注重解决大规模任务中的实际问题。
(2)建设了能够基本支持学生实验的实验平台和环境。实验需要配置英伟达显卡的计算机,我们利用实验项目经费和合作公司捐助,配置了两台GPU服务器,解决了硬件短缺问题。另外,本课程积极争取合作公司的赞助,收到合作公司提供的4套嵌入式开发板(Jetson TK1),可以支持大项目的开发。
(3)本项目培养了一批大规模并行程序设计的人才,也在非常广的领域内展示了大规模并行程序的威力。该课程完成的创新大项目,涵盖多个学科的挑战问题。多名曾参加本课程学习的学生,如今正在把所学知识用到自己的研究工作中,也有一些学生如愿到知名公司实习。
(4)结合创新实验课,课程组取得了一批有影响的科研成果。2013年,任课教师获合作公司官方认证的首批CUDA工程师称号和CUDA培训师称号。以本课程为基础,2014年所在单位成为GPU教育中心(GEC)和GPU研究中心。课程组自2014年以来,翻译出版了3本GPU计算方面的教材(《CUDA并行程序设计:GPU编程指南》《CUDA专家手册:GPU编程权威指南》《CUDA高性能并行计算》),很好地推动了高性能程序设计和大数据分析领域的教学工作。
(5)课程得到合作公司认可。通过本课程考试的学生,直接获得合作公司官方颁发的课程认证证书。在2015年GPU教育中心年会上,所在单位凭借优秀的课程设置、出色的课程执行效果以及在GPU计算研究方面的丰硕成果,得到了合作公司和其他GEC成员的一致认可,当选本年度最佳GEC奖。在后续的2016年度,所在单位再次蝉联最佳GEC奖。
4 结 语
创新及创新人才的培养,是当今高等教育改革的重要主题。哈尔滨工业大学启动的创新实验课项目是培养和发展本科阶段学生创新创业能力的重要举措之一;所在单位采用校企共建模式开设了一门名为CUDA高性能并行程序设计的创新实验课程,在建设模式上采取以校为主、为校所用的基本原则,构建了独具风格的创新实验课程共建体系。最终收到的效果实现了学生、学校和企业优势互补、三方共赢。
参考文献:
[1] 刘晓静. 以创新人才培养为目标的数据结构实验教学改革[J]. 实验技术与管理, 2014, 31(11): 184-187.
[2] 郭银章, 曾建潮. 校企合作共建计算机类专业实践教学模式[J]. 计算机教育, 2014(15): 57-59.
[3] 王明华, 周国辉. 应用型卓越软件工程师人才的校企合作培养[J]. 计算机教育, 2014(5): 99-104.
[4] 潘伟, 杨剑锋. 校企合作推动新型嵌入式人才的培养[J]. 计算机教育, 2012(23): 104-106.
[5] 蒋宗礼. 深度校企合作的软件人才培养: 天津市大学软件学院发展战略高端论坛(上)[J]. 计算机教育, 2013(23): 30-37.
[6] 牛国锋, 常晋义, 朱苗苗. 应用型本科校企合作“双元制”创新培养模式[J]. 计算机教育, 2014(22): 79-83.
(编辑:孙怡铭)