祁 长 兴
(沈阳师范大学 软件学院, 沈阳 110034)
产教融合是高校以企业对人才的需求作为培养方向,向企业输送能够满足生产发展的专业领域人才的一种办学模式,可以有效提升学生的就业能力,为企业减少招聘与培训的成本。从目前的实践效果来看,对学校的教育方向可以起到明确的指引[1-2]。
程序设计类课程是计算机专业课程的重要组成部分,主要包括语言类、数据库类、算法类等,课程的显著特点是以专业基础理论课为基础,偏重实践,对提升学生的专业实践能力、动手能力,以及创新思维起着重要作用,是实现产教融合的重要切入点。提升程序设计类课程教学质量有利于推动高校可持续发展和人才培养质量提升,并对学生就业后从事相关工作起重要的铺垫作用[3-5]。
本文立足于计算机专业程序设计类课程教学实践,以提升学生实践能力为着力点,建立相关的教学资源,实施面向任务、面向过程的教学考核模式,并以“C#程序设计”和“ .Net项目开发实践”的课程教学为例,进行实践验证。
经过多年的教学实践,沈阳师范大学软件学院在程序设计类课程的教学实践中取得很多有益和值得推广的经验,同时也发现了一些普遍存在的问题。
1) 教学内容不能完全满足企业对人才的需求,有些专业知识并非企业所需[6]。
2) 教学资源建设有待加强。很多教材和网络电子资源没有跟上IT技术的最新发展需求。
3) 双师型队伍建设不足。部分专业教师不能及时更新知识体系或缺少实践经验。
4) 教学应用实践不足。知识点偏重理论,缺少实践能力及企业项目的实践经验。
5) 缺少有效的教学质量考核方法[7]。传统的一门课程一张卷的考核方式已经严重滞后,对IT相关专业学生的知识与实践能力的考核应更加面向多元化。
近年来,沈阳师范大学软件学院在传统教学模式的基础上,先后采用了校内网络教学平台、超星、雨课堂等进行混课教学,同IT企业进行了深入的校企签约合作,采用学分置换等方式进行联合实践教学,对程序设计类课程在教学模式、教学方法及考核评价等方面进行了改革探索[8]。
程序设计类课程体系分为基础类课程、实践类课程2个层次[9],如图1所示。基础类课程主要目标在于对基础知识的传授和练习,使学生掌握语言及工具使用的基础语法和算法技巧;实践类课程包括实践教学和实践应用课程,其中实践教学课程是根据所学的基础语言知识, 借助具体的框架体系以及平台工具,结合具体的教学项目进行实践教学和演练,为实际项目的研发提供知识储备[10];实践应用课程是根据所学的专业知识及实践技能,参与到真正的项目实践中,提升专业技能[11]。
图1 程序设计类课程的体系层次结构Fig.1 The hierarchical structure of programming courses
在原有教材、教案、练习册和实验手册等基础上,建立基于云平台的资源库、试题库及项目库;在超星平台构建音视频资源、课件、网文资源、算法及程序代码等资源;在PTA平台整合国内各高校及本校试题资源,逐步完善和构建各科的试题资源,实现练习和考试的双重功能;建立实践应用类的项目库,学生在完成基础知识学习后,可以通过项目资源的学习,提升个人的实践应用能力。
学分置换是在实行学分制的基础上,学生通过修读协议企业和机构的相关课程并参与企业实训或项目研发后获得原本在学校修读课程得到的学分。图1中,实践类课程和应用类课程允许学生通过学分置换完成,置换课程需要在学院认定的企业、软件学院创新育人中心或IT工作室,借助于实际的研发项目、大学生科研和大学生创业创新项目来实现。
对程序设计类课程实施多维度的考核评价:以线上和线下教学相结合,通过超星平台、PTA平台,考核对教学资源的学习观看以及完成情况,通过线上线下考试考核对知识点的掌握情况,在平台上设置各类学习内容所占权值比重,计算最终考核结果,再根据考核结果进行教学模式的迭代改进。同时,因为对实践类课程采用面向任务、面向过程、面向项目的考核更符合实际要求,所以采用面向软件交付过程的教学考核评价方法[12-13]。
本文以沈阳师范大学2020届计算机科学与技术1班本科毕业生的“C#程序设计”和“. Net项目开发实践” 2门课程教学实践为例,并与2019届计算机科学与技术1班本科毕业生进行比较分析。在2020届毕业生课程中,建立了以超星为平台的教学与考核资源。平台可以实现对学生音视频内容学习的自动记录,对作业试题完成情况的自动评判,在教学平台活动情况的自动记载。对学生的考核评价指标体系见表1。考核指标分为过程类指标和结果类指标。在过程类指标中,音视频及课件是考核学生对教学音视频资源的学习情况,实践反馈是考核授课过程中的学习效果,讨论提问及课堂互动是考核学生的独立思考学习能力,阅读是考核学生对资料学习涉猎能力。在结果类指标中,作业和单元测验是考核学生对教学内容的掌握情况,签到是考核学生按时学习及完成任务的情况,考试是对课程学习成果的最终考核[14-15]。
表1 “C#程序设计”课程的考核评价指标Table 1 Evaluation index of “C#programming”
表2是对2019届和2020届毕业生“C#程序设计”课程学习成果的比较。从表2中可以看出,2020届毕业生在平均成绩、及格率以及优秀率上都有了明显的提升。
表2“C#程序设计”课程的教学成绩对比Table 2 Comparison of teaching results of “C# programing”
“. Net项目开发实践”属于实践类课程,在教学中实施了学分置换的方式,学生参与企业项目实践。应用文献[12]中提到的面向软件交付过程的考核方法,按需求定义、产品设计、软件开发和系统测试4个阶段建立学习任务,设立考核评价指标,指标体系见表3。
表3“ . Net项目开发实践”课程的考核评价指标Table 3 Evaluation index of “. Net programming practice”
表4汇总比较了2020届和2019届2个毕业班学习“. Net项目开发实践”课程的学习情况。可以看出,2020届毕业生在平均成绩、不及格率、优秀率上都有了明显的提升。表5为2个班毕业成绩的比较。
表4“. Net项目开发实践”课程的成绩对比Table 4 Comparison of teaching results of “. Net programming practic”
表5 学生毕业成绩对比Table 5 Comparison of graduation scores between the two classes
从表5可以看出,2020届毕业生在承担大创项目、大学生科研项目、参加大学生竞赛的人数上都有很大的提升,其中承担省级大创项目1项。从获奖情况来看,取得省级竞赛获奖3项。从就业结果来看,2020届毕业生在软件学院协议单位就业达8人,协议就业人数比2019届毕业生有明显提升。从考研人数上来看,2届学生没有明显变化,表明对学生在升学考研方面的鼓励有待加强。
本文对软件程序设计类课程按基础课程和实践课程2个类别,建立了相应的教学资源,实施了面向任务、面向实践、面向过程的培养和考核方式。并以2届学生的2门课程教学实践为例,对教学结果进行了比较分析。实践表明,该方法提高了学生学习的积极主动性,并使教师和学生都更深刻地体会到了提升实践应用能力的重要性,激发了学生的学习热情,提升了学生独立思考解决问题的能力,在教学中也暴露出了对考研方向学生培养关注不足的问题,这应该作为后续教学中努力改进的方向。