HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 软件工程专业课程

软件工程专业课程

时间:2022-07-05 20:09:06

软件工程专业课程

第1篇

关键词:软件工程;程序设计;课程群;建设;实践

软件工程专业的培养目标是面向我国软件产业培养急需的工程应用型人才。软件产业的发展要求学生具备较强的系统分析、设计、开发与维护能力[1]。为培养学生软件系统方面的相关能力,许多高校的软件工程专业都设置了系列课程模块,如程序设计课程模块、网络技术课程模块、计算机体系和操作系统课程模块、软件工程课程模块等,这些模块往往是一些单独课程的组合,有很多学生学了这门课程,又忘记了那门课程,到毕业时专业能力达不到社会所要求的层次。程序设计课程群是软件工程专业系列课程的重要组成部分,其承载的技能培养目标是专业培养的子目标[2],处于非常重要的地位。课程群建设是专业建设的一部分[3],有利于打通课程知识脉络,避免课程内容重复或前后脱节,使前后连贯,内容融合,进而获得整体优势[4]。程序设计课程群主要培养计算思维能力、算法设计与分析能力、程序设计与实现能力和系统分析开发能力[5]。学生通过程序设计课程群的学习,可掌握1~2门程序设计语言,更进一步理解程序设计方法,熟练掌握常用的数据结构和算法,形成良好的程序设计风格,可独立分析、设计和开发中小型软件系统。所以对程序设计课程群进行研究并积极实践对专业培养目标的实现具有重要现实意义。

1问题分析

目前,大多数高校信息类相关专业都开设了程序设计系列课程,一般为C语言程序设计、数据结构与算法、java程序设计等。许多高校都将C程序设计作为第一门程序设计课程[6],一般安排在第一学期或者第二学期,学完C语言之后,再学其他程序设计课程,如数据结构等。由于C语言本身比较灵活且语法内容比较多,对于初学者来说并不太好掌握。一些教师在授课过程中,没有站在软件设计的高度思考教学内容,往往过多地强调语言成分的语法和语义,而忽视了计算思维能力[7]的培养,使学生从开始就扎进程序设计语言的细枝末节中去,忽略了软件工程思想的渗透,到最后学生掌握了一些语法,却不能写出较为优美的程序或没有形成较好的程序设计思维和风格。算法是程序的灵魂,数据结构和算法在课程群中具有基础和核心地位[8]。在实际教学过程中,学生普遍反映数据结构和算法课程抽象难学,在学习和实际应用中出现的问题比较多,很难写出能正确运行的程序,学习过程中成就感不强,学完之后还是不知道如何应用,很难达到预期的效果。由于在前期的学习中,程序设计基础没有打牢,对常用的数据结构和算法没有真正掌握,模块化程序设计思维没有有效建立,良好的程序设计风格没有形成,导致后续的高级面向对象语言程序设计学习很难深入,最终导致软件分析与设计能力得不到有效的提升。

2程序设计课程群建设

我校软件工程专业采取校企合作办学模式,由吉首大学和中软国际共同建设,企业参与人才培养的全过程,在具体实施过程中,学校侧重于理论教学部分,企业侧重于实践教学部分[9]。程序设计课程群是软件工程专业课程体系的重要组成部分,企业参与讨论与建设,确定该课程群以软件设计能力培养为主线,以C语言程序设计、数据结构、面向对象技术、算法设计与分析几门课程为基础组建课程群,C语言程序设计开设在第一、二学期,数据结构、面向对象技术、算法设计与分析分别开设在第三、四、五学期,第六学期可开设JavaWeb程序设计或Asp.NetWeb程序设计,使课程群在能力构建和开设形式方面形成一个不间断的体系。

3程序设计课程群实施

3.1精讲课程主要内容,提高程序设计能力

课程组教师首先需要站在软件分析与设计的角度研究各门课程在课程群中的地位和作用,把课程群中的系列课程作为一个有机的整体,研究各门课程的主要教学内容,针对课程重点、难点、疑惑点进行精讲,做到理论与实践课并重,有效提高学生程序设计水平。在课程群系列课程中,由于第一门课程是后续系列课程的基础,所以学生必须掌握它。在C语言的教学中,要渗透软件分析与设计的思想,把握程序的主要框架,不纠缠于一些细枝末节的语法。函数是C语言教学中的重点,需要重点突破,从模块设计的角度来考虑函数设计,对于一个具体的函数,则要掌握函数的返回类型、参数类型以及参数个数。如用函数处理一个数组时,需要传递数组的首地址和数组的规模,首地址用指针表示,数组的规模则有两种表示方法,一是数组的长度,二是数组的起始下标和结束下标,这两种方式可能会分别应用到不同的地方,如果教师一直不提示第二种方法,则将来学生在写数组做参数的递归程序时可能会遇到困难。从多年的教学实践来看,如果学生真正掌握了函数设计方法,再加上必要的算法知识,一般情况下,程序设计就会变得得心应手而且十分有趣;对于数据结构课程,采取以数据存储(内存)为主线的方法,将重点放在数据的存储和相关算法方面,在算法实现时渗透模块化的思想,需注意头文件和实现文件的定义,因为数据结构内容具有很强的连贯性且程序的初始化工作较多,如链表的具体应用则先要建立链表、树的遍历和节点的查找等则先要建立树、图的遍历和最短路径及关键路径等则先要建立图,在实验过程中有意识地把一些基础工作放入头文件,则会极大地提高实验的效率;在面向对象技术教学中,以面向对象程序设计的方法为核心,以语言中的面向对象机制为主要内容,在适当的时候引入《ThinkinginC++》、《EffectiveC++》、《ThinkinginJa-va》等优秀书籍中的一些思想和经验,要注重面向对象程序设计过程中大的程序框架的合理性以及具体处理算法的正确性;在讲授算法设计与分析的时候,应集中精力将主要算法讲透,直到学生学懂为止,在实现算法时,应充分运用面向对象设计的思想,将算法封装在类中;在web程序设计教学中,采用案例驱动的方式,精讲软件项目设计中的主要方法和主要问题,培养学生工程化设计思想。精讲的目的是让学生多练,精讲之后要布置任务并为学生提供练习环境和相关指导,必须充分发挥教师主导和学生主体作用,教师要认真检查学生的作业、实验和练习情况,及时纠正问题,引导学生运用软件工程的思想设计程序,培养学生良好的程序设计思维和程序设计风格,激发学生自觉学习和实现相关算法,最终提高程序设计能力。

3.2大规模开展程序设计训练,培养程序设计能力

为培养学生算法设计与分析能力,学院在晚上和周末开放了实验室,在实验室搭建了ACM在线测评系统(ACMOnlineJudgeSystem),并接入了校园网,结合C程序设计、数据结构与算法等课程部署了大量习题。学院利用课余时间,有计划组织学生进入实验室进行编程训练,并为每次训练配备了指导教师。平时,学生也可以在寝室登录平台进行训练。教师在讲授C程序设计等课程的时候,要求学生利用课余时间在ACM平台上完成至少上百道题的训练,并将完成情况计入课程的平时成绩。通过大规模开展在线程序设计训练,学生的程序设计能力有了明显的提高。

3.3开展课程设计训练,培养工程化设计思想

在课程群中除开设理论课程对应的实验项目之外,还针对整门课程开设了综合性课程设计项目,如C语言课程设计、面向对象技术课程设计、javaweb课程设计,单个课程设计周期为1-4周。学院课程设计项目主要由企业教师指导完成,该类项目采用分组形式,在组内模拟软件企业运行模式设置相关岗位角色,学生在仿真企业环境中,利用仿真的软件开发项目,进行轮岗和角色体验,培养学生的软件工程应用能力、软件项目开发与测试能力、职业素质等,从而使学生熟悉软件项目开发流程和规范,养成良好的软件开发习惯。课程设计结束时,要求学生演示并讲解自己的项目开发情况,由学院教师和企业教师组成评定小组进行评分。

3.4改革考核与评价方式,理论与实践、平时与期末相结合

理论与实践相结合。程序设计课程群内的课程都是实践性很强的课程,其目的是运用所学的知识解决实际问题,决定了课程的期末考核要综合考虑理论和实践两部分内容。理论部分主要考查学生对基本概念的理解和对基本知识的掌握情况,实践部分侧重考查学生的综合应用能力,这两部分成绩都在期末完成,占课程总成绩的60%左右。平时与期末相结合。期末考核重在体现学习的结果,平时成绩则侧重于体现学习过程,在课程总成绩中,平时成绩占40%左右,即一门课程约有40分来自平时的学习过程。平时成绩一般由出勤、作业和平时实验情况、课程设计情况组成。在学期开始第一堂课的时候将课程评分方式告知每一个学生,必须抓紧平时的学习,若平时分小于20分,则取消课程考试资格或直接将课程总成绩记为不及格。

4结语

程序设计课程群对培养学生计算思维能力、算法设计与分析能力、系统分析与设计能力具有重要作用。本文分析了学生在课程群学习中遇到的一些问题,从软件分析与设计的角度对课程群进行建设与改革,提出了以C语言程序设计、数据结构、面向对象技术、算法设计与分析等几门课程为基础组建程序设计课程群,给出了课程群的主要知识与能力体系要求,通过精讲课程主要内容、大规模有组织地开展程序设计训练、企业教师指导课程设计、改革考核与评价方式等方法进行教学改革,学生的程序设计能力得了到较大的提高。

参考文献

[1]韦迎春,文俊浩,陈蜀宇.以能力培养为核心构建示范性软件学院实践教学体系[J].中国高等教育,2011(2):49-50.

[2]乔付,王国权,张凤武.CDIO理念下计算机程序设计课程群建设探索[J].内蒙古师范大学学报,2011,24(11):39-41.

[3]孙雷,王新.计算机专业程序设计课程群的研究与实践[J].教育教学论坛,2013(11):222-224.

[4]翁伟,吴克寿,吴芸,等.程序设计课程群建设探索与实践[J].计算机教育,2009(23):123-125.

[5]王海舜,蒋巍巍.基于程序设计能力培养的软件设计类课程群架构[J].计算机教育,2012(2):23-26.

[6]万臣,谢芳,胡泉.计算机专业程序设计课程群的建设与研究[J].合肥工业大学学报:社会科学版,2009,23(1):33-36.

[7]汪红兵,姚琳,武航星,等.C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):59-62.

第2篇

关键词:大数据时代;地方应用型高校;软件工程专业;课程体系

0引言

大数据作为继云计算、物联网之后IT行业又一颠覆性的技术,备受人们的关注,大数据技术正从概念转向实际的应用,涌现出越来越多的大数据技术应用成功案例,大数据的价值也在迅速增长。2015年,中国大数据市场规模达到115.9亿元人民币,增速达38%,预计2016~2018年中国大数据市场规模将维持40%左右的高速增长[1]。大数据时代的到来,使得软件行业对人才的应用能力和综合素质提出了更高的要求。咸阳师范学院作为咸阳市地方应用型高校以服务咸阳地区经济社会发展为己任,肩负着培养满足咸阳地方社会需求软件人才的使命,需要把培养面向大数据时代的软件工程专业人才作为战略任务来抓。而课程体系的建设是软件工程专业人才培养体系最重要的一个方面。本文通过分析我院传统软件工程专业课程体系,以及大数据时代下企业对软件工程专业人才要求,找出大数据时代下软件工程专业应用型人才中课程体系存在的问题,探索出我院面向大数据环境的应用型软件工程人才中课程体系的建设。

1我院软件工程专业传统的课程体系

自我院计算机系成立以来,软件工程专业一直是我院重点建设专业。2013年,“‘3+1’校企合作软件人才培养模式创新实验区”被确定为省级人才培养模式创新实验区。一直以来,该专业以培养“厚基础、强能力、高素质”应用型人才的为培养目标,以企业、市场需求为导向,重视实践、技能和应用能力的培养,与尚观科技、中软国际、华清远见、蓝鸥科技等西安多家企业联合,采取3+1嵌入式校企联合教育培养模式,将课程教学、工程实践、行业理念进行无缝结合。课程体系是一个专业所设置的课程相互间的分工与配合[2],主要反映在基础课与专业课,理论课与实践课,必修课与选修课之间的比例关系上[3]。地方应用型本科院校的课程体系设计既要体现基础知识的传授,也要体现实践能力的培养,同时还要考虑学生的职业能力规划发展问题。我院2013-2015级软件工程专业课程体系结构图如图1所示。图12013-2015级软件工程专业课程体系结构图从图1可以看出通识教育必修课程的教学阶段共3个半学年,主要涉及思想政治基础知识、体育、人文历史、外语应用能力等;相关学科基础类课程主要包括高数、线性代数、数字逻辑等数学类课程;本学科基础类课程主要涉及程序设计语言、计算机网络、操作系统、数据结构、计算机组成原理等;专业技能教学阶段强调对学生工程性、实用性、技术性和复合型能力的培养,主要安排专业必修课程和专业选修课程。专业必修课程包括面向对象程序设计、软件工程、数据库原理与应用、软件设计与体系结构、算法分析与设计等,专业选修课程包括Web软件开发、Linux系统应用程序开发、移动终端开发等。根据教育部专业教学指导委员会软件工程行业规范[4],本着“轻理论,重实践”的原则,我院在一定程度上压缩理论课课时,增加实践课课时,优化专业课程体系结构。我院2015级软件工程专业的人才培养计划中,各类课程学分设置与所占比例。

2大数据时代企业对软件工程专业人才的要求

大数据时代所需要的人才是一定拥有数据处理、分析技术的,也就是对数据有敏锐的直觉和本质的认知、能够运用统计分析、机器学习、分布式处理等技术,从海量、复杂的数据中挖掘出有用的信息,以清晰易懂的形式传达给决策者,并创造出丰富有价值的专业人士[5]。在大数据时代下,对软件专业人才培养,应具备以下四个方面的技能。(1)具有厚实的数学、统计和计算机学科的相关知识,能够根据具体案例大数据分析任务的要求,运用大数据处理、分析平台,收集整理海量数据并加以分析,挖掘出有价值的信息。(2)掌握大数据处理技术及可视化工具,能根据具体任务的需求,对数据进行选择、转换、加工等处理操作,采用有效方法和模型对数据进行分析并形成数据分析报告,用易于用户理解的方式,提供科学的决策依据。(3)熟悉行业知识、专门业务及流程,将大数据技术和企业文化相结合,充分利用大数据分析处理的结果,挖掘出海量数据中隐藏的价值并应用于企业市场领域。(4)团队合作精神,大量数据的收集整理、存储、分析和处理,一个人是很难完成的,需要一个由团队成员合理分工、共同协作完成。

3大数据时代我院软件工程专业传统的课程体系存在的问题

地方高校一直以来受传统的“学术型”、“研究型”人才培养模式的影响较大,形成了适合于“精英教育”为培养研究型人才的课程体系,无法适应以工程实践能力、创新创业意识、新技术新方向为目标的人才培养,课程体系中理论教学占主导地位,实践教学往往处于次要地位[6]。而目前处于大数据时代,信息技术的不断创新、企业需求不断变化、综合型人才需求巨大等因素的影响下,传统的培养研究型人才的课程体系,无法适应大数据时代以工程实践能力、创新创业意识、新技术新方向为目标的人才培养。通过了解大数据环境企业对软件工程人才的要求,分析我院2013-2015级软件工程专业人才培养课程体系结构,发现存在以下问题:(1)缺少大数据技术方面的课程。传统的课程体系中主要包括软件工程专业一些传统的课程,如数据结构、软件工程、软件体系结构等,而且课程内容较陈旧,所开设的一些应用软件的学习不能紧密贴合行业和技术发展,软件工程专业教育必须适应互联网时展和大数据技术的需求,关注企业发展及大数据系统的建设问题,以满足企业对应用型人才的需要。(2)实践类课程学时所占比例较少。我院2015级软件工程专业实践类课程占总学时的10.8%,是因为传统的课程体系注重知识传授,而忽略了学生解决问题、动手能力的提高。地方高校在人才培养中重视理论内容、计算机编程能力,而忽略学生探索能力的培养,这些都不利于学生对新技术、新方向发展的把握,学生难以应对各种层出不穷、错综复杂的海量数据,很难挖掘出隐藏的数据价值并有效利用。(3)课程体系结构设置方面,一是存在通识教育类课程教学阶段持续时间长,一直到第7个学期,这就影响了后面专业类课程的学习;二是专业基础类分为专业必修和选修,没有从课程教学阶段不同来划分,不能体现课程先后的衔接关系。

4大数据时代我院软件工程专业课程体系建设改革

在大数据时代,软件工程专业教育必须适应企业发展和大数据行业的需求。教学内容的设置应与行业需求接轨,根据我院学生特点调整2016级软件工程专业课程体系。具体做了以下几点的调整。(1)课程体系结构更合理。一是通识教育类课程的调整。一方面将教学阶段全部调整到第1、2学年完成,这样在第3学年学生就可以重点学习专业类技能课程;另一方面此部分增加了大学生心理健康和创新创业教育课程,主要可以加强学生团队合作精神的培养。二是专业类课程结构的调整。将专业类课程分为专业(学科)基础课程和专业技能课程两大类,专业(学科)基础课程主要包括数学类课程、计算机导论、程序设计语言、数据结构、操作系统、软件工程、运筹学、数据分析与处理。专业技能课程又分为专业核心课程和专业方向课,专业核心课程包括面向对象程序语言类、软件设计模式、算法分析与设计、软件测试等软件工程专业要求的核心课程,而专业方向课分为3个方向:大数据分析、Web技术应用、移动终端开发,鼓励学生在学好专业基础和核心课程的同时,发现自己专业类的兴趣,选择一个自己感兴趣的方向集中学习,大数据分析方向是重点向学生推荐。在教学阶段安排上,一般专业(学科)基础课程要优先于专业技能课程,这样可以让学生在掌握了学科、专业基础上,充分了解软件工程专业技能的训练。(2)增加了大数据技术方面的课程。在新调整的课程体系中,专业(学科)基础课程和专业技能课程都增加了大数据相关内容。基础课设置增添运筹学、数据分析与处理等,使学生了解大数据行业基础知识,激发学生对大数据行业发展及大数据应用前景的兴趣;专业技能课设置了数据仓库与数据挖掘、大数据统计分析与应用、数据挖掘算法与应用等前沿科学技术相关课程以满足大数据系统建设与应用的需要,培养更多企业需要的大数据管理分析软件专业人才。院级选修课鼓励研究大数据方向的教师积极申请大数据案例分析、大数据安全与隐私保护、HadoopMap/Reduce技术原理与应用等实用性强的课程,以补充对大数据方向特别感兴趣学生的学习内容。(3)增加实践类课程所占比例。相比较2015级,以培养地方应用型人才为总目标,实践类课程课时由19课时增加到28课时,所占总课时比例提高了约50%。实践类课程包括校内(课程设计和实训)和校外(见习、实习、实训、毕业论文),种类多样化,使得学生多方面提升自己解决问题和动手操作能力。针对校内实验我院教师结合大数据教学实验平台,根据课程内容设计实验项目,从初级到高级,安排合理的阶梯式学习,实验内容持续更新,加入最新、主流的分析建模工具和挖掘算法,学生在免费、开放的平台环境下进行大数据构建、存储、分析统计等实验内容,使学生熟练掌握Ha-doop、HBase、Spark等关键技术,提高大数据理论分析及技术应用的能力。做好校内实践的同时,校外实践更是尤为重要,首先在实习、实训企业的选择上,尽量选择“口碑好、技术强、理念先进”的单位,目前我院已与邻近城市西安与尚观科技、中软国际、华清远见、蓝鸥科技等西安多家企业联合,第四学年分批组织学生到合作企业的实训基地参加真实的实训项目,体验IT企业真实的工作环境、工作流程和企业文化,了解互联网大数据、零售大数据、金融大数据等领域知识,学习海量数据搜集、分析、存储技术,引导学生按照项目的需求、总体设计、详细设计、编码、测试等流程完成实践内容,规范化文档和代码的编写,培养学生的行业、职业素养。

5应用效果

目前应用此方案有2016和2017级两级学生,虽然这两级学生都还没有就业,但在创新应用能力方面都较2015级之前学生有显著提升。近两年有10余组学生团队获得国家级、省级、校级“大学生科研训练项目”立项资助,有8名同学获得“蓝桥杯”程序设计大赛国家级二等奖、三等奖,省级一等奖2项,二等奖、三等奖多项。2016年有两队学生获得陕西省高校“互联网+”创新创业大赛三等奖,一队学生获得咸阳市青年创业大赛二等奖。数十名学生在核心期刊上公开发表学术论文。从目前取得的成绩来看,课程体系结构的调整,使得学生不仅获得扎实的理论知识,而且具备了过硬的实践和创新能力,我院软件工程专业毕业生一定会深受用人单位喜欢。

6总结

针对大数据时代下地方本科院校软件专业人才培养中课程体系存在的一些问题,笔者分析了大数据环境对软件工程专业人才的要求,以地方本科院校咸阳师范学院为例,改革调整了课程体系,主要在在理论教学和实践教学中增加大数据相关理论及技术内容,通过近年来的探索与实践,此课程体系结构有效提高了学生的创新应用能力,为大数据时代企业发展培养了高水平、高素质的大数据分析人才,新的课程体系适应了大数据环境下软件工程人才的培养。

参考文献

[1]孙琳.大数据应用的创新路径[N].人民政协报,2016-05-17.

[2]潘正高.地方应用型高校软件工程专业课程体系的研究[J].西昌学院学报,2017,31(3):94-97.

[3]潘怡.应用型本科院校软件工程专业课程体系设置探讨[J].长沙大学学报,2008,22(5):98-100.

[4]教育部专业教学指导委员会.高等学校软件工程专业规范[M].北京:高等教育出版社,2011.

第3篇

软件工程专业课程内容丰富,涉及通信工程、计算机技术、计算机教育及文科类经济管理等学科。除此之外,软件工程作为全球信息化技术发展的关键技术,要求从事软件工程相关专业的人员具备较全面的知识,要从多方面、多角度进行研究,比如技术方法、管理及工具等。我国软件工程技术发展较晚,该学科发展相对缓慢,课程授课模式较为传统,缺乏有效的课堂互动与讨论,注重讲解理论知识,实践内容的参与度与规范性与工程教育标准有一定距离,导致学生掌握的软件开发思想和技术与行业需求有一定差距。随着软件工程学科的发展,新概念、新技术和新方法不断涌现,未来软件工程专业的教学发展趋势如下。

(1)开放式授课。随着行业基础框架的构成、行业发展和技术融合的国际化,软件工程的授课将不再局限于某本教材或某个案例。

(2)小组式开发。软件工程开发要求开发人员具有良好的团队合作能力和沟通能力,因此应将学生设置在以模块开发为目标的开发小组,培养学生分析问题、协调问题、解决问题的能力。

(3)模块化集训。IT环境复杂度和历史遗留系统的增加,对软件工程领域提出新的挑战。模块化的思想能够通过抽象、封装、分解、层次化等基本的科学方法提高软件工程灵活性。

(4)真实性案例。软件工程授课依托于真实案例,可加快学生对软件工程的感性理解,从而解决学生对软件产品初始建模、过程开发、测试运行、质量监控、配置与过程的管理有系统性的掌握,锻炼学生对项目开发过程的整体把握能力。

2基于项目导向的课程体系构建

合格的软件工程专业学生应具备专业基础知识、工程技术能力以及良好的职业素养。教师应结合软件工程专业人才培养标准、软件工程行业开发规范和技术特征,在不同阶段将具体项目融入教学,基于项目导向理论知识,培养工程化特征明显的学生;在项目案例引入各教学阶段时,应夯实学生的基础理论知识与基本实践技能;在强化工程技术阶段,项目案例应涵盖前端技术课程,工程实训阶段项目案例需引入企业真实项目。通过3个阶段的教学,学生能够具备软件工程师的基本编程、综合设计及工程实训等能力。我们应分析软件工程专业知识体系与课程设置,根据普通高等院校软件工程专业课程规划、设置学时,构建层次清晰的教学实践体系及内容,培养应用型软件工程专业人才;同时,在IEEECC2001SE学科的知识体系基础上结合国内软件产业及校内办学的实际情况,在基础教学、理论应用、项目实践3个层次建立软件工程专业课程体系,基础教学部分主要讲授软件工程领域的基础理论知识,以开发过程为主线详细分析和讨论软件的需求分析、结构设计、程序实现、功能测试、变更与维护、软件项目管理等内容,让学生对此有感性认知。理论应用部分主要以面向对象程序设计为基础,锻炼学生的建模和实现能力。同时,采用实践案例,让学生掌握软件开发的方法和技术,培养学生的专业能力、管理能力、团队协作能力和职业精神。项目实践部分分为基础技能实训、专业技能实训、综合设计实训、科技创新实训等4个模块,可以基于项目建立多个小组,让学生以团队合作的方式在企业开发环境中实现一定规模的软件项目。为培养“理论知识实、实践能力强”的应用型人才,需将教学计划与项目实践环节紧密结合。基于项目导向的教学体系层次实施步骤如下。

(1)基本知识技能阶段:将.NET与JAVA开发作为实习内容,让学生了解面向对象开发的基本知识。

(2)综合知识实训阶段:让学生了解并掌握软件开发方法,熟悉.NET在软件项目系统开发中的具体作用,设计和实现功能界面,实现数据库设计与应用,分析和解决软件开发过程中出现的问题,并进行功能测试。

(3)应用能力提高阶段:对之前阶段开发完成的软件项目进行详细的分析与讲解,基于项目开发的实际应用强化软件工程的理论知识,让学生感受所学知识与实践应用的对应性,加强学生实践动手能力和团队沟通合作能力。

(4)职业技能与素养提升阶段:对软件项目范围、功能实现、总体进度、软件质量、管理配置等方面进行开发训练,锻炼学生整体项目的开发能力,逐步培养学生的职业技能,结合项目开发对学生进行测试与评价,培养和提高学生的职业素养。

3基于情景的教学方法实施

情景教学能让学生对知识有感性认识,提高对课堂内容的理解效率,因此需要在一个通用的软件开发环境中进行项目开发的学习。构建符合软件工程专业课程项目开发的开发环境是提升软件工程教学效果的关键。情景模式授课能让学生在模拟的软件工程项目中实战训练,通过层次提升效率,激发学生的学习兴趣,达到最佳教学效果。教师在情景模式的授课过程中担任项目总监或技术顾问的角色,组织学生进行技术交流、成果验证、变更审核等活动;学生会依据项目不同阶段的情景扮演不同职位,提升自身项目开发技术及管理能力,培养个性化思维和团队合作思维相结合的思考模式。基于情景模式的软件工程专业课程教学过程。在具体的教学实施过程中,教师利用项目导出教学内容,围绕项目案例设计教学情景,依据情景设计安排学生在项目团队中的不同角色,尽量让学生体验真实的项目开发流程。借助项目情景模式增强了课程内容的趣味性,最大限度地调动学生的主观能动性。项目导向下的情景模式教学需要对项目选定、教学内容设定、项目进程安排、学生角色安排、项目成果鉴定等方面进行管理。基于情景模式的教学要求,学生以项目团队的方式组成项目小组(一般由3人组成),开发具有一定规模且功能较为丰富的软件系统,侧重培养学生在项目开发过程中发现问题、分析问题、解决问题的能力,培养学生的团队合作精神,使学生体验软件开发的全过程。专业课程教学内容应把软件开发分解为项目前期准备、中期分析与设计、功能测试和软件交付等三大部分,具体内容为:

(1)项目准备阶段:教师在课程初始阶段,将软件项目需求告知学生,选定项目开发小组,制定开发范围和计划。

(2)分析设计阶段:项目开发小组基于需求和开发计划,编制需求规格说明书。依据项目的总体结构,逐步设计项目所需功能,并编写相应文档。

(3)测试与交付阶段:开发团队对完成的功能模块进行整合,测试功能性和稳定性,调试并完善软件系统,最终形成达到项目需求的软件集成系统。

(4)软件交付:教师运行集成的完整系统,组织学生交叉验收。验收管理是各团队共同检验工程是否达到预定目标并进行最终确认的重要一环,每位学生必须高度重视,支持项目验收工作。在情景式的软件工程环境中,学生真正体验到一种有序的、可控的、协作的软件开发过程,在分析问题、解决问题、协调冲突、消除矛盾的过程中享受软件开发成功的成就感。项目导向的情景模式教学可以让学生在团队中练习,在练习中学习,锻炼学生独立开发与合作开发项目的能力。

4结语

第4篇

《软件工程》课程是该专业的专业核心课程。软件工程是指导计算机软件开发和维护的一门工程学科[2]。学生学习这门课程是要求他们掌握软件工程的概念、原理、技术和方法,从而经济、高效地开发出高质量的软件并有效地维护它。该类课程理论较多,同时其综合性、实践性要求较高。如何教授好这门课程是一个值得思考的问题。

1 《软件工程》课程教学中存在的问题

软件工程课程内容主要是许多概念和原理,教材上涉及的方法与技术并没有多难理解,但教学过程中仍发现有如下问题:

1.1 学生对软件工程类课程感觉概念、原理太多,难以记忆

软件工程课程主要讲解软件开发中的原理、方法、技术,很少涉及软件算法和程序设计。学生在学习时有个误区,觉得这门课既然是介绍各种概念和原理的,死记硬背就好了。而大量的概念和原理光靠死记硬背反而容易混淆,学习效果并不好。

1.2 教学模式单一,缺少有专业特色的固定的教学案例

目前软件工程课程仍以教师课堂授课为主,学生听课为辅,教学内容侧重于理论。实验学时较少,学生的实践多在课后完成,较难落到实处。课堂使用案例也多为教材上给出的小案例,实用性不强,缺少专业特色,学生很难接触真正的医学信息系统开发项目的实例。

1.3 学生缺少对相关课程间关系的理解

目前的教学模式是各门课独立讲授,对于软件工程课程而言其综合性很强,其理论与应用与许多课程相关,但学生在学习时是单独学习的,在头脑中没有形成完整的课程体系,不能把已学过的知识融会贯通的使用。

1.4 学生实践能力较差,难以满足专业需要

软件工程课程实践性要求高,而学生在学习的过程中,仅仅抽象的学习软件开发的过程,很少有机会参与软件开发的整个过程,从而实践能力较差。

2 解决办法

2.1 注重教学方法和教师的课堂感染力,结合学生实际教学

当课程内容不够吸引学生时,授课的效果就更依赖于教学方法和教师的个人魅力。教师要教授好一门课程,仅仅对课程内容的深入理解是不够的,有时要向一位演员一样的表演。声音抑扬顿挫的变化可以使本想打瞌睡的学生清醒。在教学中适度的加入一些包袱,博得满堂一笑,同样可以使涣散的注意力重新集中。学习软件工程课程的目的是为了让学生了解和掌握开发一个高质量软件的过程、方法及使用的工具。那么对于高质量软件要给学生一个定义,如果仅从理论上来解释将枯燥无趣。笔者在上课时以学生所熟悉的MS office、QQ等软件作例子,让学生从用户的角度讨论高质量软件的特性,将软件工程设计和实现阶段的一些基本原理、概念和启发规则引入进去,引起学生的共鸣,加深学生对这些原理、概念、启发规则的理解,在不用死记硬背的情况下轻松记住教学内容。

2.2 结合其他课程内容,使学生对所学内容融会贯通

软件工程课程的综合性和实践性都比较高。在教学中结合其他课程内容,并与其他课程教师交流共同教学,学生能将所学知识融会贯通,灵活应用,效果会非常好。例如在讲述软件工程需求分析阶段建立数据模式时引入数据库原理中的知识,解释数据对象、属性及数据对象间相互联系,以及它们对应到应用中的实现形式;在讲述设计与实现阶段内容时,可引入算法设计与分析课程中的知识对设计思想、代码的构造进行说明;讲述实现效率时,引入算法设计与分析中的时间复杂度和空间复杂度的概念来讨论效率问题,讨论存储效率时还可引入操作系统中存储调度的原理加深学生的印象。

在我校医学信息工程专业课程计划中,软件工程是在大三上学期开设,大三下学期还有《J2EE架构设计与开发》和《综合课程设计》两门课,结合这两门课,让学生分组以软件工程方法开发一个软件,并交付相应文档,从而再次巩固学生在软件工程课程中学习的知识并加以应用。

2.3 采用项目驱动模式,结合项目实例,使学生学以致用

采用项目驱动模式教学时应注意以下几个问题:

(1)尽量使用实际案例,虚拟的案例因为没有需求方,学生在需求分析和需求定义时很容易流于形式,体会不到获取需求有多么的困难,反而会觉得获得需求很容易,难在编程。在我校的教学中,软件工程前期有《医学信息系统》课程,为学生介绍医院的一些管理流程,并指导学生开发相应的软件;同时学院经常组织学生去医院实地参观;学院教师也经常与医院或企业有一些软件开发的项目。这些都为软件工程课程提供了很好的实际案例。

(2)指导学生分组,学生分组时最好不要任由学生自由分组。学生自由分组时,往往编程能力好的同学抱成一组,其他的同学以关系疏密来确定分组。导致一个项目组中只有个别学生起到作用。使整个教学过程流于形式。可以先让学生自由报名担当项目负责人,然后以公开竞聘的方式确定项目负责人,这个过程中,需要老师对学生有一定了解,对竞聘方式和过程加以引导,确定有组织能力和负责任的同学担任。然后再由个人向项目负责人申请职位(如软件设计人员、软件架构人员、程序员、软件测试人员等),一般一个项目组5-6人,由项目负责人决定小组人员,项目负责人负责项目的整体管理和协调工作。因为职位都是自己申请的,所以最后在项目实施时,各人职责明确,不会出现人浮于事的状况。

(3)定期检查工作进度。如果没有定期的工作进度检查,学生可能会直到课程快结束时才赶紧写各类文档交付了事,达不到教学目的,学生无法体会到软件工程在实际应用中的意义。所以要求各个项目组跟随课程的进度按时间段完成包括可行性分析报告、需求规格说明书、总体设计规格说明书、详细设计规格说明书、测试计划、源代码等各类文档。学时允许的话,安排几节课作为工作汇报会。适度的工作汇报会可加强小组间的交流,让学生从别人的工作中发现自己工作的优势和不足。每次汇报会的发言人由每小组成员轮流担任。笔者认为通过软件工程课程教学提高学生汇报工作的能力和与人交流的能力也是很重要的。教师对学生的文档和汇报予以总结和点评,在对学生的工作予以肯定的基础上提出对学生所给方案的改进意见或建议。毕竟软件开发的过程中没有唯一标答,学生的思路与老师的不同是很正常的现象,不要一味否定从而打击学生独立思考的能力。以开放的思想与学生讨论,更能促进学生更深入的思考。这样既能加深他们对软件工程理论的理解,同时也提高对这门课程的兴趣。

第5篇

关键词:CDIO;软件工程;课程体系

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)10-2415-03

CDIO 工程教育模式是近年来国际工程教育改革的最新成果。CDIO 是构思(Conceive)、设计(Design)、实现(Implement) 和运作(Operate)四个英文单词的缩写[1]。CDIO 工程教学模式是一种倡导以工程项目为主线,将项目研发不同阶段涉及的知识与课程进行有机的结合,教师针对课程在工程项目的地位,运用多种教学方法引导学生进行主动学习,强调学生的学习主体性,注重能力培养的一种教学模式。

1 软件工程专业应用型人才培养理念

1.1 人才培养目标

软件工程专业要求培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,能在IT行业、科研机构、企事业中从事软件工程项目的开发与测试、网站开发、网络游戏设计的高素质应用型人才。

1.2 基于CDIO模式的人才培养过程

CDIO 理念下的软件工程专业人才培养以软件工程项目为主线,采用理论、实践、案例分析、综合项目实践和工程化毕业设计的一体化教学模式。在整个人才培养过程中,按照软件工程项目的基础知识、分析、开发、运行和维护的流程组织教学,同时培养学生具有较强的外语能力、扎实的软件工程基础知识,并熟练掌握软件开发与测试技术,熟悉服务外包软件开发流程。

软件工程是注重系统化和工程性的专业, 其内容具有厚基础、更新快、实践重等特点,这些特点决定了软件工程人员要具备坚实的理论基础、一定的工程实践能力和创新能力。本着培养“技术基础厚、应用能力强、综合素质高”应用型技术人才为宗旨,软件工程专业的教学安排如下:第一学年主要学习公共基础课程和部分专业基础课程,使学生掌握从事软件工程领域的专业基础知识,培养学生的数学工程职业基础和人文素养;第二学年主要学习专业基础课程和专业核心课程,重点结合工程项目进行“做中学”,形成自主学习、团队协作和计算机软件基础及软件工具软件产品的基本工程能力;第三学年主要学习方向核心课程和专业拓展课程,引进当前软件开发新技术、新方法和新平台,采取合作探究式学习方法,培养软件系统与应用及软件工程软件管理能力;第四学年主要进行综合项目实践类课程的学习,塑造学生软件工程能力、团队协作能力,对学生的职业岗位能力进行训练,使学生在进入岗位前就具备较好的工程经验,实现从学校到职场的转变。

1.3 项目贯穿学习过程

CDIO模式的核心就是项目教学,可将企业真实项目直接引入课堂,也可以由教师设计项目,要求项目涵盖该教学任务的大多数知识点,并且能有明确的阶段性目标。在项目教学中,教师的身份也就集工程师、导师、教师“三师”为一体,从软件项目的构思(C)、设计(D)、实现(I)到运行(O),教师的工程化指导至关重要,这就要求教师进行自身工程实践的经验积累。项目教学中采用过程化考核方式,以成果为考核依据。

2 软件工程专业综合能力素质的分解

2.1 综合能力素质分解原则

软件工程专业综合能力素质的分解基于以能力培养为主线,突出实践性、发展性和工程性,注重学生的基本人文素质、职业基础和创新能力的培养,注重学生潜在发展能力、职业适应能力和职业迁移能力的养成,注重专业素质和身心素质的锻炼培养。同时结合区域产业发展,强调专业素质和非专业素质并重。

2.2 综合能力素质分解

结合CDIO模式的特点,软件工程专业核心能力分解为项目构思阶段的计算机软件基础(CSE)能力、项目设计阶段的软件工程软件管理(SEM)能力、项目实现阶段的软件系统与应用(SSA)能力、项目运行阶段的软件工具软件产品(STP)能力,非专业技能素质的数学工程职业基础(MEP)能力和基本素质(BAS)贯穿这个项目的CDIO模式过程。CDIO模式下的软件工程专业综合能力素质分解如图1所示。

3 基于专业综合能力素质分解的软件工程专业课程体系模型

专业人才的培养要体现知识、能力、素质协调发展的原则。科学认识和分析知识、能力、素质的辨证关系,以“知识是基础、是载体,能力是知识的综合体现,素质是知识和能力的升华”先进理念为指导思想,要设计适当的知识为载体,实施素质和能力培养;设计适当的知识群构成知识体系,要强化知识体系的设计与建设,使专业教育内容的每一个教学模块构成一个以知识体系为载体,实施素质和能力培养有效的训练和学习系统。

3.1 课程体系开发思路

课程体系是达成人才培养目标的有力支撑,科学合理的课程体系会促成高端技能型人才的培养。根据专业综合能力素质分解的结果,基于CDIO 的软件工程专业课程体系的构建原则从以下几方面进行考虑:

1) 充分发挥工程性的专业特点,基于CDIO培养大纲设置课程体系,实现学校与企业零距离接轨。

2) 注重公共基础课程、专业基础课程、专业核心课程的课程设置, 借助当前主流的软件开发平台,做到软件开发语言和技术四年不断线。

强调学生工程性、技术性、实用性、系统性、综合性、复合型和适应软件工作流程等素质的培养,实现“熟悉软件工程技能、更完整的系统级认识、掌握某一方向的软件设计开发技术和适应软件企业的英语加计算机能力”四个目标。在这一阶段中,综合考虑主干专业课程和特色课程的设置,全面考虑课程之间的关联,强调统一设计、统一规划。

3) 结合区域经济发展特点,根据软件的新兴技术和行业软件的发展需要设置专业选修课, 形成独特的教育内容、教育途径和教育体系。

4) 遵循软件行业的先进性、灵活性、工程性原则。

3.2 模块化平台课程体系框架

按照顶层设计的方法,软件工程专业教育内容由普通教育内容、专业教育内容和综合教育内容三个类别,公共基础(通识教育、基本素质)课程平台、学科及专业基础课程平台、专业(核心)课程平台、专业拓展(选修)课程平台、集中实践教学项目平台等五个平台及13个教学模块构成:

普通教育内容包括:①人文社会科学,②自然科学,③外语,④体育,⑤实践训练等教学模块。

专业教育内容包括:①本学科专业基础,②专业核心,③专业方向,④专业实践训练等教学模块。

综合教育内容包括:①思想教育,②学术与科技活动,③文体活动,④自选活动等教学模块。

课程体系中五大教学平台之间的关系如图2所示。

各平台的内容包括:

1)公共基础课程平台

该平台是依据人才培养规格而设置的,包括较宽广的基础课程、通用课程。包括英语、政治理论课、德育和体育、数学基础等。侧重培养基本素质、职业素质和职业道德。主要课程有思想道德修养与法律基础、思想、邓小平理论和“三个代表”、马克思主义基本原理、中国近代史纲要、大学英语、体育与健康、高等数学、大学语文等课程。

2)学科及专业基础课程平台

该平台是依据软件工程学科来设置课程,侧重于软件工程中的专业技术。包括软件基础课程群、硬件基础课程群和理论基础课程群等,主干课程包括顺序开设的程序设计基础、数据结构与算法、工程数学等课程。

3)专业(核心)课程平台

该平台是依据人才培养主线而设置课程,主要培养学生面向软件开发岗位群的应用能力,并为其解决实际应用问题打下坚实的理论基础。主要包括以下顺序开设的课程:面向对象程序设计、面向对象程序设计、建模课程、系统开发、软件工程、项目管理、软件质量保证、计算机网络等。

4)专业拓展(选修)课程平台

该平台是依据应用型本科定位而设置的。考虑到计算机应用型人才在知识结构上应具有知识面宽、基础扎实、应用性强的特点,在该课程平台上设置的课程具有学科知识面宽;理论深度稍低,学科知识在应用有针对性,共设计了职业素质、软件体系、行业软件应用、游戏软件等模块,设置了如下课程:国际软件工程师职业道德、软件体系结构、软件项目管理、物流信息技术、大宗商品交易系统、管理信息系统、RIA编程技术、游戏脚本编程、3DMAX建模制作、心理学、Flas制作、中国文化史等。

5)实践教学项目平台

4 人才培养评估

CDIO 模式下的软件工程专业人才培养模式以提高学生工程实践能力为本,注重培养学生的工程基础知识、个人能力、人际团队能力和工程系统能力。在CDIO工程教育模式中,参照 CDIO 标准11,采用多元化过程式的模式评估学生的软件工程能力和职业素养。其中,工程能力主要从软件开发与实现、软件测试与质量保证、软件建模、软件开发过程管理、软件方法、文档写作和英文阅读写作能力等方面进行评估;职业素养主要从职业道德、职业素质、主动学习能力、行业知识技术和团队合作能力等方面进行评估。评估采用理论考核、实践考核、大作业和小组评价等方式。理论考核主要考查学生对软件工程基础知识的掌握程度,实践考核主要考查学生的工程系统能力,大作业主要考查学生对项目工程的理解和掌控程度,小组评价主要考查学生的团队合作能力。这种多种方式结合的考核模式能够比较全面有效地反映学生的工程构思、设计、实现和运行各个阶段的情况,促进学生全方位发展。

5 结束语

基于CDIO 的软件工程专业课程体系符合软件工程专业的工程性和学科性的特点,围绕软件工程基础知识、软件管理能力、软件系统与应用能力和软件工具和产品能力四个方面开展工作,创新了人才培养模式,加强了软件开发技术和工程方面的课程教学,这些课程通常都能使学生拥有自己的作品,教学效果良好。实践教学环节无疑是与企业无缝连接最好的渠道,通过设置多种方式的实践教学,使学生真实的接触企业项目,按照企业要求模拟软件开发流程,在毕业设计完成后,学生的实践动手能力达到企业要求。真正做到了“技术基础厚、应用能力强、综合素质高”,这是CDIO教育模式的本土化,为促进工程教育模式的改革和创新、卓越工程师的培养和现代职教体系的建设提供借鉴。

参考文献:

[1] 尹春娇, 沈桂芳. 探析CDIO模式在应用型本科院校软件工程课程实践教学中的应用[J].科技信息, 2012(31):15-16.

[2] 张锦华,丁新慧. 基于CDIO理念的创新型软件人才培养模型[J]. 周口师范学院学报,2012(9):119-122.

[3] 屈卫清. 区域产业发展与软件专业细分相关性[J]. 人民论坛, 2010(11):234-235.

[4] 田玲, 尹庆民, 马丽仪. 基于CDIO模式的服务外包人才培养探索与实践[J]. 科技管理研究,2012(16):164-167.

第6篇

关键词:通信软件;课程实践;软件综合实践;课程建设

引言

我国通信行业在近些年发展迅速,特别是以物联网为代表的新一代互联网领域成为国民经济中发展比较快的行业。通信行业正在经历着“面向设备”到“面向服务”的转型,实现从传统基础网络运营商向现代综合信息服务提供商的转型。同时,通信设备的开发与维护正在从分散式走向集中式,通信行业运营商的运行维护管理方式与通信技术的组织化管理都向网络集中式管理发展。这就要求通信技术人员必须对整个通信基础网络有全面的了解,对设计的网络设备管理的软件开发有综合的实践能力。

通信行业发展趋势给大学通信专业的教学和实践课程带来了新的问题与挑战。当前通信行业的发展趋势也已经从硬件为主发展成了“软硬”结合,“硬件软件化”已经成为通信行业一个比较流行的行业术语,例如下一代网络中的“软交换”技术就是通过软件方式来实现原来交换机中本来由硬件实现的控制、接续和业务处理功能,这种转换大大降低了通信成本。通信软件的开发需求呈逐年上升的趋势。出于降低成本,提高运行效率的目的,通信领域中很多以往通过硬件才能实现的功能现在正在向软件实现过渡。与硬件相比较,软件运行速度和效率方面都存在明显的不足,这更要求通信行业的软件开发人员要有扎实的软件知识基础。

根据近些年通信专业学生就业情况统计,从事通信软件开发相关工作的毕业生占到总人数的一半以上,并且呈现逐年增加的趋势。根据这一形势,通信专业软件综合实践课程的体系建设显得尤为重要。从学生就业反馈的信息来看,学生通过单一的软件实习所获取的软件开发能力已经不能满足用人单位对毕业生的要求。

现有的教学体系中的软件综合实践课程一般设置在大学二年级暑期,在内容上只是C/C++和JAVA面向对象课程体系的延伸。这种设置虽然在一定程度上提高了学生软件综合能力,但是对于整个大学四年来说缺乏连贯性,与其他通信工程专业课程出现了脱节。因此,为了使软件综合实践课程在通信专业课程设置中起到纽带的作用,并让通信专业学生在大学学习期间能在通信软件的实践环节有一个不间断的学习以适应未来工作的需要,建设有通信专业特色的软件综合实践课程教学体系改革势在必行。

一、软件综合实践体系中存在的问题

尽管近些年实践教学体系建设越来越受重视,各个高校教学改革中都在加大实践教学在高等教育中的比例,但传统的教学理念仍然影响着实践教学的发展。这一点在通信专业的软件综合实践体系中较为明显。其存在的问题主要体现在以下两个方面。

(一)实践教学缺乏连贯性

从部分高校通信工程专业实践教学的调研情况来看,大多数高校中该专业软件实践课程都是从大学二年级暑期开始,在内容上多为C/C++和JAVA面向对象等课程体系的延伸。在近一个月的软件综合实习课程后,许多学生已经开始对软件编程产生了浓厚的兴趣。在随后的大学三年级,通信专业课程的实践环节重点又集中在硬件处理。例如通信原理、数字信号处理这些专业课与二年级暑期的软件综合实践课程没有直接的关系。学生软件方面的兴趣没有得以延续,所具备的编程能力缺乏用武之地。而在三年级下学期计算机网络、数据库与软件工程课程的实践环节中,学生对软件编程的兴趣已经逐渐淡化。这种软件实践环节连贯性的缺失最终导致学生缺乏用程序解决通信相关领域技术的能力。

(二)实践内容与通信行业发展脱节

近些年通信领域迅猛发展,通信技术更新换代频繁,比如物联网相关技术、下一代互联网协议等通信领域的新型技术在传统的实践环节中都没有涉及到。相比之下,旧的实践内容如综合业务数字网等相关技术都已经淘汰。如果实践内容仍然停留在旧的教学体系的水平上,那么培养出来的学生很难满足通信领域对通信人才的要求。

显然,旧的教学体系存在着诸多问题。在新的专业技术和教学理念发展的今天,通信专业的软件实践教学改革势在必行。良好的通信软件课程体系对于大学教育中通信专业学生软件综合能力的培养起着至关重要的作用。

二、创新性课程体系建设

针对目前通信专业软件综合实践体系中存在的问题,本文提出了一套贯穿大学的前三年,由浅入深的实践体系。其教学改革的目标是让学生将所学软件相关课程与实践教学部分结合起来,带动相应的专业课程建设,并根据当前通信行业的需要设置实践课程内容,使通信专业本科生在就业前就能通过实践方面的课程具备一定的软件设计和编程能力,以便在走入工作岗位后能够迅速适应工作环境,将所学知识充分利用到工作中去。另一方面的教改重点是对课程设置做适当调整,使得软件方面的实践环节有连贯性。

大学第一年主要以基础课为主,为了使学生尽早为专业学习打下基础,原有的教学体系中设置了程序设计语言C/C++,但课堂上机仅32个学时。对于大部分从未接触过计算机程序设计的大一新生来说,32个学时的上机学时远远不够。因此,该课程体系将程序设计实习C/C++设置在大一暑期,学生可通过3周时间的暑期实习熟练掌握这门编程语言,为日后的JAVA面向对象语言的课程学习打下良好的基础。这一部分作为软件综合实践课程体系的第一阶段,主要目的是提高学生对编程语言的认知程度,并且培养软件设计的兴趣。

大学二年级通信软件方向的专业课程包括面向对象程序设计(JAVA)和计算机网络,这两门课程对通信专业的学生尤为重要,尤其是计算机网络,已经成为近些年通信专业毕业生的一个主要的就业点。因此该课程规划在暑期实习中设置了两个方向的实习内容,一个是用C++实现NS2的网络模拟仿真技术,另外一个是JAVA方向的网络模拟仿真和基于B/S模式程序设计。第一个方向的内容主要是一年级C语言实践课程的一个延伸,其目的是使学生对大一所学的C语言课程和计算机网络课程内容有一个实际应用的过程,同时也为大三的通信系统课程设计打下基础。因为C语言在计算机与通信硬件的信息交互中起到了非常重要的作用,大部分底层的程序设计都是使用C语言来实现的。另一方面,Java技术近几年在通信领域,尤其在一些嵌入式通信产品中的应用越来越广泛,如嵌入式机顶盒。另外比较流行的手机操作系统Android也是基于JAVA语言。由于学生在一年级接触了面向过程的程序设计语言,再加上二年级开设的面向对象程序设计,已经具备了JAVA编程的能力,因此在大二暑期实习中的JAVA方向的网络模拟仿真和基于B/S模式程序设计为学生提供了一个知识深入实践的机会。这一阶段的软件综合实践体系主要目的是加深学生对通信软件设计的驾驭能力。

通信专业大学第三年开设的专业课较多,主要课程有通信原理,程控交换和数据库软件工程。学生在这些课程中都可以通过前两年所具备的软件设计能力完成课程的实践任务。在大三暑期软件综合实践中该课程规划安排了Socket网络通信程序设计(JAVA)和通信系统课程设计(C++)。这也是一个硬件和软件相结合的过程,使得学生对软件设计的应用更加具体化。这一阶段的软件综合实践体系主要目的是针对当前就业形式及用人单位的需要有针对性地提高学生的动手能力,同时为大学第四年的毕业设计做准备。对于那些对软件感兴趣或是愿意将来从事通信软件设计工作的学生来说,这一阶段的实践课程将使他们的动手能力有质的提高。

综上所述,新的课程体系不再只针对某一个课程设置实践内容,而是将大学前三年所有软件相关的课程形成一个整体来建设,使通信软件的实践有连贯性。通过软件综合实践体系的建设不仅提高了学生程序设计的动手能力,并且带动了软件相关的其他课程建设。

三、结束语

从某种意义上来说,通信专业学生的软件能力直接影响到通信行业的发展。因此,本科教学中应该更注重学生的软件实践能力的培养。良好的通信软件综合实践规划有助于将整个专业相关课程关联起来,使得对学生在通信方向的程序设计能力有一个连贯的学习过程,对通信软件设计的整体把握具有决定性的意义。

参考文献:

[1]刘良桂,黄晶,姚青,贾会,周营烽.通信网络课程建设特色和人才培养定位研究[J].浙江理工大学信息电子学院.2010,27(6):1025-1028.

[2]于慧敏,黄爱苹,章献民,杨冬晓,唐慧明.信息与通信工程特色专业教学改革[J].2010,32(3):96-99.

[3]游海,徐晓泉,钟志贤.培养创新精神提高实践能力——以学生为主体的教学模式(第1版)[M].南昌:江西高校出版社,2005.

[4]李云清,杨庆红,化志章,王岚.“数据结构”课程教学改革与创新[J].计算机教育,2008,(10).

[5]刘丽芳,陈怀义,曹介南.“计算机软件技术基础”综合实习的设计与实践[J].计算机工程与科学,2006,28(A1).

第7篇

关键词:软件工程;操作系统;教学方法

中图分类号:G642 文献标识码:B

1引言

目前我国计算机本科教育中培养的软件人才主要来自于计算机科学与技术专业及软件工程专业,从本质上讲,这两个学科在人才培养方式,培养目标以及所关注的知识领域等方面都有所不同。一般来讲,计算机科学与技术专业是学习软件及硬件理论的专业,侧重于研究;软件工程专业是以学习软件理论为主的专业,侧重于技术。从目前我国的软件行业的市场需求来看,更需要软件工程专业的人才,因此高校对于软件工程专业学生的培养,应更强调其动手能力,实践能力的培养,使其尽早了解计算机的工程属性,适应软件技术快速发展的市场环境。

“操作系统”课程是软件工程专业的必修课程,是涉及到较多硬件知识的计算机系统的软件课程,该课程通过讲述操作系统的基本理论,经典的算法以及现代操作系统成熟的设计思想来培养学生的抽象思维,逻辑推理和实践动手能力。同时通过对于操作系统的学习,也有助于培养学生对于大型软件系统的使用能力,分析能力和设计能力。但是由于“操作系统”课程具有内容庞杂,涉及面广,概念抽象,实践性强等特点,尤其涉及大量硬件知识,对于软件工程专业的学生的教学有相当的难度,因此有必要在课程内容,实验内容,教学方法及教学手段上做出改进和创新。本文结合作者自身的教学经验,总结了以下的一些经验及观点。

2根据培养目标,合理组织教学内容

软件工程专业人才培养的特点是以技术应用能力培养为核心,以技术需要为依据。目前还要面向就业,产学结合,这些都注重实践技能的培养。面向计算机科学本科教育的“操作系统”教学内容主要是以讲述操作系统概念、原理、经典算法和硬件基础等理论知识为主,很少讲述现代典型操作系统,如Linux、Solaris和Windows等便于学生实际操作使用的内容,也很少将理论知识运用到实际的典型操作系统中去,这不适合于软件工程人才的培养目标,所以应该根据软件工程专业及市场的需求,摆脱传统“操作系统”教学中所采用的理论分析长而深的模式,在“操作系统”课程教学中增加并充实大量的应用实例内容,以便于教师理论联系实际地讲解操作系统的理论知识,将理论知识及时的转化成应用实例,并运用到实际的经典操作系统中去。同时应加强学生对典型操作系统的使用能力和在其上的开发能力,提高软件工程专业学生实际的研发能力。在具体的教学内容组织实施上,可将教学内容划分为以下三个部分。

首先讲授操作系统实现的基本原理和概念。如进程管理部分阐述进程和线程的概念,进程的管理,同步与互斥,死锁等问题,存储部分说明连续分配方式,分页分段存储管理,虚拟存储系统的概念和请求分页系统的实现原理等,设备管理部分介绍在I/O系统及控制方式,设备分配,设备驱动程序的基本概念,磁盘管理等。文件部分讲述文件系统的基本概念,文件的组织结构,文件目录管理以及文件存储,共享与保护等内容。在讲授这些内容的同时,应注意考虑软件专业学生硬件基础较差的特点,适当取舍硬件相关知识,比如涉及硬件知识较多的中断技术就可以适当删节,说明原理即可。

其次应该为学生介绍典型操作系统的使用。这里操作系统的使用主要指对于典型操作系统的基本操作,常用管理,基本配置工具使用以及典型开发环境的了解。在说明抽象的原理和概念之后介绍这些实用内容,既有助于对抽象原理和概念的理解,巩固了理论知识,又为下一步进行系统相关的程序设计奠定了较为扎实的基础。在具体实施中,可以选择Windows操作系统和Linux操作系统。Windows操作系统的基本使用方法对于大多数计算机相关专业的学生来说问题不大,但其高级管理功能有必要向学生介绍,如它用于维护进程管理,存储管理,文件系统管理,设备管理等的相关工具的使用。对于Linux操作系统或者其他开源的Unix系统而言,在对它们研究和学习之前,必须给出一点时间介绍它的基本使用方法,目前很多高校的操作系统实验课及实践课都在Solaris或Linux下进行,但实验中很显著的问题就是学生对操作系统的使用都比较陌生,大量的时间花在摸索操作系统的使用,而延误了基本的实验内容。因此Unix或Linux的基本shell命令,vi的使用,基本的shell的程序设计知识,C/C++编译器的使用等基本知识要给予讲授。

最后,根据软件专业学生应注重软件的开发的特点,介绍典型操作系统下的程序设计知识。这里不是指介绍一些开发工具的使用以及具体的程序设计语言,主要是指对典型操作系统编程接口(API)的介绍。如借助C++语言和Windows的API函数适当适量的介绍相关Windows编程知识。利用C语言和Unix或Linux的系统调用介绍其系统级的程序设计。该部分内容的讲解,既回忆和巩固了操作系统原理的知识,又拓展了学生程序设计的知识面,为学生进

一步的接触特定操作系统的系统级编程打下良好的基础。

3改进教学方法,提高学生学习主动性

在原有的“操作系统”课程教学中,教学方法比较单一,主要采用教师使用PPT课件讲授为主,无法激发学生的学习兴趣。这里根据上述提出的教学内容,改进原有的填鸭式教学方法,以提高学生学习的主动性。首先,对于操作系统原理这部分内容的教学,由于教学内容具有一定的难度和广度,因此教学中面临的主要问题是学生对理论课程所产生的兴趣和信心问题。针对软件工程专业的学生的教学,一方面尽量考虑在软件层面上体现教学内容,不宜讲解过深。另一方面考虑采用多种教学方法相结合,活跃课堂气氛,提高学生学习的兴趣。教师可以采用启发式的教学方法,如在介绍进程同步问题时,首先教师可以讲授一个生产者和一个消费者共用一个缓冲区的情况,而后,可以启发同学尝试修改同步算法,以适应生产者和消费者使用多个共享空间和无限共享空间的情况。在教学中经常设置问题,能够启发调动学生的思维,提高同学的学习主动性。另一个角度,教学中经常引用日常生活中的应用实例是引发学生学习兴趣的又一种好的方法,如在讲授进程互斥时,可以使用航空售票,交通流量统计等应用实例,在讲授中断机制时,引入一些基于中断机制的病毒工作原理,都会很大程度的引起学生的兴趣。好的实例既能够简化学生对抽象复杂问题的理解,又能调动学生思维,使其联系其他课程知识,并理论联系实际,达到学以致用的效果。

对于典型操作系统应用这一部分的内容,建议首先应该由教师演示讲解,使学生了解基本使用方法和理论。之后可以为学生布置一些特定功能的任务,来使学生巩固课堂讲解内容,以任务促进教学。比如学习Linux命令过程中,可以布置利用命令和管道及输入输出重定向操作相结合的任务完成指定功能。在学生了解基本shell命令和基本shell语法后,可以布置些短小的shell程序以锻炼学生的动手能力。

最后,对于系统编程这部分的内容,建议教师首先要为同学编写几个典型程序,在学生了解基本程序设计流程后。教师可以为学生布置几个针对特定功能是小项目,以项目促进教学,来提高学生的编程能力,以达到软件工程专业学生的学习目标。

任务和项目驱动教学方法有助于提高学生的自学能力,在动手的过程中,一般会遇到一些通过课堂知识无法解决的问题,要求学生查阅相关资料解决问题。这一过程可以很好的培养学生独自解决问题的能力。

4加强实践教学,提高学生实践能力

操作系统的实践课是其教学过程必不可少的环节,其实施质量对专业教学质量具有举足轻重的影响。在重视基本概念,理论和算法的课堂讲授教学的基础上,有针对性地加强实践教学,有助于提高学生的综合素质,培养学生的创新精神与实践能力。由于教学课时所限,必须重视实践课程内容的合理性,是其紧跟课堂教学,达到学生边学边练,及时消化课堂教学内容的效果。

从实践课程的组织上,一般可以分为课程实验,课程设计,以及课外实验几个部分。课程实验通常要求紧跟教学内容,在操作系统理论部分主要应设置利用程序设计语言完成操作系统经典算法的验证和模拟。如对进程调度算法,存储算法的模拟等实验。这部分实验具有一定难度,通常需要教师提供指导和部分代码,而后引导学生实现实验内容。教师可以鼓励并启发有余力的学生完成理论课中出现的其他经典算法。系统应用和编程部分的实验可以借助虚拟机软件完成系统命令和系统管理的实验。教师布置任务可以是一些成型的案例,由教师先演示操作一遍,然后让学生自己重复、调试操作,以便加深学生的印象。案例的组织可以按章节知识点的内容,尽量做到前后联系,以求融会贯通。比如shel1脚本编程练习的时候,可以设计一个实现稍微复杂点功能的shel1脚本,其内容可以覆盖操作系统多个章节的内容。

除了随课的课程实验之外,设置必要的课程设计,对综合运用和巩固操作系统知识也非常有必要性。课程设计的内容应贴近操作系统并结合软件专业的教学特点,着重编程实现,如实现一个特定功能的守护进程,实现一个简单的系统调用等等。给有余力的同学布置编写内核雏形等设计任务,提高学生的系统级编程能力。

课外的实验部分,应该给学生较大的自由空间,增加学生涉猎知识的广度,可以为学生布置些开源系统源代码的阅读和修改。组织设计小组修改精简开源内核,以及编写简单的小型操作系统,从软件工程的角度,培养学生的工程意识,进一步提高学生的实践能力。

5结束语

操作系统相关知识是软件人才应必备的基础知识,同时“操作系统”课程也是软件工程专业的一门核心主干课程。合理的组织“操作系统”的教学内容,采取适当的教学方法,加强实践教学环节是软件人才培养必要的手段和途径。本文探讨的观点和经验希望能够起到“抛砖引玉”的作用,使更多教师和同学提出对于“操作系统”教与学的新方法。

参考文献:

[1] 王知非. 操作系统课程教学与学生能力培养[J]. 计算机教育,2008(14):73-74..

[2] 鲁和杰. 基于Linux系统下的Java语言实验教学探讨[J]. 电脑知识与技术,2007(7):572-573.

[3] 王国华. 操作系统实验课程的设置与实践[J]. 山西财经大学学报,2006,9(1):108-109.

第8篇

关键词:教学评价;形成性评价;终结性评价;软件工程

1 背 景

课程评价[1-2]是高等教育教学过程中的一个重要环节,也是评价人才培养质量的重要手段。课程评价对学生学习行为、学习过程和学习成就是否达到既定的课程学习目标进行测评与考量,监督学生的学习情况,是学生学习效果最直接的反映[3-7];同时,课程评价还具有反馈学习情况和帮助学生调整学习进程的作用。目前,我国多数高校采用的课程评价方式仍然侧重于终结性评价(summative assessment),即教育活动发生后,从外部进行的关于教育效果的判断,是合规律性的表现,讲求客观性、中立性和结果性[8-10],但是终结性评价容易出现学生忽略平时的学习而期末集中突击的现象,严重影响高等教育的教学质量。形成性评价(formative assessment)对教育过程中存在的问题,从内部提供反馈信息,以提高正在进行的教育活动质量,是合目的性的表现,具有很大的相对性、价值性和过程性[8-13]。软件需求分析与建模课程是软件工程专业的必修课,在整个软件工程专业课程体系中处于核心地位,对软件工程专业的学生来说,不仅是专业技能培养的基础,还体现着创造性思维的培养过程[14-15]。在软件工程专业课程教学中,如何使学生既能掌握专业的知识和能力,又能具备解决实际问题的能力?我们通过探索与实践,改进传统的教学评价方法,设计基于形成性评价的模式和实施方案并将其应用于软件工程专业的课程教学中。

2 传统终结性教学评价方式的弊端

传统的教学评价一般采取终结性评价方式,学生学习效果主要通过期末考试体现,期末成绩在总评成绩中所占比例很高,一般约为60%~80%,主要考核学生对知识的记忆和理解能力,但是这种评价方式过多地引导学生关注考试分数,而不注重学习过程,忽视对学生思维能力、想象能力和创新能力的培养,不仅影响学生的培养质量,还不利于课程的建设和发展。

由于课程期末成绩基本上决定了学生能否通过该门课程,因此学生对其特别重视,但是学生平常普遍缺乏良好的学习习惯,不注意知识点的积累,得过且过,到了期末考试则临时抱佛脚,突击应付考试。这种情况下,学生虽然能通过课程考核,但是对课程知识点的掌握非常松散和浅显,经常过了一段时间就忘记。即使教师很认真地教学,也仍有一部分学生存在这些不好的学习习惯。为了保证通过率,有些老师不得不降低考试要求,这在一定程度上也限制了教学效果与质量。

3 基于形成性评价的教学评价方式

针对传统教学评价方式的现状和弊端,我们建议引入形成性评价,加强对学生平时学习的引导,帮助他们养成良好的学习习惯;同时,要对评价方式进行改革,增加平时学习情况考核与管理的评价比重,降低期末考试的评价比重,用评价方案引导学生重视平时学习,积累知识点,从而提高他们的学习效果。对课程实施形成性评价,即对学生的学习过程进行多方面、多种形式的考核,弱化终结性的期末考试,突出学生在学习过程中的主体性,使学生更加关注学习过程,调动学生的学习积极性,让学生从被动地“要我学”变成主动地“我要学”,促进教学质量的提高。

美国著名评价专家斯克里文(Michael Scriven)最早提出形成性评价。1967年,斯克里文指出评价可以发挥两种功能:一方面,它在方案持续改进过程中具有重要的作用;另一方面,评价过程可以帮助管理者分析方案效果,也就是评判已实施的课程方案是否取得充分显著的进展,以证明学校系统各种支出的合理性[8-11]。这也是形成性评价和终结性评价两种评价类型首次被提出。

美国评价专家布卢姆(Benjamin Bloom)指出,传统测验主要是对学生进行评判和分类,而形成性评价可以在教学过程中的任一阶段给学生提供反馈并予以纠正[16],这里的形成性评价指的是教师和学生在学习过程中采用简短测验所作的评价。尽管这种简短测验不仅可以评分,还可以作为评判和分类的依据,但是如果将它与评分过程分离开来,主要用作教学辅助与支持,那么它就是一种更为有效的形成性评价[8]。

形成性评价在教学过程中即时、动态且多次对学生实施评价,注重及时反馈,以强化和改进学生的学习。反馈是形成性评价的重要特点,也是形成性评价发挥作用的重要机制。形成性评价依据评价目标收集有关信息,是分析目标达成程度的一种手段;形成性评价强调评价最重要的目的不是证明,而是改进;同时,形成性评价关注过程,本质特点是教师在学习评价活动中收集信息,用于诊断、分析和改进教师的教学过程与学生的学习过程。

4 形成性评价的实践研究

形成性评价方案的核心在于阶段性和多元化,如何定义阶段性和多元化是形成性评价成败的关键。所谓阶段性,就是根据课程知识体系结构,制订详细的课程教学计划并定义多个评价里程碑,评价学生的学习情况;多元化是指针对不同时间段内的知识构成,采用单元测验、理论研究、技术运用、实践应用、论文写作、综合实验等多种评价形式,同时还要考虑学生的学习参与度、平时作业、实践能力等因素。

针对软件工程专业课程中的软件需求分析与建模课程,我们提出基于形成性评价的教学评价模式和实施方案并开展基于形成性评价的实践研究;通过形成性评价的理念与方法,丰富和扩展教W评价的手段和方法,也令对学生学习过程的全面、自主性监控和教学调整成为可能。

4.1 形成性评价方案设计与实施

软件需求分析与建模是软件工程本科生的专业课,课程内容包括需求工程、需求获取、软件建模等基本概念与理论知识以及面向对象需求分析与建模等,重点内容是面向对象需求分析与建模的方法和应用,采用课堂讲授、上机实验和综合实践相结合的授课方式。通过学习该课程,学生不仅能够掌握面向对象的需求分析与建模的基本理论与方法,通过上机实验和综合实践,还能具备运用UML建模工具对小型软件系统进行需求分析与建模的实际应用能力,为后续毕业设计及大中型应用软件的开发奠定基础。

该课程共48学时,其中理论授课32学时,上机实践16学时。根据课程内容,形成性评价实施时将课程分为5个阶段和3个评价里程碑,见表1。其中,评价里程碑1和2采用随堂测验方式评价相应阶段所学内容,以填空题、判断题、分析题、设计题和案例题的形式考查学生对概念的掌握与辨析能力以及对具体案例与综合案例的分析与设计能力;评价完成后,教师根据评价结果针对性地回顾和复习学生学习的薄弱环节并及时调整后续教学内容、方式和时间安排。评价里程碑3采用综合实践方式,教师给出一个“企业进、存、销管理系统”的具体案例,要求学生用4课时的时间完成该项目的需求获取、分析与建模,根据学生的实践表现、实验报告提交时间与质量、总结性陈述质量等进行评分;该阶段性考核以综合实践方式帮助学生回顾、复习和巩固本课程所学的全部知识,并考查学生对这些知识的综合运用能力。

根据软件需求分析与建模课程具有理论与实践相结合的特点,教师须将学生平时学习参与度、平时作业、阶段性考核、实践能力等作为形成性评价项目,和代表终结性评价的期末考试成绩一起,共同组成课程总评成绩,具体评价项目和成绩占比见表2。

针对软件工程专业的其他专业课程,教师可以根据课程内容适当调整评价项目和成绩占比,一般情况下,期末考试成绩占比可以从传统的70%左右降低到50%或更低。

4.2 形成性评价实施效果

我们将以终结性评价为主的传统教学评价方法和形成性评价方案应用在上海应用技术大学计算机科学与信息工程学院软件工程专业2012级和2013级2 个自然班,并进行对照比较,分别于2014―2015第2学期和2015―2016第2学期在软件需求分析与建模课程教学中实施。对比学生的平时成绩、期末成绩和总评成绩来判断教学效果,分析形成性评价对教学效果的影响,对比形成性评价过程中的随堂测试和期末考试以及传统终结性评价中期末考试不同题型的得分情况,分析形成性评价过程对教学效果的影响。

4.2.1 形成性评价对教学效果的影响

首先从教学效果来比较两种评价方法,两个班级平时成绩、期末成绩和总评成绩平均值见表3,其中,2013级的平时成绩即形成性评价结果,期末成绩即终结性评价结果。从表中数据可以看出,2013级的总评成绩比2012级高5.4分,2013级终结性评价结果明显好于2012级,高10分;2013级的形成性评价和终结性评价结果非常接近,而2012级的平时成绩明显高于终结性评价。从以上数据和分析可以推断,基于形成性评价方案的教学效果明显优于传统方法,并且形成性评价和终结性评价结果基本一致,能相互印证,可见其客观性和公平性更好,而基于终结性评价方案的平时成绩给分偏高,评价相对随意。

两个班级总评成绩的分数段统计数据见表4。

从表中数据可以看出,基于形成性评价方案的教学不但提高了学生的整体成绩,而且缩小了学生之间的成绩差距,使得绝大多数学生可以理解和掌握课程的知识和实践方法。2012级的优良率(80~100分)和不及格率分别为18.9%和2.8%,2013级的优良率(80~100分)提高到75.8%,不及格率降为0。

4.2.2 形成性评价过程对教学效果的影响

形成性评价过程中的两次随堂测试和期末考试以及传统终结性评价中期末考试不同题型的得分情况,见表5。从表5数据可以看出,相比传统终结性评价,形成性评价明显提高了填空题、分析题和设计题的得分率,判断题的得分率也从阶段性考核到期末考试逐渐提高;由此可见,通过形成性评价,学生对基本概念和理论的知识掌握和辨析能力、分析问题和解决问题的能力明显提高。案例题得分率从阶段性考核到期末考试逐渐降低,主要原因是随着所学理论和方法的增加,案例题的复杂度逐渐提高。从上述分析可以看出,形成性评价过程能有效促进学生平时的学习,及时向教师反馈教学状况,令教师尽早发现并纠正问题,为后续教学发挥导向作用,从而使学生能更全面和深入地掌握课程内容,在综合评价中获得更好的成绩,提高教学效果和质量。

5 结 语

针对软件工程本科专业课程,我们建立了基于形成性评价方案的教学评价模式,将学生出勤情况、课堂表现、作业情况、阶段性考核、实践能力等平时学习情况量化,作为学生的平时成绩折合到课程总评成绩,有效促进了学生平时的学习。实践研究表明,应用形成性评价模式后的教学效果明显优于传统的终结性评价方法,并且形成性评价结果和终结性评价结果相互印证,评价结果更能体现全面性、客观性和公平性。形成性评价以考促学、以考促教,可以实现学生知识、能力和素质的全面协调发展,不仅能提高学生的综合素质和创新能力,还能明显提高软件工程专业本科生学科专业课的教学效果和教学质量。

参考文献:

[1] . 课程评价的现状、问题与展望[J]. 课程・教材・教法, 2007, 27(1): 3-12.

[2] 方勤华. 近年来我国课程评价研究的现状及其发展趋势[J]. 河南大学学报(社会科学版), 2008, 48(6): 142-147.

[3] 秦炜炜, 焦建利. 国家精品课程评价研究之内容分析[J]. 中国电化教育, 2009(9): 63-67.

[4] 谢浩, 陈丽. 现代远程教育中形成性评价的现状及对策研究[J]. 现代远程教育研究, 2010(4): 49-53.

[5] 刘桂芝, 李婧. 完善本科生课程评价体系 激发师生联动发展[J]. 中国高等教育, 2012(增刊3): 52-54.

[6] 肖凤翔, 马良军. 高等职业院校实践性课程评价[J]. 高等工程教育研究, 2013(1): 159-164.

[7] 张文强. 建立教师课堂教学评价体系 促进学生发展[J]. 中国高等教育, 2013(10): 37-39.

[8] 林静. 形成性评价在高校课程评价中的应用[J]. 现代教育管理, 2011(9): 66-68.

[9] 赵德成. 教学中的形成性评价: 是什么及如何推进[J]. 教育科学研究, 2013(3): 47-51.

[10] 周世权, 朱旗, 李华飞, 等. 工程训练课程教学质量评价体系的研究[J]. 实验室研究与探索, 2014, 33(7): 152-156.

[11] Black P, Dylan W. Developing the theory of formative assessment educational assessment[J]. Evaluation and Accountability, 2009, 21(1): 5-31.

[12] 冯翠典, 高凌飚. 从“形成性评价”到“为了学习的考评”[J]. 教育学报, 2010, 6(4): 49-54.

[13] 韩东升, 余萍, 贾惠彬, 等. 基于形成性评价的通信电子电路教学研究[J]. 实验技术与管理, 2016, 33(2): 162-165.

[14] 陈云芳, 孙力娟. 软件工程专业课程体系研究[J]. 高等工程教育研究, 2009(2): 140-144.

第9篇

[关键词] 软件工程;知识领域;教学内容衔接

[中图分类号] G642.0 [文献标识码] A [文章编号] 1005-4634(2013)06-0075-03

0 引言

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,是信息领域发展最快的学科分支之一[1]。2001年经教育部和国家计委批准,全国成立了35所示范性软件学院,后增加到37所,截止到2012年12月30日,全国共有软件工程专业点415个。这415所高校由于学校定位和专业特色不同,所修订的软件工程专业人才培养方案也有所差异。为使人才培养方案与社会发展和教学改革相适应,需要不断对人才培养方案进行修订。在修订过程中,如何做好软件工程专业课教学内容的衔接,一直是计划制定者面临的一项难题。吉林工程技术师范学院软件工程专业经过多年的教学研究和实践,发现解决软件工程专业课教学内容衔接问题的有效办法就是要从解读软件工程教育知识体系入手,选择合适的知识单元进行课程整合,并根据学校的人才培养定位,优化课程体系的宏观结构和课程之间的微观顺序。

1 解读软件工程教育知识体系,整合知识 单元

1.1 解读SWEBOK和SEEK

我国软件工程本科教学规范的制定主要研究借鉴了SWEBOK和SEEK [2]。由ACM和IEEE/CS联合工作组组织制定的软件工程知识体系SWEBOK为确立软件工程的学科地位打下基础,SWEBOK 将软件工程划分为10个领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。计算教程软件工程卷SE2004提出了软件工程教育知识体系SEEK,为制定软件工程本科教学计划提供了指南。SEEK由知识领域、知识单元和知识点三个层次组成。SEEK包含10个知识领域和1个应用知识领域,共计48个基本知识单元、17个应用知识单元,建议最小核心学时数为497。10个知识领域主要由计算机(CS)学科知识领域和软件工程(SE)学科知识领域组成,分别是:计算基础(CMP)、数学和工程基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证与确认(VAV)、软件演化(EVO)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。1个应用知识领域为特定系统与应用(SAS)。

1.2 整合知识单元

知识单元必须以课程的形式进行讲授,所以必须将SEEK的10个知识领域的知识单元整合为课程名称。具体整合过程为:整合CMP中的知识单元为软件构造、形式化开发方法、C语言程序设计、算法与数据结构、计算机组成原理、操作系统、计算机网络、数据库原理8门课程。整合FNT和EVO中的知识单元为离散数学与软件工程导论2门课程。整合MAA和DES中的知识单元为软件需求、系统分析与设计2门课程。整合QUA和VAV中的知识单元为软件质量保证与测试1门课程。整合MGT中的知识单元为软件项目管理1门课程。整合PRO中的知识单元为软件过程管理1门课程。整合后共计15门专业课程,实践知识领域个别院校可根据自身情况进行整合。

2 优化课程衔接关系,制定应用型软件工 程理论课教学计划

2.1 调整课程结构

从高校软件工程专业课程结构来看,主要有层次课程结构、核心课程结构、模块课程结构和平台+模块课程结构四种[3]。大部分院校采用层次课程结构,即公共课程、基础课程、专业基础课程和专业课程。第一、二学年主要开设公共课和基础课,第三、四学年开设专业基础和专业课。此类课程结构使得课程衔接纵向逻辑关系较强,符合循序渐进的认知规律,有利于大多数学生以较少的时间比较系统地掌握专业知识。但由于层次课程结构是多学科、多门类课程的混合体,计划制定人不太好把握课程的直线式逻辑顺序,因此不能保证教学内容衔接的连续性、顺序性和整合性。“平台+模块”课程结构是近些年出现的一种新的高等学校课程结构,由基础课程平台和一定类型的课程模块构成。根据软件工程专业的特点,将课程结构调整为由公共基础课平台、学科基础课平台、专业基础课平台3个“平台”及计算机科学模块、软件工程模块、专业方向模块3个模块构成。“平台+模块”课程结构保证了知识结构内在的相互联系和相互独立,此课程结构中的“平台”是全校或同一学科各专业学生的必修课程,体现了人才培养的基本规格和全面发展的共性要求,体现了“宽口径”、“厚基础”的现代高等教育人才培养特点。此课程结构中的“模块”解决了计算机科学课程群与软件工程课程群开课顺序的争议性问题,专业方向模块根据社会人才需求、专业发展的趋势和学生的个性学习需求而设置。软件工程学科发展很快,专业方向模块可以根据需要进行调整。

2.2 调整课程顺序

根据整合的15门专业课程,按模块进行划分,可分为计算机科学模块课程和软件工程模块课程。计算机科学模块课程主要有离散数学、C语言程序设计、算法与数据结构、计算机组成原理、操作系统、计算机网络、数据库原理7门课程;软件工程模块课程主要有软件工程导论、软件需求、系统分析与设计、软件构造、形式化开发方法、软件质量保证与测试、软件项目管理、软件过程管理8门课程。计算机科学模块的专业课程开课顺序在各高校中大同小异,基本上是先开设C语言程序设计和离散数学,然后开设计算机组成原理、算法与数据结构、操作系统,最后开设计算机网络和数据库原理。调研各高校软件工程专业人才培养方案,发现软件工程模块专业课程的开设顺序不是很一致。结合先进的基于工作过程的课程设置方法[4],参照IEEE/EIA 12207.0-1996软件生命周期工作过程标准,调整了软件工程模块8门专业课程的开设顺序,其顺序依次为软件工程导论、软件需求、系统分析与设计、软件构造、形式化开法方法、软件质量保证与测试、软件过程管理、软件项目管理。

2.3 针对应用型本科院校设置专业方向模块课

吉林工程技术师范学院作为应用型本科院校,定位为培养应用型人才,因此所制定的专业方向模块课程要与人才市场应用需求相一致。目前在我国软件应用领域,软件开发人员需求缺口很大,因此将吉林工程技术师范学院软件工程专业人才培养方向定位为软件开发工程师。目前,在软件开发领域存在两大对垒:微软的NET和甲骨文公司的JAVA,因此将专业方向划分为NET方向和JAVA方向,并依据技术路线设置相应的专业方向课程。

2.4 研究成果

综上所述,所制定的应用型本科软件工程专业人才培养方案中的理论课程体系分学期执行的教学计划如表1所示。

3 成果评价

选取吉林工程技术师范学院软件工程专业理论课程体系为评价对象,利用文献[5]所建立的课程体系评价模型和评标指标,邀请四位专家在不区分专家权系数的前提下进行评价,评价情况如表2所示。

对评语集赋分值(优:95,良:85,中:70,及格:60),最终加权得分为92.25分,处于优秀的级别。本次评价只针对教学计划中的理论课程体系(即体现教学内容衔接效果的体系)进行评价,没有考虑实践环节、师资及实施情况等。

4 结束语

通过多年教学研究实践,总结出应用型软件工程专业理论课程体系制定的流程:(1)将SEEK的10个知识领域中的知识单元整合为15门专业课程;(2)采取“平台+模块”课程结构划分课程宏观结构;(3)微调15门课程的开课顺序,按1~7学期开设;(4)针对应用型人才培养定位,划分专业方向模块并设置课程。本次研究仅限于理论课程体系教学设计。切实加强软件工程实验课程和实践环节的创新与改革将是下一步重点研究的课题。

参考文献

[1]宋雨,赵文清.软件工程[M].北京:中国电力出版社,2007:2-5.

[2]齐治昌.软件工程学科的建立与软件工程本科教学[J].中国大学教育,2006,(2):28-30.

[3]王彬斐.我国高等学校课程结构优化改革研究[D].兰州:兰州大学,2007.

第10篇

关键词:软件工程;语言类课程;农业院校

软件产业是最具前景的产业之一,目前,我国软件产业发展迅速,人才需求旺盛。江西农业大学作为一所历史悠久的老牌高等农业院校,为适应产业发展的需要,于2003年成立软件学院,开设软件工程专业,培养适应社会需求的应用型软件工程专业人才。学院采用校企合作办学模式,在人才培养模式改革方面进行了大胆的探索,并取得了良好的办学效果。学院把学生的实践能力和理论基础并重,将培养、提高学生实践能力的理念贯穿于学生培养的各个环节,其良好的教学效果也从学生和用人单位的好评中得到了很好的印证,然而校内环节如何进一步提升学生实践能力的培养,在学生接受基地实训之前奠定一个良好的实践能力基础,还值得我们进一步思考。

一、教学实践中主体和客体的分析

学院实行“3+1”人才培养模式,即学生前三年在学校培养,第四年在实训基地培养。因此学生理论实践能力所能达到的高度很大程度上仍取决于校内三年的培养环节。我院学生在校内接受教育主要有两个阶段:①基础知识、专业基础教育。实践教育形式为课程实验、课程设计及计算机应用能力实训。②专业知识和技术教育。实践教育形式为课程实验、课程设计和校内项目开发实践能力训练。在专业知识和技术教育阶段,学院按照“软件开发”、“网络应用”、“数字媒体技术”和“嵌入式系统软件”4个专业方向展开教学,每门专业基础和专业课程的实验课时占总课时的比例均超过30%,且在大二暑期设置3周的校内专业实训。尽管在课程及课程的课时设置上充分考虑了学生实践能力的培养,但仍存在以下问题。

1.缺乏丰富实战经验的实验课程教师。学院建院较晚,师资队伍相对较年轻,从学历角度看,绝大部分是硕士研究生及以上学历,教师的专业理论基础也非常扎实。但是由于大部分年轻老师缺乏教学经验和软件项目开发实战经历,在实验课堂上,尤其是语言类课程,如Java、Jsp等,不能系统地引导学生有效地完成实验内容,更无法吸引学生主动、自觉地参与到实验中去,达不到实验课程的教学目的,相反地还会使部分同学产生厌学情绪,从而导致其进一步混课、逃课。当然,在引进新的师资时,学院也非常看重教师的软件工程实践经历和经验,部分老师刚进来时也确实有较强的软件开发能力,但是由于在学校整个评价机制和职称评审机制中,对教师教学仅有量的考核,更多的是注重对教师学术论文数量和质量的考核,故很多年轻老师在这种现实压力下,会将大部分精力投入到学术科研领域,由于IT技术发展日新月异,久而久之,原有的实战知识、经验也慢慢落后,甚至被淘汰了。

2.学院生源质量有待进一步提高。作为省属农业院校,生源方面存在一定程度的劣势。由于观念的影响,部分家长和学生会避开报考农业院校。而且软件工程专业相对其他专业学费要高不少,有些基础较好想读软件工程专业的学生可能由于家庭经济压力也可能会放弃自己的理想。迫于招生的现实压力,学院软件工程专业所招学生的录取分数较其他院校同类专业要低一个档次,这直接影响到所招学生的学习能力和文化基础的水平。这样一种现实因素,自然地,对老师以及学生本身都提出了一种更高的要求。

二、语言类课程教学实践的改革与完善

从第1小节分析中我们可以发现,在我院软件工程专业学生培养过程中,制约学生实践能力培养的瓶颈有两个:一是生源质量,一是实验课程的师资力量。为了提高生源质量,学院乃至学校都做了大量宣传工作,宣传学院办学模式的优势、宣传历届毕业生的高就业率及较高的就业质量。同时也对优秀新生实施奖励措施。这些努力有一定的效果,但不是很明显。较高的学费短时间内仍然是很多贫困家庭首要考虑的因素,而对农业院校认识上的主观偏差也很难短时间内纠正过来。因此生源质量问题不是短时间内能改变的,而需要靠不断地提高办学质量,形成良性循环,从而吸引学生。针对校内实验课程的师资力量不足问题,学院从实际出发,切实提出了一种可行、有效的教学改革措施。

1.将软件工程专业培养计划中的校内课程进行梳理,将语言类课程单独列出。从新生入学到学生离校去实训基地,语言类课程占了相当的比重。按照不同培养方向,设置了由浅到深,由易到难课程体系。如学院的JAVA开发方向,先后开设了C语言程序设计,培养程序设计的基本思维和理念,VisualC++,进一步激发学生软件开发的兴趣,JAVA程序设计基础、JSP程序设计、大型数据库技术等,为将来就业做好准备。这些语言实践类课程在软件工程专业学生的培养过程中占有重要地位,单独列出来,形成相对独立的体系,在其他基础理论课程的支撑下,更有利于学生毕业后的就业。

2.对于单列出来的语言实践类课程中的实验课程部分聘请有丰富实践经验的校外老师进行教学。尽管学院办学模式本身就是“3+1”模式,第四年就是由具有一线开发实践经验的老师指导学生开发实践,但是为了让学生更早地体验软件开发,更早地融入专业的学习实践中,学院聘请了校外企业里的软件工程师来学校给学生上实验课。这样做极大地提升了学生学习专业的兴趣,极大地提升了学生专业学习的效果。软件工程师们丰富的实战经验可以帮助学生学习过程中遇到的各种问题和困难。另外,学院在大二暑假的假期还会开展为期三周的暑期实训,暑期实训期间通过将同学分成2~3人小组共同完成项目开发,让同学真实体验软件工程大致的开发过程和流程。为了切实提高实训效果,学院在暑期实训过程中,也聘请校外软件企业里经验丰富的工程师来指导学生完成一个真实的项目开发,让学生实训真正的有所收获,为去北京实训基地打好坚实的基础。

为适应我国软件产业发展的形势,我国很多高等院校适时开设了软件工程专业,招收了大量的软件工程专业毕业生。但从就业市场反馈的信息却表明很多软件工程专业毕业生的水平和素质和企业的实际需求之间仍有较大的差距。江西农业大学软件学院在软件工程专业培养过程中进行了积极的探索。通过采取将企业里具有丰富实战经验的软件工程师请进来,以及将准毕业生送到企业真实环境中去锤炼的办法,走出了软件工程专业人才培养的新路子。通过用人单位的反馈,我院毕业生深受用人单位欢迎。

参考文献:

[1]陈登坤.中国软件产业自主创新及人才需求趋势[J].中国教育信息化,2010,(1):89-90.

[2]何火娇,王映龙,艾施荣.适应产业需求的软件工程人才培养模式研究与实践[J].江西农业大学学报(社会科学版),2011,10(4):121-125.

[3]杨红云,孙爱珍,何火娇,熊焕亮.“双导师制”软件工程专业实践教学模式研究[J].计算机教育,2010,(14):122-124.

基金项目:江西省特色专业建设项目(赣教高字(2008)101号);江西省人才培养模式创新实验区(赣教高字(2009)82号);江西省高校省级教改课题(JXJG-09-4-25)

第11篇

关键词:双语教学;软件工程;计算机专业;独立学院

中图分类号:G642 文献标识码:A

1引言

由于软件国际化和本地化研发、国际交流和学习先进计算机开发技术的需要,英语在IT行业的地位越来越重要。重点和一般本科院校的计算机专业普遍开设双语课程,以达到提高学生的英语应用能力的目标。

软件工程学科涵盖软件开发、维护和管理的基本概念、基本原理、开发软件项目的工程化方法和技术以及开发过程中应遵循的流程、准则、标准和规范等。因此,在软件工程课程实施双语教学,能够有效地规范课程、革新教法、重新定位培养目标和改善教学效果,实现计算机软件专业人才培养进入国际化轨道。

目前,大多数独立学院都开设了计算机专业,独立学院的人才培养基本目标是培养创新应用型本科人才,因此,在独立专业教学中开展双语教学是大势所趋。独立学院计算机专业学生的英语水平与重点或者一般本科院校学生的相比有较大差距,开展双语教学时面临一些新问题。

某独立学院在2007年春季学期对2004级计算机专业软件工程课程进行双语教学改革,总结经验教训后,决定在2008年春季学期对2005级计算机专业软件工程课程恢复普通教学。本文介绍了具体情况。

2教学目标

软件工程课程教学的主要目的是使学生通过课程学习掌握开发高质量软件的方法、有效管理软件开发活动并为参加大型软件开发项目打下坚实的理论基础。课程教学

包含课堂教学、实验教学和课程设计三个环节。课堂教学侧重于讲授软件工程的相关原理和概念;实验教学要求学生了解并掌握常用软件开发工具;课程设计主要通过适当规模的软件系统的需求分析、设计、实现、测试与部署,培养学生软件工程实践能力、遵循软件工程规范撰写软件开发文档的能力、团队协作精神和软件项目管理能力。

3教学实施

3.1基本情况

该学院计算机专业2004级和2005级学生人数、通过大学英语四级考试人数和第一次问卷调查时学生对双语教学持赞成态度的比率、Java与数据结构课程的平均成绩见表1。另外,2004级和2005级分别有24%和20%的学生在软件工程课程开课前参加了IT培训机构举办的软件设计培训。笔者此前担任这两个年级Java、数据结构课程的教学,试卷难度和知识覆盖情况基本保持一致。

上述基本情况表明两个年级学生的平均水平不显著。

3.2双语教学

课堂教学选用Ian Sommerville编著《Software Engineering》(Eighth Edition),参考教材为该教材的中译版。课程实验与设计教学采用自制的讲义。

该学院计算机专业人才培养计划规定,软件工程课程课堂教学是40学时、实验课时16学时、课程设计40学时(2周×5×8)。2008年春季学期的软件工程教学依然沿用该教学计划。2004级和2005级软件工程课堂教学均采用案例教学法,课程实验内容与课程设计的课题要求基本相同。

开展双语教学前,我们得到学院教务管理部门的大力支持,但未与学生协商。开课时,学生曾不愿意领发学院订购的《软件工程》教材,原因是学生担心教材看不懂和主讲老师会中途放弃该教材而换用其他教材。经过细致的解释工作,80%的学生领购该教材,20%的学生购买中译本。

在教学过程中,及时根据学生反馈调整教学形式。因多数学生感觉不适应“英语讲授+英文教案”形式,第9~20学时,调整成“汉语讲授+英文教案”形式;第21~34学时,调整成“汉语讲授+英文教案(中文对照)”形式;第35~3时,以小组为单位,学生报告自学教材部分章节。第40学时,点评学生自学情况和课程总复习。作业以中文或英文方式完成。

3.3普通教学

计算机专业课程教学中,专业课程教育应当是主线,“双语教学”只是给学生提供一个应用英语的机会,英语只是一个载体,实质还是应当培养学生掌握计算机专业的知识和技能。根据2005级计算机专业学生的基本情况和2004级双语教学的经验,我校2005级软件工程课程教学是采取普通教学形式。

教材采用《软件工程理论、方法与实践》(孙家广主编)。课堂教学课时安排和实验教学内容与2004级的基本相同,课程设计教材选用韩万江主编的《软件工程案例教程》。

3.4教学效果评价与分析

以两个年级工程课程的笔试成绩为依据,评价双语教学与普通教学的教学效果。自制试卷时,确保两个年级的试卷覆盖知识点和难度相同。被考察知识点分布、课时分配、平均成绩( , 表示第 个学生的成绩)和均方差( )见表2。第一列A~J分别表示概述、软件过程、需求工程、面向对象基础、面向对象分析、面向对象设计、软件实现、软件测试、项目管理各章和课程设计。“总计”行依次是总学时、总分、2004级和2005级的平均成绩、均方差。

表2中2005级的平均考试成绩比2004级的高,且均方差比2004级的小。显然,采取普通教学方式教学效果更好。

课程结束时进行第二次问卷调查(表3)。由表3可知:2004级使用英语教材的学生因为英语基础差,大部分精力浪费在对教材中的英语词句的理解上,平均每次课的复习时间比2005级学生多花费0.76小时;在回答对双语教学是否支持问题时,2004级计算机专业60%的学生赞成在专业课程教学中采取双语教学形式,比2005级的高。表明2004级学生在经历过双语教学后,清楚地认识到专业英语方面的差距,具有提高英语水平的强烈需求;两个年级有超过70%的2004级学生建议提前C/C++和Java语言程序设计等课程开展双语教学;近六成的学生建议“计算机导论”进行双语教学。2005级课程设计的教学效果好的主要原因是,他们能够在课余根据课程指导设计教材,进行自主学习。

4解决方案

独立学院确定在计算机专业课进行双语教学时需要重视如下问题:

(1) 应该对初次开设双语课程的学生进行双语教学的实质、教学形式以及意义等宣传,让学生从思想上与老师保持一致,这才有可能在教学过程中达到教学相长。

(2) 应尽力避免学生将主要精力浪费在对英语语句的学习方面。在双语教学前,需对学生进行英语水平调查,如果学生普遍英语水平不高,建议慎重考虑选择双语教学。

(3) 在开展计算机专业课程(如软件工程等)双语教学之前,建议在“计算机导论”、“C/C++”或“Java程序设计”等先导课程中先开展双语教学,并在第一学年第二学期开设专业英语选修课,以提高学生的专业英语阅读和应用水平。

(4) 应根据学生的实际英语水平灵活选择“汉语讲授+英语教材+中、英文作业”、“汉、英讲授+英语教材+中英文作业”或者“英语讲授+英语教材+英文作业”等形式。

第12篇

关键词:社会需求;职业能力;教学体系

中图分类号:G642文献标识码:A文章编号:1009-3044(2009)26-7572-03

A Preliminary Study on Software Engineering Course System with Social Demand Oriented

LIU Ze-wen

(Software Engineering Department of Computer and Communication School, Hunan University of Technology, Zhuzhou 412007, China)

Abstract: Software is the core of informatization, the informatization construction in various fields is inseparable from the software, software industry relates to the national economic development and cultural security, which reflects the comprehensive strength of the country. Now China's software industry is suffering a serious software talents of structural imbalance, it means the lack of genuine software engineering essence of high-quality talents in this field. In the "big engineering" and " the project integration education reform in the world" project[1], software engineering curriculum system reform with social demand oriented holds the important position in "big engineering" cultivation reform and is of profound significance.

Key words: social needs; professional ability; teaching system

计算机作为一门学科和技术进入教学和工作的领域,已经发展了很多年了。作为一门使用的工具,计算机不仅在高科技领域做出了突出的贡献,并且计算机作为一种学习、生活和工作的工具,正逐渐地被越来越多的人掌握和使用。特别是近几年,随着计算机软、硬件技术的飞速发展,计算机正在作为一种家电逐步进入人们的家庭生活之中。

传统软件工程专业的一些课程的教学效果不理想,其中一个很重要的因素是教师教学和社会需求相脱离。我们的教学模式就是要把这两者紧密结合在一起,尽可能多地增加实践性教学环节,教学内容要结合社会所需进行讲解,让学生从完成项目任务的角度上主动去学。在课程教学中,用一个完整的体系贯穿其中,便于学生加深对应用软件的理解,特别是以社会需求为导向,培养适应市场发展和变化的高素质软件工程专业人才[2]。

以社会需求为导向的软件工程专业教学体系初探。

面对社会对人才综合能力要求越来越高的情况,软件工程专业如何以社会需求为导向,科学合理地进行因材施教,笔者认为应针对专业特点,建立"合理体系、多种形式、内容渗透、特色案例和实践、多形式考核及教学管理制度"六个教学体系。

1 求为目标建立阶段培养的时间体系

根据学校和学生的特点,建立分阶段培养的时间体系,将全过程分解成引导入门、实践提高、实际应用三个阶段,每个阶段均有不同的学习任务和内容,并根据不同阶段的特点选用不同的教学方法。分段教学能使学生在具备扎实的基础知识的同时,又具备解决实际问题的能力。

第一阶段:引导入门阶段。第一、二学年,以项目驱动课程体系教学,将学生培养成为熟练的程序员;以公共基础课程、学科大类通识课程和跨院系、跨专业选修课程为主,拓宽基础知识,将科学教育和人文教育相结合,培养学生各方面的素质。

第二阶段:实践提高阶段。在前两学年学习的基础上,第三学年,分模块进行项目设计及课程教学,进一步拓宽学生专业知识面,旨在提高学生的应用软件工程方法的技术人员能力的,并进行团队能力的培养。

第三阶段:实际应用阶段。第四学年,重点培养学生软件工程领域应用和工程实践能力。该课程体系注重培养学生的创新意识,提高学生的创业能力。此阶段可与毕业设计同步进行,模拟软件开发企业的开发模式进行项目设计及项目管理,指导老师针对不同学生的具体情况,指导学生选修专业课程,因材施教,以各自特长的展示为中心,发展个性,根据专业方向进一步强化能力。实现“零距离就业”的目标,使学生了解企业对人才的需求,了解企业管理模式,以便毕业后尽快找到满意的工作。

2 求为依托构建针对性强的课程体系

前段时间,笔者在一些工厂、企业作过调查,结果表明,目前既具备工业设计基础,又熟练掌握计算机应用技术的专业人才是相当紧缺。说明在对专业培养方案的制定中,强调计算机方面的作用和地位,使社会需求与计算机艺术有机地结合起来,是社会发展的大势所趋的。同时,笔者觉得课程的设置,注重加强对学生的信息量传输,拓宽学生的知识面,对提高学生的综合素质是具有非常积极的意义的,加强对学生在计算机应用方面能力的培养,是软件工程专业教育发展的必然趋势[3]。

2.1 以社会需求为导向设置课程体系

计算机科学技术的快速发展以及企业对人才的多元化需求要求我们将新的知识单元及时引进课程体系中,使课程体系的设置要有超前和发展的眼光。在培养计划中我们除了保留必要的基础课程外,增加了新兴的计算机方面的内容,特别是强调了计算机辅助在相关课程中的应用,注意培养学生的现代审美意识艺术、创新精神和艺术创作能力等素质更加全面,努力使学生成为既具备扎实的基本功,又具有掌握高技术的新型人才[4]。同时,课程体系中的一些涉及到技术及开发工具,紧跟企业应用及行业发展前沿,随时将一些新兴的成熟的内容吸收进课堂教学。做到对课程体系、教学计划动态调整,做到保持课程体系的动态性、前瞻性。