2016年11月,南京理工大学在CCF大学生计算机系统与程序设计竞赛 (CCSP)中,总分名列第二,排在清华大学之后。赛后许多人来向我们祝贺成绩。应该说我们在计算机教学方面的确有些心得,其教学的基本思路是:将相关核心课程通过课程群建设的方式进行有机整合,明确每门课程的定位以及和前续、后继课程之间的关系;改革现有的考核方式,将上机考试作为一项重要指标纳入到相关课程的考核中去,从而引导学生重视实践能力的提高,并主动加强这方面的练习。在课程的安排上,确保从大一到大三这3年,上机考核不断线。通过上述手段,有效地提高了学生的动手能力。
软件基础能力递进式培养体系
图1 递进式教学体系与软件基础能力对应图
递进式教学体系 在我们的课程教学改革中,“程序设计基础”、“面向对象编程技术”、“离散数学”、“数据结构”、“算法设计与分析”、“数据库原理”、“操作系统”和“软件课程设计”等课程构成我们重点建设的课程群。这些课程既相互配合又各有侧重,既能够实现计算机类专业软件基础能力的系统化培养,也能够拓宽到软件系统的设计,形成递进式的培养路径。图1描绘了递进式教学体系与软件能力的对应关系。以软件基础能力培养为目标,几乎所有的课程都安排了相应的上机实验学时,有助于学生对所学理论知识的进一步理解和运用。软件课程设计则承担着软件系统设计与开发能力的培养任务。在这个环节中,学生需要综合运用到前面课程中所学的知识和具备的相应能力,自主选题,自行设计,并完成从需求分析到总体设计、从算法描述到具体编程、从测试实施到成果演示的完整过程。
第三方测评驱动机制 以第三方测评驱动教学。在课内考核中,我们改变了考试成绩主要依赖期末笔试考分的现状。我们将课程总成绩分解为平时的上机测验和作业、期末的上机测验和期末笔试成绩等几个部分,并降低期末笔试成绩所占的比例。将过程考核融入到课程的整体教学中,督促学生平时的过程化学习,并使得最终的成绩能综合体现出学生所掌握的基础理论知识和软件基础能力,彻底改变以前考试成绩仅体现对基础理论知识的掌握情况。
除了课内考核,引入CCF的软件能力认证(CSP)作为第三方测评手段。CSP一般有5道题目,每道题目满分为100分,难度依次递进。表1给出了CSP分数和软件基础能力的对应关系。该认证从能力架构上正好对应了我们的递进式教学体系,可以反映教学体系的教学效果。采用该认证作为课外考核标准,既具有考核公信力,也符合业界要求,从而可以客观地考核学生的软件基础能力,更好地促进教学目标的达成,同时也使得考核更加符合社会需求。因此,引入第三方测评机制驱动教学,能够更加客观地检测教学效果,驱动教学改革。
表1 CSP成绩与软件基础能力的对应关系
CSP成绩 | 对应能力 |
400~500分 | 发散性算法编程 |
300~400分 | 复杂问题分析解决能力 |
200~300分 | 结构组织能力,模型构建能力 |
100~200分 | 基础语言能力,简单算法能力 |
分层次创新人才培养 既要关注全体学生的培养也要关注拔尖人才的培养,因材施教。在软件基础能力递进式培养体系中,绝大部分计算机专业类学生首先应该达到一般性课程体系的要求。CSP的要求并不是对一般性课程要求的拔高,而是针对学生缺乏实践能力的现状进行的强化考核。因此,我们要求学生能够参与CSP,并对他们提出一定的考核要求。
而对于拔尖创新型人才,则需要通过更加有效的方式进行培养、考核和激励,并做到因材施教。CCF针对系统设计和实现所推出的大学生计算机系统与程序设计竞赛恰好弥补了CSP对于系统应用能力、软件设计能力和系统设计能力考核的不足,正好对应了教学体系的最高层次。对于课程考核和各层次比赛中脱颖而出的拔尖人才,组建专门团队,为他们制定专门的培养方案和更加灵活的实施办法,因材施教,使他们具备更高层次的创新能力。采用多种不同的集中训练方式,如引入结对编程、挑战赛、解题报告、模拟赛、专题讨论与讲解等训练方式,针对基础知识、动手能力、团队能力和思维能力等不同能力进行训练,从而起到强化效果。同时,引导他们参加CCSP和ACM/ICPC(国际大学生程序设计竞赛)等高层次竞赛,为拔尖人才的脱颖而出创造可能。
具体措施保障
南京理工大学计算机学院拥有“模式识别与智能系统”国家二级重点学科,“计算机科学与技术”和“软件工程”两个江苏省一级重点学科,计算机科学与技术专业是江苏省品牌专业,也是全省仅有的3个通过工程教育认证的计算机科学与技术专业之一。我们拥有计算机科学与技术实验示范中心(江苏省教学示范中心)、南京理工大学IT人才实训中心(江苏省校企合作实践教育中心),建立了江苏首家CCF软件能力认证中心,并获得CCF 最佳合作奖。成功举办CCF软件能力认证多次,参加认证的人数逐次递增。
自2000年开始参与ACM/ICPC以来,为了参加相关的程序设计竞赛(包括ACM/ICPC、蓝桥杯全国软件和信息技术大赛、CCSP等),我们专门建立了一支集训队,选拔经验丰富的教师担任教练,为参加比赛的学生制定专门的培养方案和灵活的实施办法。为了持续培养学生的创新能力,使他们具备更高层次的软件能力,建立了一套ICPC教学训练模式,并获得校教学成果二等奖,得到学生、社会和企业的高度认可。
南京理工大学计算机学院已成功举办ACM/ICPC亚洲区域赛1次,全国邀请赛1次,蓝桥杯江苏赛区3次,南京理工大学程序设计竞赛若干次。在举办相关比赛和测试方面积累了丰富的经验,已建成面向全院学生开放的软件设计训练平台和在线测试平台。
南京理工大学计算机学院建立了由教学管理人员、一线教师、实验员以及企业代表等专业人员组成的教学团队(该团队推荐申报工信部研究型教学团队)。队伍成员老中青结合,具有丰富的教学经验和完善的保证措施,热心于教学改革工作。通过卓越工程师计划,与多个著名IT企业形成了紧密的合作。教学团队还承担了以软件基础能力为核心的江苏省教改项目。
团队成员经过多年一线教学实践,已在软件基础能力相关课程的教学过程中积累了大量经验,获得了显著成果。教学研究项目“计算机专业产学研协同创新人才培养模式的研究及实践”曾获得江苏省高等教育教学成果二等奖,“数据结构”课程成为了江苏省精品课程和江苏省全英文授课精品课程。课题组成员编写了《C++程序设计》、《数据结构:C++语言版》等教材,并发表了10余篇相关研究论文。
实践效果——竞赛成绩突出
基于我们的培养体系,我校在人才的软件能力培养上,取得了显著的成绩,尤其是在相关的程序设计竞赛以及CCF CSP中。
根据CCF公布的历次CSP认证成绩,我校无论是人均分数还是高分人数(300分以上),均位于全国前10名,得到CCF的高度评价,并于2016年8月应邀作为先进典型介绍经验。
近些年来,我校先后获得了ACM/ICPC程序设计竞赛亚洲赛区金奖1次、银奖20次、铜奖46次、最佳女队2次,“蓝桥杯”重点大学本科A组特等奖1次、一等奖12次、二等奖59次等成绩。
2016年,在CCF主办的全国首届CCSP竞赛中,我校获得两项金奖(成绩均在前10,其中一人为季军)、三项银奖、两项铜奖,团体总成绩仅次于清华大学,位列全国第二。
由于我校培养的学生基础扎实、具有较强的动手能力,因此毕业生深受各高校和用人单位欢迎,供不应求,主要表现在以下两个方面:
备受各名校的青睐和赏识 每年有多名学生被保送至北京大学、上海交通大学、浙江大学和复旦大学等国内名校,还有多名学生被卡内基梅隆大学、澳大利亚国立大学和德国慕尼黑工业大学等国际名校录取,平均有40%的学生继续攻读研究生学位。我校2009级软件工程专业本科毕业生崔嵬,以保研机试第一名的成绩被保送至北京大学;2008级软件工程专业本科毕业生唐震,仅3年就完成了本科学业,被保送至中科院软件所;2009级网络工程专业本科毕业生李翔,在攻博期间获得2016年Di-Tech出行预测算法大赛冠军、2015年阿里移动推荐算法大数据竞赛冠军。
就业方面 我校的毕业生呈现了“四高”的特色:就业率高、就业层次高、就业薪酬高和就业专业对口程度高。学生就业领域集中在通信、软件和网络等信息技术领域知名公司、国家重点科研院所及大型金融机构的信息技术部门,且大部分学生都在自己专业领域内就业,实现了学业与就业的对接。而分层次培养的拔尖创新人才,也备受业界顶级企业的重视。我校集训队2008级毕业生除保研学生外,全部被百度公司高薪录用。我校集训队2013级毕业生除保研学生外全部被华为公司录用,并入选该企业未来领导者计划。
以CCF CSP为抓手,构建递进式教学体系建设,切实提升了学生的软件基础能力,在南京理工大学取得了丰硕的成果。学校将通过实施各种政策进一步巩固和推广该项成果,为国家建设培养更多的高层次人才。■
所有评论仅代表网友意见