188体育app官网_188体育投注

返回首页

以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系——南京理工大学的改革与实践*

阅读量:423
2017-01-20

作者:陆建峰    余立功

摘要:为提升计算机专业类学生的软件基础能力,南京理工大学进行了积极的探索,设计了软件能力递进式培养体系,以CCF CSP认证和CCSP竞赛等权威检测手段为抓手,驱动教学改革,改革教学模式同时也更好地响应了工程教育认证的需求,取得了显著的成绩

关键字:CSP认证 CCSP竞赛 软件能力培养 教学改革

1. 引言

计算机专业类作为一个实践性很强的专业类,所培养的学生,不仅需要具备扎实的理论基础,还需要具备很强的动手实践能力。我们将熟练掌握程序设计、数据结构以及算法,通过一定范围内自选的通用编程语言,在指定时间空间内,熟练、准确地完成对给定问题的编程和调试的能力定义为软件基础能力。软件基础能力是培养软件系统设计能力、软件架构能力等其它能力的基础,也是计算机类专业学生本科阶段需要重点培养的核心能力之一,更是毕业生走上工作岗位后必须具备的职业能力。

当前,软件基础能力相关课程教学存在着重理论轻实践的问题程序设计、数据结构、算法等课程的考核形式往往以笔为主,考试内容通常以基本概念为主,很难考察出学生真正的程序设计能力,即便有部分程序设计题,也因为无法直接进行调试运行,而无法给出客观的评判。这容易使学生对于这些课程的学习进入误区,学习方法上往往注重记忆概念,轻视上机练习,为了通过考试,通常会在考试前才开始临时抱佛脚,拼命做往年的试卷。这导致许多学生无法真正掌握课程的知识点,更不用说将理论知识应用于软件的设计和实现。最终的结果是部分高分学生对编程掌握较差,有的甚至不会编程,难以满足用人单位的基本要求。

软件能力的培养,是一个循序渐进的过程。因此,为了提高学生这方面的能力,必须在课程教学以及考核方式上加以改革。我们的思路是,一方面将相关核心的课程通过课程群建设的方式进行有机的整合明确每门课程的定位以及和前续、后继课程之间的关系;另一方面,改革现有的考核方式,将上机考试作为一项重要指标纳入到相关课程的考核中,从而引导学生重视实践能力的提高,并主动加强这方面的练习。在课程的安排上,确保大一到大三这三年,上机考核不断线通过上述手段,可以有效地提高学生的动手能力。

2. 软件基础能力递进式培养体系

递进式教学体系

在我们的课程教学改革中,下列课程程序设计基础面向对象编程技术离散数学数据结构算法设计与分析数据库原理操作系统软件课程设计构成我们重点建设的课程群,这些课程既相互配合又各有侧重,能够实现计算机类专业软件基础能力的系统化培养,也能够拓宽到软件系统的设计,形成递进式的培养路径。图1给出了递进式教学体系与软件能力的对应关系。以软件基础能力培养为目标,几乎所有的课程都安排有相应的上机实验学时,助学生所学理论知识的进一步理解和运用。软件课程设计则承担着软件系统设计与开发能力的培养任务,在这个环节,学生需要综合运用到前面课程中所学的知识和具备的相应能力,自主选题,自行设计,并完成从需求分析到总体设计、从算法描述到具体编程、从测试实施到成果演示的完整过程

 

1  递进式教学体系与软件基础能力对应图

第三方测评驱动机制

教学实施过程中,以过程化考核方法和相应的信息化手段为支撑,以第三方测评驱动教学环节中软件基础能力培养。

在课内考核中,改变考试成绩主要依赖期末笔试的现状,将课程总成绩分解为平时的上机测验和作业、期末的上机测验、期末笔试成绩等几个部分,降低期末笔试成绩所占比例。将过程考核融入到课程的整体教学中,督促学生平时的过程化学习,并使得最终的成绩能综合体现基础理论知识和软件基础能力,彻底改变以前考试成绩仅体现了对基础理论知识的掌握情况。

除了课内考核,引入CCFCSP认证作为第三方测评手段。中国计算机学会(CCF的计算机软件能力认证(CSP)一般5道题目,每道题目满分为100分,难度依次递进。表1给出了CSP分数和软件基础能力的对应关系。该考试从能力架构上正好对应了我们的递进式教学体系,可以反映教学体系的教学效果。采用该测试作为课外考核标准,既具有考核公信力,符合业界要求,从而可以客观地考核学生的软件基础能力,更好地促进教学目标的达成,同时也使考核更加符合社会需求。因此,引入第三方测评机制驱动教学,能够更加客观检测教学效果,驱动教学改革更加具有生命力。

1  CSP成绩与软件基础能力的对应关系

CSP成绩

对应能力

400-500

发散性算法编程

300-400

复杂问题分析解决能力

200-300

结构组织能力,模型构建能力

100-200

基础语言能力,简单算法能力

分层次创新人才培养

在教学过程中一方面要关注全体学生的培养,另一方面也要关注拔尖人才的培养,做到因材施教在软件基础能力递进式培养体系中。我们认为绝大部分计算机专业类学生首先应该达到一般性课程体系的要求。而CCF CSP认证的要求并不是对一般性课程要求的拔高,而是针对现阶段学生实践能力缺乏进行的强化考核。因此,我们要求学生能够参与CCF CSP认证,并对他们提出一定的考核要求。

而对于拔尖创新性人才,则需要通过更加有效的方式培养、考核和激励,并做到因材施教。中国计算机学会针对系统设计和实现推出的大学生计算机系统与程序设计竞赛(CCSP竞赛)恰好弥补了CSP对于系统应用能力软件设计能力系统设计能力考核的不足,正好对应了教学体系的最高层次。图2描述了创新型人才的分层次培养目标。对于课程考核和各层次比赛中脱颖而出的拔尖人才,组建专门团队,为他们制定专门的培养方案和更加灵活的实施办法,因材施教,使他们具备更高层次的创新能力。采用多种不同的集中训练方式,如引入结对编程、挑战赛、解题报告、模拟赛、专题讨论与讲解等训练方式针对基础知识、动手能力、团队能力、思维能力等不同能力进行训练,从而起到强化效果。并引导他们参加CCSP竞赛、ACM/ICPC竞赛等高层次竞赛,从而为拔尖人才的脱颖而出创造可能。