以程序设计课程群实践教学改革为契机,培养地方普通本科院校学生编程创新能力
2009-01-18丁卫平陈建平管致锦王杰华邱建林
丁卫平 陈建平 管致锦 王杰华 邱建林
摘要:本文总结了南通大学地方新建普通本科院校计算机专业学生培养特点,构建程序设计语言课程群实践教学改革多维立体模式,提出“主线-延伸-提高”的XYZ三层实验教学手段、师生合作项目、软件公司情境、软件工作学期等具有地方院校特色的多维立体编程实践训练体系,以期培养学生程序设计创新精神和工程编程实践能力,提高学生的核心竞争力。
关键词:编程创新;多维立体模式;公司情境;软件工作学期;产学研结合
中图分类号:G642 文献标识码:B
1引言
在“第四届全国计算机教育论坛”上,台湾铭传大学资讯学院贾丛林院长重塑了“龟兔赛跑”的故事:假如兔子不睡觉,乌龟永远也追不上兔子,可是乌龟不服气,怎么办?它如何才能赢兔子?办法是有的——它可以跟兔子比游泳。这个故事引发了一个很有趣的启示:在目前竞争日益激烈的IT行业,我们每个从事地方普通高等学校教学的老师,要使我们的学生能够竞争得过一流高校的学生,就要努力帮我们的学生找到自己的游泳池。
地方新建普通本科院校作为我国本科高校的特殊组成部分,在我国高等教育迅速发展并由精英阶段向大众化阶段过渡的背景下应运而生,其重要作用之一就是对推动中心城市高等教育发展和本地区社会、经济发展发挥着重要作用。但是由于其学科发展基础薄弱,办学条件、人员、资源等尚在融合阶段,要培养出高水平的适应地方需求的创新人才还需要一个很长的过程。南通大学由原南通医学院、南通工学院和南通师范学院于2004年合并组建,作为南通大学组建中的新兴院系,计算机科学与技术学院近年重点以加强程序设计课程群实践改革为契机,以提高学生编程创新能力为目标,不断拓展专业建设、教学改革和学生创新能力培养思路,构建新的面向知识、能力、素质并重的软件人才培养模式,扎实做好实践教学环节中基本实验、课程设计、综合性实验、设计性实验、开放实验、项目开发、毕业实习和毕业设计等多个环节,努力使学生从单一的计算机软件和应用型人才向复合型、开拓型、创新型人才转变。历经五年的艰苦努力,我校在提高学生的程序设计编程创新能力方面取得了丰硕成果,有效培养了学生程序设计创新精神和工程编程实践能力,提高了学生的核心竞争力,学生在就业市场上极受欢迎,受到国内外专家一致好评。
现将我们开展的具有特色的地方普通本科院校程序设计语言课程群实践教学改革工作总结如下。
2实行多维立体式程序设计实践教学改革
2.1实践改革目标与思路
程序设计语言实践教学不仅仅是对基本理论的验证,重要的是技术训练和能力培养,包括对学生动手能力、分析问题和解决问题能力、书写和表达能力、合作能力等的培养,在教学过程中应特别突出实践教学的重要性,制定相宜的系统实践教学计划和学生训练目标。近年来,在学校的支持和授权下,我们相对独立地、动态地修订和调整了课程体系和课程教学内容,在教学中逐步灌输程序设计方法学、数据结构与算法基础等方面的专业核心课程思想,加强校企合作,产学研结合,不断探索,不断创新,采取各种激励措施充分调动教师和学生的积极性,通过五年努力,已将南通大学软件人才培养逐步建设成能够为南通及周边各类企业输送优秀软件开发人才的地区示范性人才培养基地。
2.2实践教学方法与手段
地方新组建高校要能与老牌的大学进行竞争,要找到学生自己的游泳池在哪里,必须在教学方法和手段上有特色,大胆进行尝试和创新。近年来,我们以加强程序设计课程群实践改革为契机,形成了“导学-自学-助学”3L互动教学方法和“主线-延伸-提高”的XYZ三层实验教学手段。
(1) 教学方法
传统的程序设计实践教学普遍存在着“照方抓药”的现象,实验课讲授内容为实验目的、实验内容、实验步骤、实验要求等等,限制了学生创造性思维和个性发挥。我校改变以往方式,在学生实验的三个阶段充分运用现代信息技术,以学生自主学习为中心,以教师引导学习为前提,创设了以多种媒体教学资源和交互手段支助学习为支撑的“导学-自学-助学”3L互动实践教学模式,充分调动了学生编程学习的积极性。3L互动实践教学模式中“L” 既是Learner,即学习者,体现以学习者学习和实践实验为中心,又是Learning,即学习,体现“导、助”活动围绕实践实验这个核心展开,并且综合贯穿启发式、参与式、研究式、案例式教学方法,注重学生主体作用的发挥,培养学生独立学习、自主实验的编程创新能力。
(2) 教学手段
在教学手段上,我们以培养软件创新应用型人才为目标,打破过去单纯以课程设置实验的做法,根据新的专业人才培养要求,综合考虑各专业和人才培养目标对程序设计语言的要求,建立了“主线-延伸-提高”的XYZ三层次实践教学体系和手段,从三个不同视角为学生搭建立体式实践教学平台,如图1所示。
第一层次:以基本技能为主线。该层次涉及计算机程序设计语言基本知识、调试技术、基本语法、基本算法、验证性实验内容,训练类型包括调试题、编程题和选做题,可供不同层次的学生选用,主要目的是强化学生基本实验技能和理论训练,逐步灌输联系实际、分析问题和解决问题的能力,为培养学生的创新意识和创新能力打下坚实的基础。
第二层次:以综合应用为延伸。该层次要求学生以“课程设计小任务和大任务”的形式面对简单的工程问题,由学生自行完成设计、制作、调试,测试实验结果、完成实验报告。实验主要突出小综合性和实践性,目的是培养学生的工程意识,培养学生综合应用知识的能力。
第三层次:以创新实践为提高。该层次主要提供一个综合设计、模拟生产、模拟科研的实践训练环境,吸纳学生进行与“产学研”相关课题的编程创新训练。通过实验选修课、学生课外科技创新活动、程序设计编程大赛和深入软件公司等辅导方式,学生根据自己的兴趣或科技竞赛内容自选课题、自拟实验步骤、自构实验平台,其成果是学生参加各级各类科技作品创新大赛的主要来源。
上述“主线-延伸-提高”的XYZ三层实践教学手段,要求学生在每次上机前做好预习工作,设计程序和算法流程图,编写好预调试的代码,进入机房前任课教师认真做好检查工作;上机过程中任课教师认真做好辅导、答疑、检查工作;上机结束后,要求学生及时完成并上交课程设计报告,由任课教师批阅和存档。目前,我们对部分学生课题小组(团队)第三层次的检查以课题答辩的形式进行,取得了较好效果。
3师生合作项目实践创新编程模式
师生合作项目教学法是师生通过共同实施一个完整的项目工作而进行的教学活动,以提高学生在实践中发现知识、解决知识、提高技能为根本目的。基于师生合作项目教学法,我们采用师生小组合作形式,一般是由1~2名教师(老教师和年轻教师各1名),5~6名学生组成,项目主要是教师的科研课题和实践综合开发课题,按“项目展示→分析讨论→操作实施→成果展示与评价→巩固提高”五个环节逐步进行。具体实施如表1所示:
几年的实践证明,在师生合作项目教学法中,教师对学生进行小组长期合作训练,较好地锻炼了学生的编程创新能力、分析问题能力和项目合作意识,收到了良好的教学效果。
4滚动“软件公司情境”实践训练模式
为了进一步加强学生程序设计编程创新实际动手能力,毕业后能真正适应企业对软件人才的需求,在地方新建普通本科院校计算机专业培养计划的制定中,我们特别设计了软件公司情境多维编程实践训练体系,开辟“请进来—走出去”的途径,创建校企合作新模式。传统工学培养模式主要强调到公司实习,新形势下很难真正按照该模式运作。我们在兼顾传统模式的同时,更加强调引进公司带着实际项目进入校园,与校内教师共同完成综合实习教学环节。我们与南通高博软件技术有限公司、希盟(中国)科技有限公司、无锡华通软件技术有限公司等30家企业建立长期合作关系,利用暑期或双休日等,聘请校外实践基地中具有丰富编程实践经验的软件高级人才作为校外基地兼职指导老师,组织学生参与公司的实际项目,承担部分系统的开发、软件编写和测试工作,学生获取实战经验,训练应用能力。
在滚动“软件公司情境”实训模式中,我们开展了如下具有特色四个方面的工作:
(1) 在寒、暑期,安排学生在校外指导老师的指导下参加实际研发项目,并完成其中的一部分工作,对于其中较为优秀的学生,经校外“产学研”合作单位考核同意,可以直接作为研发人员参加项目研发,接受校外和校内指导老师的双重管理、指导。
(2) 第六学期末,在软件公司实训,进行专业实习,学生到校外实习基地,由基地的校外指导老师和校内带队老师共同指导实际软件开发项目。
(3) 第七学期末,由软件公司实训安排毕业实习实训,实训单位派遣软件高级人才对学生进行就业前指导,将学生组织成项目组,学生在指定时间内完成较为大型的模拟项目,部分学生直接在基地或企业参与软件开发,如南京中江培训、上海杰普协助完成毕业前实训工作。
(4) 第八学期是毕业设计阶段,毕业设计是一个综合性、创造性、理论联系实际最紧密的实践教学环节,是培养学生综合运用专业知识的创新能力和实践能力的重要途径之一,可以综合反映学生四年本科学习的知识和技能。我们紧紧抓住这一重要环节,以“产学研”促进毕业各项工作开展,每学期先后邀请软件公司以及有丰富软件实践的教授、副教授开展不少于4次关于先进软件开发技术、学科发展动态、毕业设计基本能力等方面的系列报告讲座,将部分有条件的学生送到软件公司进行毕业设计,采用校内指导老师和校外软件工程师“双导师”共同指导和管理的模式,以开题答辩、中期检查一、中期检查二、成果预验收和成果验收五个环节严格审查毕业设计进度是否按照预期计划执行。对于在校内进行毕业设计的学生,尽量采用“产学研”相关课题作为毕业设计,以类似软件公司开发团队形式组建毕业设计课题团队小组,开展“软件需求分析、总体设计、详细设计、编码、测试、维护”等一套基本软件开发活动,使学生感受到“软件公司情境”式编程训练。
学生通过校内外多种形式的活动开展软件公司情境实践训练,不断提高在实践中分析问题、解决问题的能力,在接近软件公司的情境中进行软件开发编程能力训练,为以后就业奠定了较好的基础。
5不断加强软件科技创新实践平台建设
5.1建立学生创新实验室,凸显个性化培养
我们利用学校实验室的场地和设备建立学生创新实验室,进行学生程序设计语言创新能力个性化培养,先后开展了江苏省高校大学生实践创新训练计划项目、南通大学学生课外科技创新项目以及经过学院审批的学生自主选题项目。2005年以来,我院学生先后获江苏省大学生课外科技创新训练计划项目6项、南通大学学生课外科技创新计划项目20多项,有80多名学生先后参加了教师的“南通市节约用水管理系统”、“电子病历挖掘系统”、“数字农业管理信息系统”、“远程智能教学系统”、“行政大楼综合管理信息系统”等项目的研究和自主软件开发。以学生创新实验室为载体,开展学生科技创新“导师制”的培养,培养学生的自学及创新能力。通过学生创新实验室这一平台,逐渐“以点带面”地开展学生程序设计能力创新活动,极大地促进了学生编程能力、创新意识的提高。
5.2强化实施“软件工作学期”制,拓宽学生课外科技创新平台
为了建设软件科技创新实践平台,我们要求学生进入“软件工作学期”,利用假期等业余时间到软件公司实践,即大一、大二到软件公司进行专业实习,主要提高岗位意识及程序设计基本能力;大三进行融入软件项目专业实践,提高程序设计应用能力和创新能力;大四进行毕业设计及实际岗前训练,提高在实践中分析问题、解决问题的工程实践能力。
对于学生“软件工作学期”的考核,我们主要通过学校独具特色的课外科技培养考核体系进行。我们每年都要举办丰富多样的电脑和网络设计与操作大赛,如南通市大学生电脑技能大赛、南通大学电脑文化艺术节、南通大学软件设计大赛,并组织学生参加“挑战杯”全国大学生课外科技作品竞赛、全国大学生数学建模比赛、ACM/ICPC省际大学生程序设计联赛、江苏省高校大学生软件设计大赛、江苏省大学生网页设计大赛等一系列竞赛,组织学生参加软件设计师、网络管理员、程序员等资格证书的考试。相关奖项都将记入学生“软件工作学期”考核记录本,每学期通过累计积分的形式评选出“优秀学员”,进行表彰,树立典型,并在全校进行经验介绍和推广。
5.3建立学生创业中心,不断拓展学生就业平台渠道
南通大学计算机学院设立了南通大学第一个大学生创业中心,投入设备和经费,支持学生开展创业活动,组织学生对外开展软件开发、网站设计、电脑维护等服务,发挥和应用专业所学,锻炼学生的社会适应能力,培养他们的创业意识和创业能力。2008年,该创业中心发展成为南通大学大学生创业创新教育基地,由省、校两级投入10万元,进一步进行建设。另外,我院有4名同学在校期间创办了自己的公司,这些学生都是在程序设计语言实践创新能力训练中表现优秀的,为就业、创业准备了较好的条件。
6程序设计实践教学创新硕果累累
南通大学计算机学院结合地方新建普通本科院校计算机专业学生自身培养特点,以提高学生编程创新能力为目标,不断改革程序设计教学和学生创新能力培养思路,构建新的面向知识、能力、素质并重的软件人才培养模式,有效培养学生的程序设计创新精神和工程编程实践能力,提高了学生的核心竞争力。历经5年的艰苦努力,在提高学生的程序设计编程创新能力取得了丰硕成果。主要成绩列举如下:
第十届“挑战杯”全国大学生课外科技作品竞赛二等奖
江苏省第九、十届“挑战杯”大学生课外科技作品竞赛一等奖
江苏省首届高校大学生软件设计大赛二、三等奖
ACM/ICPC2007省际联赛大学生程序设计竞赛二等奖
江苏省电脑网络大赛网站设计银奖
南通市科技创新历届大赛奖项20人次
南通大学科技创新历届大赛奖项50人次
学生主持申报并完成江苏省大学生实践训练计划6项
20位多本科学生在学术刊物(含核心期刊)上公开发表学术论文,先后有100余名学生参与教师的科学研究和科技开发项目
……
地方新建普通本科院校学生在程序设计编程创新方面能取得这样的成绩还是罕见的,因此我校的教学成果受到国内同等院校的一致好评。由于教师为学生找到自己真正的“游泳池”,学生毕业就业率较高,大多数毕业生都是在大中型软件企业工作,就业起薪比较高,部分学生在大三年级就被软件公司预定了。近几年,软件专业毕业生的就业率不断创出佳绩,2006、2007、2008三届毕业生的就业率分别为95.77%、96.90%、99.50%,处于学校前列,连续几年大大超过江苏省高校平均就业率。
7结束语
程序设计语言课程群实践教学改革多维立体模式在我校正式实施了5年,从这5年的教学效果来看,学生通过不断实践三层实践教学手段、师生合作项目、软件公司情境、软件工作学期等多维立体编程训练,从单一的计算机软件和应用型人才向复合型、开拓型、创新型、地方应用需求编程创新人才转变,大大提高了地方普通本科院校软件人才核心竞争力,得到了校外专家和用人单位一致肯定,在地方普通本科院校软件人才培养方面具有很好的推广前景。
参考文献:
[1] 奚春雁. 阳光下的期盼[J]. 计算机教育,2009(1):2-3.
[2] 李晓明. 关于计算机人才需求的调研报告[J]. 计算机教育,2004(8):11-18.
[3] 郑秀英,张进明,白守礼,等. 提高本科生实践创新能力的探索[J]. 中国大学教学,2007(2):47-49.
[4] 陈彪,韦尧兵,周琦,等. 加强实践教学,注重综合训练,培养工程能力强的高级专门人才[J]. 中国大学教学,2007(9): 75-76.
[5] 丁卫平,王杰华,李跃华. 基于数据挖掘的网络考试智能评价反馈系统的研究与设计[J]. 南通大学学报:自然科学版,2009:28(8):16-21.
[6] 何永玲,郑艳华,郭穗勋.“任务驱动”方式与“小组教学”方法相结合的程序设计实验教学[J]. 计算机教育,2007(6):56-61.
[7] 孙政荣. 提高工科院校学生毕业设计质量的措施[J]. 浙江理工大学学报,2005(2):200-203.
[8] 陈宁宁,林善法,郑育华. 开放实验室的建设与管理[J]. 实验室研究与探索,2OO4(7):102-104.
[9] 史志才,韩彦铎,葛斌,等. 软件工程专业人才培养模式改革与创新[J]. 大连大学学报,2005(6):26-28.
[10] 范立南. 提高信息学科毕业设计创新能力与实践能力的探索[J]. 计算机教育,2005(8):13-15.