标题 | 基于卓越人才培养的程序设计类课程创新与实践 |
范文 | 刘晓红+张先伟+曲志坚+张立红+马新娟 摘要:本文从实际工作出发,结合教育部卓越培养计划,通过程序设计类课程内容整合优化、实践模式创新和考核模式改革,切实提高学生程序设计能力。经过九年多实践验证,计算机科学与技术专业卓越班学生实践与创新能力有显著提高。 关键词:卓越计划 实践教学 考核模式 创新能力 中图分类号:G642 文献标识码:A 学生的实践能力与创新精神的培养是教育部卓越计划的核心目标,如何改革原有专业教学模式与课程体系,更好地满足对卓越工程师实践与创新能力培养的根本需求,成为卓越计划实施中的关键问题。作为教育部第一批卓越计划试点专业,山东理工大学计算机学院从计算机科学与技术专业最重要的实践与创新能力——程序设计能力培养入手,以程序设计基础类课程的建设与创新为切入点,结合多年来“定制式培养”“校企合作”的专业改革经验,先后从课程的教学内容整合优化、实践教学模式创新、考核模式改革和创新能力培养等方面,进行了深入的探索实践。 1.程序设计基础类课程内容整合优化 程序设计基础类课程包含了程序设计基础、数据结构、编译原理等课程,这些课程均是计算机专业卓越工程师计划中最核心的专业基础课。程序设计基础主要介绍基本的程序设计思想与方法,数据结构主要介绍数据的逻辑组织形式与存储组织形式、编译原理则通过介绍程序设计语言编译器的构造原理、设计方法和实现技术,使学生在更高的层次上理解程序设计语言工作原理与程序运行机制。从课程特点来看,这几门课程在教学内容上既是紧密关联的又是直接衔接的。首先,程序设计基础为数据结构与编译原理的学习提供了必需的程序设计方法与基本技巧;数据结构既实现了复杂数据下程序设计基础内容的进一步的延伸与发展,又为编译器构造提供了结构化数据的逻辑与存储形式;编译原理则完成程序设计的经典方法与数据结构合理组织的有效结合,为在解决问题中实现程序设计方法的选择以及合理数据结构的表示提供了一个综合应用的平台。 基于卓越计划的培养要求以及三门课程内容上紧密关联的特点,我们对各门课程的教学内容进行了整合,根据课程之间的衔接关系适当的调整了部分教学内容。比如,基本线性结构的组织作为程序设计能力的重要基础,虽然既是数据结构也是编译技术中的基本问题,但在课程整合之前的课程中介绍均不够突出,在整合后就以专题的形式在程序设计基础上强化基本的线性数据结构(包括数组、結构体、单链表等)表示与实现的知识,使得学生可以有重点的集中学习并掌握这些基本结构的表示与使用方法。再如,经典的算法设计思想是程序设计与编译程序设计实现必备的能力,在课程整合之前,与之相关的知识是零散的分布在三门课程中的,但每一门课程都未做特别的强化,学生掌握的总体效果并不好。在课程整合之后,把经典算法的设计思想与实现的内容更多地放在了数据结构课程中,结合各类不同数据的组织来讲授相关的经典算法,会使学生对算法与数据结构理解的更加深入。 2.课程实践教学模式的改革与创新 卓越计划的核心目标之一是提高学生的实践动手能力,程序设计基础类课程都是理论与实践紧密结合的课程,这些课程实践教学环节的教学水平与质量,对学生动手编程习惯的养成和编程水平的提高,有至关重要的作用。 首先,在实践教学环节设计上,实现了各门课程实践教学内容的优化整合以及有序连接。整合之后,三门课程实践教学内容各有侧重,其中基本编程能力的训练集中在程序设计基础实验以及实训中完成,数据组织技巧与算法应用训练集中在数据结构实验以及课程设计中完成,程序设计语言编译器的比较、系统分析与设计集中在编译原理中完成。 其次,课程的实践教学平台的建设是实践教学的关键,优质的实践教学平台可以非常高效的达到实践教学的目的。传统的实验教学存在着诸多的弊端,主要表现在:一是课内的上机课时非常有限,短时间内,学生调试不了几个程序,效率非常低;二是虽然也可以指定一些课外上机的题目,但教师无法实时地跟踪学生课外编程过程,学生无法得到及时指导。基于上述问题,我们从程序设计基础课程开始对实践教学模式进行彻底的改革。借鉴国际ACM大赛的竞赛平台模式,建立了山东省高校第一个程序在线评测系统(Oline Judge)SDUTOJ,针对不同学生的学习水平,提供了适合各层次学生的难度不同的大量题目,为各个层次的学生提供了选择的余地。学生可以随时随地通过网络提交自己的源代码程序,并且立即得到程序正确与否以及错误类型的信息反馈,还可以看到别的用户的提交状态以及各个题目的提交汇总信息,整体排名以及班内排名的信息等。截止到2017年4月6日,程序在线评测系统SDUTOJ已有注册用户24639个,实践性题目2870道,累计提交次数251万余次,是山东省高校中用户最多、题目数目最多、开放性最好、教学应用最为广泛的实践教学平台。在课程内容整合后,将该实践教学平台引入到数据结构与编译原理的实践教学中,并按照类别在程序在线测试系统中增加了大量的与数据结构以及编译原理有关的练习题目。程序在线评测系统平台被其他课程共享使用后,学生的动手实践积极性明显提高,特别是学生利用课外时间做题的数量越来越多,很多学生的课余时间都用在了程序调试上。课程实践教学所在的学期,每班的题目提交数量将近10000次,每个学生提交通过的程序数目在平均在150个以上。 3.课程考核方式的改革与创新 课程的考核方式应该体现课程教学的核心理念,程序设计基础类课程的核心理念已经从以往的单纯理论知识学习改变为理论与实践并重的学习,原有的考核模式已经无法适应对实践能力考核的需求。经过多年的改革与实践,我们逐渐摸索出一种有效的考核模式,对程序设计基础类课程原有的考核方式进行了彻底的改革,将传统的以理论考核为主转换为理论与实践同步考核的方式。在新的考核方式中把课程的考核分为基本理论与实践技能两个模块,基本理论考核以考察相关课程的基本思想与基础理论知识为主,主要的考核方式是期末的理论考试,试卷成绩占总成绩的40%。实践技能考核又分两个部分,第一部分是平时的实验成绩,以学生平时在程序在线测试系统(SDUTOJ)中通过的题目数量与质量作为评价依据,根据学生的排名得到平时实验成绩,占总成绩的30%;第二部分是期末的上机考试成绩,利用ACM竞赛的模式,学生在规定时间内独立上机编程,在规定时间内按照学生提交通过的题目数量以及专业相对排名次序核定成绩,占总成绩的30%。 4.课程建设对学生创新能力的培养 学生的创新精神与创新能力培养是卓越计划的另一核心目标,也是程序设计基础类课程建设的重要目标,与课程有关的大学生创新竞赛是改革效果的重要检验平台。我们建立了“以校赛带面、以训练带片、以大赛拔尖”的三级创新能力训练机制,培养学生程序设计能力。自2009年开始组织学校ACM大赛,参赛人数超过300人,以ACM创新实验室为训练基地,组织学生进行程序设计能力训练,参加程序设计基础训练的学生人数从最初的100人左右达到现在的800人左右。在此基础上选拔部分学生参加山东省和国际ACM大学生程序设计竞赛。 近年来,课程组先后组织卓越班学生参加了山东省以及国际ACM大学生程序设计创新竞赛,以检验课程建设在学生创新能力培养方面的效果。其中,在2010—2016年山东省举行的第一届至第八届ACM大学生程序设计大赛中,我校的25支参赛队伍全部获奖,其中获得一等奖7项,二等奖10项,三等奖8项。在2009~2016年的ACM/ ICPC国际大学生程序设计竞赛中,共获得30余项亚洲区域赛优胜奖、17项铜奖、6项银奖,并于2016年获得1项亚洲区域赛金奖,ACM竞赛总成绩位列山东省高校前三位。 5.课程创新与实践的效果 经过各项课程创新与实践措施的实施,程序设计基础类课程的教学质量得到明显的提升。2010-2012三届卓越班毕业学生均反映通过课程的学习,个人的实践动手能力得到逐渐地提升。课程任课教师也一致反映,通过程序设计基础类课程改革,卓越班学生的程序设计能力,特别是动手编程的能力较以前有了非常大的提升,学生综合竞争力增强,就业质量和考研继续深造的学生比例有大幅提高。从整体情况来看,我们的程序设计基础类课程的创新和实践改革处于省内领先水平,可以为卓越计划的教学改革和学生能力培养提供有益的借鑒。 参考文献: [1] 刘晓静,王晓英,张玉安,黄建强,刘志强.以创新人才培养为目标的数据结构实验教学改革[J].实验技术与管理,2014,(11). [2] 金兰.程序设计基础课程教学改革探索与实践[J].中国教学信息化,2017,(1). [3] 谢迪,李文新,郭炜.“百炼”:一个程序设计技能训练与水平测试平台[J].合肥工业大学学报(社会科学版),2008,(8). [4] 张泳.对大学生程序设计竞赛管理和组织的实践与思考[J].计算机教育,2007,(10). |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。