“程序设计与问题求解”三阶段—四层次实践教学研究
2016-06-17曾俊李柳柏
曾俊 李柳柏
摘 要: 根据目前国内外软件人才培养的实际情况,以CDIO的教育理念为指导,以全面提高学生的动手实践能力为目的,提出“三阶段-四层次的实践教学体系”。以程序设计与问题求解课程为例,构建了该课程的实践教学改革方案,细化了每个阶段的教学内容,并将其应用到实践教学中,提高了学生的综合应用能力。
关键词: 软件人才; CDIO; 实践教学; 程序设计
中图分类号:G642 文献标志码:A 文章编号:1006-8228(2016)06-85-04
Abstract: According to the actual situation of domestic and international software talent training at present, in order to improve the students' practical ability, this paper puts forward the "practical teaching system of three phases and four levels" with the CDIO education philosophy as the guide. Taking programming and problem solving course as an example, the scheme of practical teaching reform of the course is constructed, and the teaching contents of each stage are refined and applied to practical teaching, which have improved the students' comprehensive application ability.
Key words: software talent; CDIO; practical teaching; programming
0 引言
近十年来,我国各类高等院校共培养了100多万计算机专业人才,而且每年培养人数还在递增。然而软件人才的供需缺口却越来越大,出现了前所未有的“人才饥荒”,各地对软件人才的争夺战也不断升温。究其原因主要有三点[1]。一是软件产业规模扩大,橄榄形人才结构中两极人才的短缺,导致了软件人才紧张。二是毕业生到公司后不能很快胜任工作,须再经过6-12个月的培训才行。三是软件教育体制调整的速度落后于软件产业发展的速度。四是软件人才培养层次不清,最终导致许多人才高不成低不就。
为了满足软件产业对人才的需求,国内各个高校进行了许多探索,特别是在实验教学体系建设上,采取了多种手段,想方设法提高人才培养质量,满足软件行业各岗位的需求。
1 国内外软件人才培养情况
1.1 国外软件人才培养情况
美国和印度是目前在软件产业和软件工程人才培养做得比较出色的国家。美国的软件教育和人才培养的层次非常清晰[2]。①基础教育:几乎所有的高校和社区学院的计算机科学、电子工程、信息技术系和有关继续教育系都设有软件工程、网络设计等软件基础课程,为本科生提供软件理论与工程方面的入门知识,为软件公司培养从事软件开发与设计方面的人才。②系统理论:研究生教育侧重系统软件理论的教育,为高校的教学和研究以及大公司输送从事软件研究和项目人才[3]。③一般较大的软件公司都设有培训部门或中心,主要根据市场和公司的需求培养各个层面的动手能力强的操作和编程人员,学习者不仅可以获得专业证书,而且可以获得学位。从高校、社区学院、公司到社会,构成了全方位的教育和培训网,它们都由市场所驱动,为社会发展提供就业和服务。
印度软件产业及人才培养重视数学,注重沟通技巧和抗压能力的培养,学生与新技术的发展完全不脱节。学校充分运用业界的力量,欢迎业界成立校园实验室,24小时对学生开放。业界提供丰富的资源,学校搭桥运输养分,学生尽情吸收。学生、学校、业界形成一个共存共荣的循环体系。
1.2 国内软件人才培养情况
国防科技大学的计算机学院建立了“4433”计算机专业实践教学体系[4],即:计算机实践教学与能力培养贯穿于课程实验、实习/实训、课外实践和毕业设计等四个环节;将课程实验分为基础验证性实验、课内综合性实验、综合课程设计和自主科研创新活动四个层次。依托学校在超级计算机上的科研优势,让学生参与科研子项目,与浪潮电子、长沙软件园、长沙电信等单位建立实训基地,让学生多参与项目开发,积累项目经验,提高实践能力。
华东交通大学软件学院提出了一种“基于螺旋模型”的软件人才培养模式[5],即产学研联合,企业参与到学校的教学活动中,学生也参与到企业的项目开发和实习中,学生在学校与企业的互动中不断提高自己的实践能力。
大连理工大学软件学院依托校企合作人才培养模型[6],共同研究制定实践教学培养标准,共建实践课程及双师型师资队伍,通过校企良性互动,共同培养卓越软件工程技术人才。
杭州电子科技大学引入CDIO工程教育理念,构建了一套以项目为核心、以学生团队为主体的课程教学体系,培养创新能力强的软件工程人才[7]。
我院为了培养高素质软件人才,以CDIO的教育理念为指导[8],提出了“三阶段-四层次的实践教学体系”,形成知识讲解案例化、课程设计项目化、毕业设计工程化的培养方式,使学生不仅能较好掌握专业知识,而且能有效提高实践创新能力和团队协作精神。本文结合“三阶段-四层次的实践教学体系”,以程序设计与问题求解课程为例,提出该课程的实践教学改革的方案,并应用到实践教学中。
2 “三阶段-四层次”的实践教学体系
“三阶段-四层次”实践教学体系是基于CDIO理念,以“培养工程能力强、创新能力高、综合素养好的软件工程人才”为目标,通过深入分析实践教学内涵与软件工程学科特点而提出的,如图1所示。基于该体系设计培养学生专业技能、工程实践能力、创新能力和职业素养的渐进性阶梯式实践教学方案,围绕实践教学方案,构建分阶段、层次化的考核方案、评价体系和过程化管理平台。
2.1 三阶段
三阶段主要是指校内实验、实训基地和企业实习三个主要阶段。
2.2 四层次
⑴ 基础实验
本层次主要指课含实验,实验类型包括技能型、验证型、设计型和创新型,要求学生掌握软件工程课程的核心内容、各种程序设计语言的框架结构以及编程所需的综合思维能力。
⑵ 课程设计
本层次是指基于某一门课程的综合型软件系统开发训练,主要在实训周完成。具体方案是在人才培养方案中安排与专业核心课程配套的实训周,专业核心课程在课程结束后(包括理论课程和课含实验)的下一学期,均安排有实训周,实训周内不安排其他课程教学,学生基于该门课程的整体知识,完成复杂程度较高的综合型软件系统设计,学生通过作品+答辩考核方式获得实训成绩和学分。本层次要求学生从系统设计的角度出发,达到程序员(软件蓝领)的要求;学生可参与各种学科竞赛,培养学生的创新能力;可反馈信息到第一层次并修改实验教学内容。
⑶ 企业导向的中小型系统研发
本层次是指基于课程群、企业实际项目案例的系统研发,主要在实训基地完成模拟软件设计和开发的整个过程。该过程要求学生具有系统思维能力、综合实践能力;学生可参与各种综合型学科竞赛;还可承接软件工程中小型订单,团队协作完成系统研发;可反馈信息到第一、二层次并修改实验教学内容。
⑷ 企业应用级系统研发
本层次要求学生在真实的企业环境中研发应用级软件,需要学生既懂技术又懂得协调和管理,成长为软件工程高级应用型人才;可反馈信息到第一、二、三层次并修改实验教学内容。
3 程序设计与问题求解课程实践教学改革
该课程是我校计算机科学与技术专业第一学期开设的专业基础课,以C语言为平台,介绍高级语言程序设计的基本概念、基本理论和基本方法。通过本课程的学习,使学生掌握C语言的基本语法知识和编程常用算法,掌握基本的程序设计过程和技巧,具备基本的分析问题和利用计算机求解问题的能力,为后续课程学习和将来从事软件开发奠定良好的基础。
学生非常喜欢这门课程,但一般都学得不扎实,所以在设计“三阶段-四层次”实践教学内容的时候,要结合学生实际情况,引导学生学会提出问题、分析问题和解决问题。
3.1 基础实验
本层次主要指课含实验,实验类型包括验证型、设计型和综合型,要求学生掌握C语言的核心内容、编程的框架结构以及编程所需的综合思维能力。结合教学大纲,本层次主要设计10个基本实验,如表1所示。本层次均要求学生提交实验报告,以便于考核学生的成绩。
3.2 课程设计
本层次是指基于C语言的综合型软件系统开发训练,主要在第二学期开学的实训周内完成。结合学生的学习情况,设计了综合基础实训库和综合设计实训库。第一部分计划用时2.5天完成25道综合基础实训库里面的题目,如表2所示。第二部分计划用时2.5天完成1个综合设计实训库里面的题目,如表3所示。本层次要求学生提交综合课程设计的报告和设计的代码。综合课程设计的报告要求学生理清设计思路,最后通过答辩的方法获得成绩。
3.3 企业导向的中小型系统研发
本层次是指基于课程群或企业实际项目案例的系统研发,主要在校外实训基地完成,使用企业研发过的题目,模拟软件设计和开发的整个过程,学生分组协作,真题真做,训练系统思维能力、综合实践能力。部分企业项目如表4所示。本层次完全按照企业项目的管理办法,要求学生提交研发文档和研发的作品,才能获得成绩。
3.4 企业应用级系统研发
本层次要求学生在企业实习,利用大四实习期间,在真实的企业环境中研发应用级软件,需要学生既懂技术又懂得协调和管理,成长为软件工程高级应用型人才。
4 总结
本文以提高学生的动手实践能力为目的,提出“三阶段-四层次的实践教学体系”,根据各阶段的特点和层次的要求,结合“程序设计与问题求解”课程的特点,设计了相应的教学内容和教学方法,构建了培养学生专业技能、工程实践能力、创新能力和职业素养教育的渐进性阶梯式的实践教学课程方案,细化了每个阶段的教学内容,并应用到实践教学中,提高了学生的综合应用能力。该体系是集教学、企业于一体的实践教学体系,为实践教学改革提供了支撑。在今后的研究中,将进一步研究语言类课程群的三阶段-四层次实践教学方案。
参考文献(References):
[1] http://it.sohu.com/56/26/article15612656.shtml
[2] 张喜平,王佐成,汪林林.国内外软件人才培养模式现状研究[J].
青年与社会·中外教育研究,2009.1.
[3] 从正规的软件工程教程学习到毕业实践项目中知识和技能的
转换.Ray Bareiss和Edward Katz(卡内基梅隆大学硅谷分校)http://blog.sina.com.cn/s/blog_553f35510100zsdo.html
[4] 张春元.国防科技大学计算机学院计算机实验教学中心[J].
实验室研究与探索,2013.11:2-3
[5] 汤文亮,严丽平.螺旋型软件人才培养模式下产学研结合模
式的探讨[J].实验技术与管理,2010.11:144-146
[6] 陆坤,李凤岐,郭禾.基于校企合作的卓越软件人才培养模式的
探索[J].实验技术与管理,2013.11:176-178
[7] 方振宇.高校创新型软件工程人才培养途径探析[J].浙江师
范大学学报(社会科学版),2012.4:89-93
[8] 范会联,仲元昌.基于CDIO理念的软件人才培养模式探索[J].
实验室研究与探索,2012.1:131-146