欢迎来到易发表网!

关于我们 期刊咨询 科普杂志

软件开发基础知识优选九篇

时间:2023-05-25 15:09:23

引言:易发表网凭借丰富的文秘实践,为您精心挑选了九篇软件开发基础知识范例。如需获取更多原创内容,可随时联系我们的客服老师。

软件开发基础知识

第1篇

一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。

二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。

四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。

五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。

测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。

第2篇

关键词:实践内容;实践教学模式;整合;教学方法

1研究背景及意义

培养既懂技术又懂管理的软件高级人才,是各软件学院追求的目标。对软件学院的学生来说,项目实践能力、自学创新能力、团队合作能力和交流表达能力是其职业生涯中所不可或缺的。如何开设学生在校期间的实践课程,对学生进行软件开发基本技能训练,使学生在学习了软件开发技术相关领域的理论知识后,能够充分地锻炼这些能力,顺利就业,并在此后的职业生涯中有所建树,各软件学院针对这些问题都在进行积极的改革与探索。

对于大多数软件学院,制定合理的、适用于软件开发技术快速发展的实践教学模式面临的问题主要有以下两点:

1) 学生实际掌握的软件开发技术水平参差不齐。新入学的工程硕士超过半数来自非计算机专业,这些学生具备相应的专业领域知识优势,但在软件开发技术所必需的软件基础知识方面却存在不足。

2) 软件开发技术包括语言、开发工具及其所使用的开发方法。同时还需要掌握与软件开发技术相关的专业基础知识,以及要了解所开发程序的实际运行平台。各层次、各方面的大量实用产品和技术的推出,以及软件工程硕士的学制短和学科基础差别大的现实都给学生入门学习和系统掌握软件开发领域的核心知识带来巨大困难。

因此,研究和探索一种以动手实践为主导、融合多门传统课程、符合软件工程思想的软件学院实践教学模式,将为软件工程相关知识的进一步学习,提供坚实的理论基础和技能保障。本课题的研究内容,将为软件工程硕士实践教学模式提供借鉴意义,同时,也可为软件相关专业高年级本科生的软件开发技术能力培养提供参考。

2研究内容及主要观点

2.1研究范围和研究目标

本文研究的实践内容和模式主要针对于新入学的工程硕士,是根据软件学院工程硕士入学时掌握的软件开发技术水平参差不齐,部分学生缺少开发设计软件所需要的基本编程能力、基础核心支撑课程知识点的实际情况提出的。我们希望通过大量的实例强化训练和有针对性的讨论辅导,为学生顺利学习、理解和掌握“专业方向领域的知识点”打下坚实基础,为提高学生分析问题、解决问题的能力提供技术平台支撑,具体目标如下:

1) 通过该实践课程的学习,向学生灌输高质量程序设计的观念,使学生具备实际的编程能力,具备学习新语言的基本素质。

2) 通过该实践课程的学习,使学生在熟练掌握语言技能的同时,深入理解算法、数据结构以及与平台(Windows和Linux)有关的进程和网络编程的基础知识,并能够自觉关心软件质量,包括软件的正确性、效率、易用性、可读性(可理解性)、可扩展性和可复用性等。

2.2主要观点

本实践课程强调学生的主体地位,教师的指导作用,采用讲座、小班讨论和实验相结合的方式进行。通过一门常用语言(C++)和两个常用平台(Windows和Linux),培养学生综合运用已学知识的能力,使其深入理解程序工作的本质,为以后解决各种大型实际问题打下坚实的实践基础。实践课程的基本构成是:9次×3小时讲座+6次×3小时实践讨论+实验。

实践内容按专题组织,以C++作为程序设计语言、以Linux/Windows为实践平台,共设置涵盖编译原理、数据结构和算法、操作系统和网络编程等核心基础课程在内的9个专题。每个专题的课程形式包括讲座、实验、实验报告和讨论课4个环节。实践内容的研究、确立和整合围绕以下指导思想进行:

1) 通过动手实践深入理解软件开发基础理论。

2) 提取核心知识点,压缩课时,消除各传统课程之间的隔阂,以适应软件工程硕士学制短和学科基础差别大的现实要求,讲座内容以“专题”进行。实践的题材包括练习、实验和典型案例分析等,实践的手段包括一读、二写、三总结。强调程序设计规范,确保技能的系统性和规范性。

设置讲座的目的是要把各专题核心知识点的来龙去脉介绍给学生,使学生对目前程序设计的关键技术和基础知识有个整体印象。因为虽然目前软件设计技术种类繁多,但究其本质,还是超不出软件工程的基本思想。学生在学校不可能完全熟悉每一项技术,但理解常见技术的应用背景和发展原由却是进行相关应用的前提。

设置实验的目的是让学生通过阅读经典代码和自己动手编程去深入理解程序的工作原理,并通过总结做到举一反三。在熟练掌握基本的编程技巧,学会规范化编程的同时,系统地掌握相关的基础理论知识。

设置讨论课的目的是要解决学生基础差别大,相当部分学生基础薄弱的问题,实现个性化教学和辅导。课程讨论分小组进行,每组10~15人,每专题每小组两小时。讨论课主要用来解决该小组学生在自学和实验过程中所遇到的疑难点,并通过讨论这些疑难点,有针对性地对该小组学习作出总结。

为了便于大家的学习和沟通,学院网站为实践课程设立专门的文档下载、上传区和讨论区。学生可以下载与实践相关的各种文档、案例、讲座内容以及经典参考书目;学生也可以通过上传区提交每周的作业,包括编程源代码和实验报告;学生还可以在该区域进行重点、难点的讨论,提出好的建议,便于课程的改进和课程内容的及时更新,做到与时俱进。

9次讲座内容如表1所示,6次实验课的内容如表2所示。

2.3实施原则

为了使实验课的实际效果落实到实处,学生真正能够从中获益,提高软件开发的基本技能,实践课程的执行和实施必须遵循如下4个原则:

1) 一种语言,两个平台,分专题训练[1]。

软件工程实践以C++为基础,因为相比目前流行的C、Java和C#,C++既是面向对象编程,又具有Java和C#不具备的指针和引用等和内存管理相关的比较直观的技术,同时C++在操作系统、设备驱动程序、视频游戏等领域相比上述语言也存在优势。两个平台为Windows或Linux。考虑该实践课程的主要目的是“学生的计算机领域核心的基础知识的掌握和提升”,知识面涉及编程语言、算法、数据结构、操作系统、编译原理和网络等各个方面,实践内容以“专题”进行,同时也要求实践指导老师具有丰富的项目实战经验。

2) 个性分块和统一指导相结合[1]。

所有学生根据具体基础条件分为15人左右一组,设立小组长。各小组根据自身条件,进行强制集中练习,从而保证上机和实践时间。每周各小组具体的训练内容由指导老师根据小组的具体情况分别指定。学生必须在完成老师指定的任务后才能自行决定训练内容。学生也可对指导老师提出学习内容变更建议,但须征得指导老师同意。

3) 分散训练与集中讨论相结合[1]。

学生在每周针对各小组举行的讨论会上可以提问相关问题。指导老师要回答相关问题并对学生上周的作业数量和质量进行评定,并根据小组所有学生的具体情况指定相互帮教的计划,布置下一周的练习内容。指导老师在学生的整个实践过程的作用是指导、监督并对其中的每一个环节进行考核打分,及时发现问题,及时总结解决,确保所有环节落到实处,不流于形式。

4) 坚持考核评审的原则。

考核采用平时成绩与期末笔试相结合的方式,其中平时成绩占总成绩的40%,笔试成绩占总成绩的60%。平时成绩由指导老师根据平时实际情况给出,主要依据是学生每周完成案例代码和实验报告的质量,笔试侧重于代码阅读、设计能力以及基础概念和原理的理解和掌握。

3结语

通过整合课程内容、强调学生自学和教师辅导相结合的方法,我们在有限的课时内达到了补习软件基础知识和学习面向系统软件开发技术的两个教学目标。学生的反馈调查显示本课程体系得到了学生的高度认可和肯定,取得了一定的成效。但是整个软件市场中依然存在着企业招不到合适的高级软件人才,毕业生就业难的供求矛盾,面对软件开发技术知识体系更新换代快的特点,如何培养能够适应市场发展,具有创新意识的高素质软件人才将一直是我们探索研究的重点。

参考文献:

[1] 覃文忠,万金友. 关于软件学院实施“项目驱动”教学模式的探索[J]. 计算机教育,2004(4):57-58.

[2] 南京大学软件学院工程硕士培养方案[S]. 南京:南京大学软件学院,2006.

[3] 北京大学软件与微电子学院工程硕士培养方案[S]. 北京:北京大学软件与微电子学院,2005.

[4] 张广军. 微软院校课程体系设计理念[R]. 北京:北京航空航天大学软件学院,2005.

[5] 北京航空航天大学软件学院软件工程硕士培养方案[S]. 北京:北京航空航天大学软件学院,2004.

[6] Michael L. Scott. Programming Language―Pragmatics[M]. 裘宗燕,译. 北京:电子工业出版社,2005.

[7] Randal E. Bryant. Computer Systems―A Programmer’s Perspective[M]. 龚奕利,译. 北京:中国电力出版社,2004.

[8] Kenneth C. Louden. Programming Language―Principles and Practice[M]. 黄林鹏,译. 北京:电子工业出版社,2004.

Exploration of Practice Model in Software College

SHEN Xue-ping, YUAN Cang-zhou, WANG Hua-feng

(Software Institute, Beihang University, Beijing 100191, China)

第3篇

关键词:校企联合;人才培养;专业改革

1 背景

自1998年教育部制订的本科专业目录将原有的计算机软件、计算机硬件、计算机应用调整合并为计算机科学与技术专业后,普通高等学校一直都在执行这个专业目录。然而,计算机学科本身的快速发展、就业形势的急剧变化、毕业生的知识结构及能力与用人市场的差别等一系列因素,导致计算机专业的改革和改造成为必然。于是,一方面,计算机科学与技术这个大专业下分离出更具体化的网络工程和软件工程专业,同时教育部高等学校计算机科学与技术教学指导委员会也在积极探索专业改革与改造方案。从2004年起,就计算机专业本科教育的状况、专业发展战略思路、专业规范、专业公共核心知识体系与课程、实践教学体系与规范、核心课程实施方案、能力培养体系等方面进行研究与实践。建议采用“分类培养”的方式,并确定为计算机科学、计算机工程、软件工程、信息技术4个培养方向。即少数高水平大学按照科学研究型人才标准来培养学生,大部分本科院校按照工程应用型人才标准来培养学生。为了配合专业改革,2008年,计算机科学与技术教学指导委员会启动了“计算机科学与技术专业教学改革与实践”项目,从全国高校中确定了14所高校,作为专业教学改革与实践的试点高校,长江大学成为“具有行业特色院校的计算机专业人才培养研究与试点”学校之一。

长江大学具有非常鲜明的石油行业特色背景。如果将计算机专业与石油专业充分结合,培养能够在石油信息化领域从事软件系统开发和管理的交叉型复合人才,在提高学生就业率的同时,也能为石油行业输送大批懂得石油专业的信息化专门人才。为此,在充分调研的基础上,我校与北京侏罗纪软件股份有限公司合作,从2009年起,学校从大二学生中抽调部分学生,成立了软件工程专业(石油应用软件方向)实验班。旨在通过校企合作,探索专业培养定位、教学内容、教学方法的改革之路,以求办出专业特色。同时,也希望将该班级成功的教学模式进行推广,辐射到所有班级,让学生全面受益。

2 改革的基本原则

2.1 按照产学合作培养模式满足企业需求,实现与企业的“无缝对接”

公司根据市场的实际需求提供人才培养规格要求,校企双方共同商量,确定人才培养方案、课程体系,教学内容等,有别于传统意义上的“订单式”培养。实验班根据企业和市场的实际需要确定学习内容,公司参与培养方案的制订与实施,实现一种特色鲜明的“校企合作多元培养方案”。

2.2 通过理论实践结合丰富学生知识结构,提高就业竞争力

在用人单位看来,扎实的专业基础知识、符合企业发展理念的职业素养、一定的实践工作经历积累,在一定程度上反映了大学生的综合素质和能力,也符合企业最终的用人要求。在权衡成本与效益的基础上,用人单位不仅考察大学毕业生的学习成绩和思想品质,而且对学生的专业实践经历也提出一定的要求,这样可以满足用人单位效益最大化的要求,也是市场经济条件下用人单位合乎情理的选择。

然而,在目前高等教育的现实情况中,学生直接接触社会和实践的机会较少,其后果是学生只会纸上谈兵,很难获得将来就业所需要的实际工作经历。校企合作教育方式是一种既能使学生顺利完成学业,又能使学生积累一定工作经验的教育模式。从过去简单的“教”和“准实践”,转变到满足企业具体需求,通过多种教学手段实现真实的实践,能够提高学生的就业竞争力。

2.3 按照计算机和石油专业复合型人才规格培养,提高学生综合素质

在人才培养方案的课程设置中,需要对教育部98版专业目录中的规定课程进行适当突破,保留计算机软件类的主干课程,对计算机硬件类课程进行压缩和裁减,增加石油类主干课程,开设软件工程及软件开发技术类课程。采取理论教学、实践教学、专题讲座、专题培训、实训、参与实际项目等多种教学方式,达到能力培养的要求。

3 人才培养的目标定位与具体要求

石油企业信息化建设任务艰巨,石油勘探开发领域也需要众多专业化的系统软件。上至高端的图像图像处理、数据分析等系统,下至低端的数据信息化服务,都需要既懂计算机又懂石油的专业人才。此次改革的根本目的,就是培养能从事石油信息化软件和石油勘探开发软件开发工作的高级技术人才。

3.1 培养目标

适应我国社会主义现代化建设和石油信息化建设的需要,德、智、体全面发展,具有良好的科学素养、职业素养和人文知识背景,在工作思路、工作方法等方面得到系统的训练,较系统地掌握计算机软件工程基本理论和石油勘探开发基本知识,具有较强的实践应用能力,能从事石油勘探开发领域的软件开发、信息建设等方面的工作,也可以从事石油行业或其他应用领域计算机应用软件开发、研发工作的高级应用型工程技术人才。

3.2 业务培养要求

本专业学生主要学习计算机软件工程的基本理论,学习石油勘探开发的基础知识,接受从事石油勘探开发领域计算机应用的专门训练,具有研究和开发计算机软件系统的能力,特别是具有开发石油勘探开发方面计算机软件系统的专门能力。本专业偏重于石油勘探开发软件开发、应用领域,要求具备的知识和能力如下:

1)系统掌握计算机软件工程专业的基本理论与基本知识。

2)熟悉石油勘探开发信息应用的基本内容、特点和专有知识。

3)掌握软件系统分析和设计的基本方法,具有研究、开发计算机软件系统的能力。

4)具有扎实的文字功底,了解软件开发工作过程中各种文档的书写规范和要求。

5)熟练使用软件开发过程中的各种工具软件。

61熟悉IT项目管理的基本流程、工作方法,并能够在实际工作中应用。

7)具有工程意识、创新意识、经济意识和管理意识,掌握一定的经济学与管理学的知识,具有较强的工作适应能力,工程实践能力和组织管理能力。

学生通过学习计算机知识课程、石油知识课程、人文知识课程、理论与实践结合的课程,将成为专业(计算机、石油)基础知识扎实、综合能力强、实践能力强、责任心和事业心强的复合型人才。即通过课堂教学、校内实训、企业实践紧密结合的教学方式,本专业将培养出满足社会实际需要的、综合能力强的复合型、应用型人才,缩短毕业生与社会需求之间的“磨合”期,达到现有本科毕业1年以后的实际水平。

3.3 课程体系设置

在人才培养方案中,除公共课和基础课外,我们设置了4大模块课程:

1)计算机课程模块。

C/C++程序设计、面向对象程序设计(C#、Java)、离散数学、算法与数据结构、数据库原理及应用、操作系统原理、计算机网络及应用、计算机硬件技术基础、计算机图形学基础、算法分析与设计。

2)软件工程及软件开发技术课程模块。

软件需求分析、软件工程管理、软件开发项目管理、软件质量管理与控制、Web及BS软件开发基础、软件设计、XML解析与应用、.NET架构软件开发、软件开发案例分析、常用软件开发工具、软件文档编写、石油业务流程分析、石油数据管理技术。

3)石油专业课程模块。

考虑到石油专业的两大领域:勘探和开发,实验班的人才培养方案对不同年级的课程设置有所不同的侧重。2009年,班级设置课程侧重于勘探,包括的课程有地质学基础、石油与天然气地质学、沉积岩与沉积相、油气田地下地质学、综合物探、地球物理测井、油藏工程原理;2010年,班级设置的课程侧重于开发,包括的课程有油藏工程基础、地质学基础、油气田开发地质学、油藏物理、渗流力学、综合物探、地球物理测井、油藏工程原理、完井工程、钻井工程、采油工程。

4)职业理念与企业文化类模块。

现有的教育体制往往只重视专业教育,而忽视了职业素质方面课程的学习,造成学生到企业上岗以后,短时间内很难融入企业。为了加强学生对进入社会后的职业理解、对企业的认知,缩短将来到公司的文化认同时间,有利于其在企业稳定、持续地成长,我们专门设置了职业理念与企业文化类课程,包括企业管理概论、职业发展规划、石油软件技术和石油软件专业知识等,此部分课程委托公司开出或通过专题讲座的形式来开设。

此外,我们还设置了5类主要的实践教学环节。其中,计算机类有算法与数据结构课程设计、计算机网络课程设计;石油类有综合地质实习、油田认识实习;综合应用类有石油数据库课程设计、案例分析设计;实习与实训类为专业实习,基本覆盖一学期,以公司已完成的项目作为实训内容,来进行专业实习;毕业设计类为毕业设计,覆盖一学期,学生通过参与公司的实际项目完成毕业设计。

以上课程设置可以达到培养具有计算机软件工程思想和掌握石油勘探开发领域基础知识,能够开发通用系统软件和石油领域专用系统软件的复合型人才的要求。其中石油专业的理论课程有7~11门,其他课程基本按照软件工程专业的课程来设置;在实践环节,以软件企业需要的、先进的、流行的开发工具为基本语言,以石油行业软件作为实习和实训案例,着重培养学生的工程实践能力和组织管理能力。另外,我们还设置了软件文档编写、企业管理和职业发展规划等课程,在培养学生职业能力的同时强调了职业素养,体现了对学生专业能力、职业能力和人文素质的综合培养。

4 改革的组织与实施

4.1 人才培养方案的形成

专业改革成败与否,最关键的是人才培养方案的制订,特别是人才的培养定位和课程体系的设置。实验班的人才培养方案由学校和公司共同参与制订,公司根据用人单位的实际需求,提供企业和社会对毕业生的知识和能力结构的要求及建议设置课程,学校按照教育教学规律完善课程体系,达到既能满足专业培养规格,又能适应企业需求的目的。

4.2 教学组织和管理

实验班单独编班管理。实验班安排有教学经验的教师授课,公司领导和技术人员定期来学校,与学生进行面对面的交流,介绍公司动态、企业理念、技术前沿等。学校和公司不定期邀请油田企业的专家,为学生作专题报告,介绍行业动向、勘探开发软件开发技术、人才的能力要求等,让实验班学生扩大视野、增强信心,及早进行职业规划。学生在大一学年学完规定的公共基础课后,进入实验班的学生于大二、大三学年在学校学习专业基础课和专业课,大四学年在公司进行专业实习和毕业设计,参与实际项目的研发,提高项目开发能力、团队合作意识,感受企业的文化和理念,为实际进入社会打下基础。

4.3 教师队伍建设

人才培养模式的变化对教师具备的知识结构和工程实践能力提出了新的要求,尤其是有实践部分的课程,要求教师结合石油软件开发案例授课,而大多数计算机专业教师缺乏石油领域的基础知识。因此,在校企联合进行人才培养模式改革的同时,我们也加强了长期或短期的科研合作,学院每年选派3~4位教师到企业,完整跟踪至少一个项目,积累石油软件开发和数据信息服务的经验、案例,加强双师型教师队伍的培养。同时,我们也安排公司有实际开发经验的工程师参与部分教学。

4.4 教学效果保障措施

为了保证优良的教学效果,学院和企业分别为实验班配备了一名班主任,实行双班主任制。制定了一系列规章制度和管理条例,如教学计划和教学大纲管理制度、课程设计管理制度、班级管理工作条例、学生管理制度、班级量化考核管理条例等。实验班配备专用实验室,由公司配置软件开发平台,提供部分项目案例,供学生平时学习和训练,便于学生及早地熟悉和适应公司的开发环境。

4.5 学生综合能力的培养

实验班学生除完成教学计划规定的课程学习外,在创新意识、文字书写、口头表达、业余特长、组织协调等能力的提高上,也充分利用学校提供的各种平台。班级也定期组织各种有意义的活动,让学生积极参与,从中得到训练和锻炼。

5 结语

专业改革是一个系统工程,涉及到学校、学院、公司、学生等多方的合作和积极支持,教学管理、学生管理也都要打破常规。我校开办的实验班还只有两届,很多工作还只在探索中。但我们相信,实验班培养模式、教学形式改革的探索和实践,将对计算机类专业产生辐射作用,必将推进计算机类专业人才培养改革的进展,同时也让计算机类专业的更多学生受益,这才是真正的意义所在。

参考文献:

第4篇

关键词:《软件工程》 教学改革 理论教学 实践教学

中图分类号:S762.2 文献标识码:A 文章编号:1672-3791(2012)10(c)-0146-02

随着社会信息化技术的普及和软件产业的迅速发展,软件产业成为信息产业中增长最快的领域,然而高端软件人才的匮乏严重阻碍了我国IT企业的发展,因此提高软件行业从业人员具备必要的软件开发、维护与项目管理的能力尤为重要[1]。《软件工程》是高校计算机相关专业开设的一门专业核心课程,旨在培养学生理解和掌握软件工程的理论、技术和方法,应用工程的思维进行软件开发、管理和维护。为了顺应当前软件工程教育国际化和工程化的发展的需求,高等院校需要切实加强软件工程课程的创新与改革,这对软件工程人才的培养至关重要。

当前《软件工程》课程教学中存在的一系列问题,直接影响了教育质量和教学效果。具体表现为:教学内容重理论而轻实践,不能有效地培养学生软件开发技能[2];教学案例缺乏完整性和实用性,不能帮助学生从整体上全面理解软件开发的各环节及其之间的关联[3];实践教学也缺乏系统性和针对性,不能将基本原理融入当前软件实际案例中去讲解,教学内容与软件工程实践有明显的差距等。因此,迫切需要对教学体系进行改革,形成一个融基础理论、实验教学、工程实践为一体的整体培养机制,让学生的基础知识、科学素养、专业知识、创新能力、工程能力和职业素质都得到全面均衡的发展[4]。本文将从理论教学、实践教学以及教学评价几个方面进行改革与探索。

1 理论教学探索与思考

为了满足当前软件工程教育国际化和工程化的发展要求,《软件工程》教学以IEEE的软件工程知识体系为基础,结合基础知识、先进技术和工程实践等方面构建该门课程的知识体系。《软件工程》课程知识体系分为基础、应用、实践三个部分。基础部分为理论教学,根据教学目的和教学要求,采用案例及问题驱动等教学方法,讲解软件工程的理论基础知识,包括软件生命周期各个阶段、软件质量和软件项目管理等核心内容,通过案例的分析,促进学生的独立思考,提高其对理论知识的理解和掌握。应用部分是以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入实际案例,Rational Rose、Visio、Project、SVN、Loadrunner等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。实践部分要求学生分组组建团队协作完成一个软件系统的开发,让学生从“可实践”软件工程的角度学习和运用软件工程的思想和现代技术解决软件开发问题,拥有识别、分析和解决具体问题的能力。《软件工程》课程知识体系如图1所示。

单纯地讲授《软件工程》的理论和方法显得枯燥且难以理解,若能通过一些软件开发案例对理论知识进行形象的表述,不仅能让学生易于理解这些理论和方法,亦能建立软件开发的系统化与工程化观念和质量意识。那么如何收集经典案例以及采纳何种教学方法是关系理论教学成败的关键因素。首先案例的选择与设计要有针对性,如结构化和面向对象,这两种方法侧重知识点不同讲解所贯穿的典型案例应不同,其次案例的选取应是学生熟悉的领域且它的实用性能激发学生的求知欲和兴趣。如在软件工程技术方面,作者结合学生成绩管理信息系统、宿舍水电费管理系统、教学管理系统等,论述需求分析、软件体系结构设计、用户界面设计、详细设计和软件测试等内容,重点讨论基于案例的面向对象方法和组件技术。采用何种教学方法应根据具体的知识点而定,如以IBM初期系统开发失败的缘由为例利用问题驱动法引出软件工程的概念和原理;对于软件开发工具Rational Rose的介绍则采用项目驱动法。因此,在理论教学中,把抽象的知识尽量形象化、案例化,采用引导式、探索式、讨论式和交互式等教学方式营造融洽轻松的学习氛围,鼓励学生独立思考,查阅资料,细心体会当前软件工程的精髓。

2 实践教学内容创新模式

应用部分和实践部分均属于实践教学,在此教学过程中,实施项目驱动教学法,实验设计以项目开发为主,模拟企业软件的项目管理和开发过程,碰到问题困难,进行师生互动讨论寻找解决方案,开发完成通过成果展示来进行教学评价,整个过程使学生初步体验到一个软件项目开发的全过程。实践教学活动的流程具体如下。

(1)分配任务:第一次课,要求学生以项目小组(一般5~6人,自由组合,每个成员扮演项目开发过程中的不同角色)的方式组建开发团队协同开发一个规模及难度适中的完整项目,要求按照正规软件开发流程组织实施,完成项目开发过程中形成的分析、设计、编码和测试文档,同时将Rational Rose、Visio、Project及Loadrunner等软件工具在实施过程中进行有效地应用。

(2)组建团队:学生自愿组建团队,选出组长,每组角色包括项目经理、系统分析员、软件设计师、软件开发工程师、软件测试工程师等,组员项目角色可随项目开发进度而调换。项目实施过程中采取组长负责制,负责小组的讨论和项目实践的安排,分配组员任务,各小组查资料,自选软件项目,分析开发的各项任务的安排和沟通,制定项目的开发计划。

(3)计划可行性评定:授课教师审核各组项目及项目计划实施的可行性,不行则指导小组重新选定软件项目和制定项目计划。符合要求,方可进入实施阶段。

(4)项目实施阶段:小组成员根据各自的任务查找资料,收集解决方法,定时讨论交流,各个模块间相互配合协调完成任务。包括软件分析设计阶段,完成软件需求规格说明;设计软件系统的总体结构;对功能模块进行编程测试,完成项目实现编写所有相关文档,测试和调试代码。整个实施过程由授课教师控制项目的进度和质量,同时,教师要充分发挥引导作用,让学生在实践软件设计和开发技能的同时,通过协作培养学生多人之间的沟通能力和团队协作精神。

(5)项目验收:根据软件开发流程的各个阶段成果包括可行性分析报告、需求规格说明书、项目计划书、总体设计报告、详细设计说明书、软件测试报告、项目开发总结报告等。项目验收采用阶段验收分析设计文档,每次均以小组的形式提交作业。教师根据提交的材料结合学生是否熟悉软件常用技术和工具按照软件工程管理方法进行评审,还要求各组之间互评,发现不足之处进行讨论,提供给大家一个互相交流的机会。项目结束后,每组要组织答辩,先由小组长对项目基本情况及组员作简要介绍,然后让各组员对自身完成的任务进行PPT答辩,教师和其他同学针对该成员实际负责的部分进行提问。最后项目组提交系统和所有文档。

3 教学评价体制改革

教学评价是课程教学的必要环节,在本次教学改革实践中,将课程学习评价分成3个组成部分:理论考核占50%,项目实践成绩占30%,考勤、平时作业、实训练习等占20%。项目实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。小组成绩为小组中所有成员开发项目的考核成绩,包括各阶段成绩的平均值与最终答辩成绩;个人成绩为小组成员在项目开发过程中个人的考核成绩。度量因素包括个人分配工作量及难易程度、平时工作态度及项目汇报时表现等。这种评价体制充分调动了学生学习的主动性和合作精神,教学效果明显。

4 结语

本文对《软件工程》的课程教学进行了探索和改革,以IEEE公布的软件工程知识体系为基础构建了软件工程课程知识体系,提倡理论教学与实践教学并重。理论教学着重于经典案例的选取及教学方法的采纳,理论教学不再是抽象的讲授,而是贯穿案例的具体实践操作,达到了理论与实践的紧密结合。实践教学以项目为驱动模拟企业软件的项目管理和开发过程,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。实践证明,本课程极大地提高了学生的学习兴趣,取得了良好的教学效果。在今后的教学工作中,将进一步完善和实践教学改革的内容,逐步使这门课程规划化、工程化,取得更好的教学效果。

参考文献

[1] 张海藩.软件工程导论[M].5版.北京:清华大学出版社,2008:5-7.

[2] 董跃华,杨书新,李淑芝.软件工程专业多元化实践教学体系研究[J].江西理工大学学报,2009,30(3):53-55.

第5篇

苹果软件开发的具体步骤如下:

硬件环境准备:苹果系列的电脑必须是雪豹以上版本的操作系统,购买Xcode软件。基础知识准备:苹果软件开发使用Objective-C语言,是苹果公司将标准C重新封装使用面向对象的思路进行的改进版本。开工:好的创意开始软件开发,工作在Xcode上进行。软件开发完成后在Xcode上进行虚拟测试,也可以在IPAD上进行实际测试。在IPAD上测试需要将IPAD绑定帐号,测试完成就可以。软件:测试好的软件到软件商店进行申报。首先注册开发者的证书,提供软件和相关说明,提供银行帐号。

(来源:文章屋网 )

第6篇

关键词 计算机 程序设计 信息化 教学改革

中图分类号:G424 文献标识码:A DOI:10.16400/ki.kjdks.2015.04.058

Reform of the Teaching Method on Software Development

Courses under Information Condition

ZHOU Shusen, ZOU Hailin

(School of Information and Electrical Engineering, Ludong University, Yantai, Shandong 264028)

Abstract Software development courses are high practical requirement. Now, there are two problems in C# program design teaching. One is focusing on theory analysis, the other is ignoring the training of students' practice ability. To solve these problems, based on the social requirement of application-oriented talents cultivation, we are bringing forward a viewpoint that aim at training the software development ability, driven by practical software development, let the students learn all the required knowledge about software development in the actual development process.

Key words computer; programming design; information; reform of the teaching method

中国高等教育改革确定:600多所地方本科院校将逐步转型,进行现代职业教育,重点培养工程师、高级技工、高素质劳动者等。针对社会对于应用型人才的巨大需求和高校培养的人才过于偏重理论之间的矛盾,国家已经从政策层面开始引导高校转型,培养高素质应用型劳动者。在信息化条件下,借助多媒体设备,教师的教学方式多样化;借助笔记本电脑、智能手机和互联网,学生获取信息的途径也多样化。本文结合“C#程序设计”课程的教学实践,探讨如何调整教学方式,来适应信息化条件下学生的学习需求,适应社会对应用型人才培养的需求。

1 问题分析

程序设计课程包括三个重要的知识模块:①一是语言知识,二是程序设计方法,三是算法。计算机语言处于程序设计的最底层,是掌握编程技术的关键;程序设计方法处于程序设计的中间层,是缩短软件开发周期,开发出实用型软件的关键;算法处于程序设计的顶层,是解决问题的规则。语言具有不稳定和变化更新快的特征,现在有很多程序设计语言可供选择。程序设计对于语言的变化而言相对稳定。算法则比较稳定,它与描述算法的语言无关。语言只要多使用,就能熟练掌握;程序设计方法只能在应用中领悟和熟悉;算法必须经过严格的科学的训练才能掌握。

在信息化条件下学生可以通过学习课本知识、从网上搜集相关教程、观看网络上的教学视频等方式学习最基础的语言知识。而传统的程序设计课程教学,在很大程度上并没有摆脱学科系统化课程的模式,过于偏重语言知识的讲解,忽视了程序设计方法和算法设计的培养。这种教学方法导致大多数学生在学习过程中感觉自己所学的知识枯燥无味,没有什么实际的用途,学习态度比较消极。另一方面,比较优秀的学生感觉老师讲的知识课本和网络上都有,完全可以通过自学成才,没有必要听课。学生即使学习并掌握了基础的知识,也并不具备工作所需的技能,即学得好但做得差,实际工作中灵活性和贯通性较差,没有实际软件开发的经验。很多学生眼高手低,程序听起来清楚、看起来模糊、编起来糊涂。

针对教师的教学目标和社会对学生的实用技能要求之间的巨大差距,如何有效引导学生转变学习方法,提升学生的软件开发能力,是教师在教学过程中必须要解决的问题。本文提出了“以培养学生的软件开发能力为目标,以实用型软件开发为驱动,让学生在实际开发过程中学习软件开发所需的各种知识”的观点,并将其应用到“C#程序设计”日常教学实践中。

2 教学实践

“C#程序设计”作为计算机科学与技术专业的实用型软件开发课程,是学生未来走上工作岗位从事软件开发相关工作的基石。但是,在教学过程中发现,比较优秀的学生认为,老师讲基础的编程语言知识没有必要,自己看教材、上网看教学视频也能学会。大多数同学认为,现在学的这些编程基础知识没有什么用,没有认识到现在学的知识能用来做出什么实用的产品,从心态上不重视基础语言知识的学习。结合信息化条件下教师讲授知识和学生学习知识方式的多样化,基于应用型人才培养的社会需求,在教学过程中,应该从四个方面进行教学实践,激发学生的求知欲望、调整教师的教学内容、增加教师的教学方式、在实践中锻炼学生的软件开发综合素质。最后,还需要调整课程的考核方式,引导学生平时多锻炼自己的软件开发实战能力。

2.1 激发学生的求知欲望

要激发学生的求知欲望,关键是要培养学生的学习兴趣。兴趣是学生的学习动力,也是教师引导学生的最佳方法。否则,学生上课消极怠工,教师教学没有激情。

现在的大学生都比较务实,大多数学生只会对他们认为的有用的课程,投入精力去学习。要想激发学生的求知欲,必须做到以下几点:(1)在开课的时候对学生讲明白这门课程有什么用,以后从事什么样的工作能用得着。(2)在讲授具体知识点的时候,不断穿插描述每个知识点有什么实用价值,在学习掌握的过程中应该注意什么问题,应该如何去强化巩固、灵活运用。(3)在讲课的过程中,要想方设法创设好的环境氛围,让学生在轻松快乐的氛围中学习,思维不受束缚,环境不受影响,可以经常使用一些小插曲将学生的注意力拉回到课堂中。(4)经常与学生交流沟通,知道学生的关注点是什么,重视学习兴趣的激发,提高教学效果。

兴趣是学习动力的源泉,只有有了兴趣,才能激发学生的求知欲望,让学生把更多的课余时间投入到学习中。

2.2 调整教师的教学内容

信息化条件下,各种视频、文档和教材等学习资源都比较容易获取,对于比较基础的语言知识部分,学生都能够自学掌握。所以,“C#程序设计”教学的重点应该放在程序设计方法和算法层面。让学生在实践中锻炼自己的编程能力,能够认识到哪些知识模块是自己欠缺的,做到有的放矢、自觉充电。

根据大多数学生数学基础一般、形象思维强于逻辑思维的特点,应摆脱传统的科学型人才培养模式的影响,将“C#程序设计”的理论教学从逻辑推导转向实例演示,突出以教学主线来强化工程实践能力的教学模式,推行案例化教学。通过具体工程项目开发过程的讲解,可以激发学生的学习兴趣,锻炼学生实践动手能力,达到比较好的学习效果。

基于项目驱动,实行项目开发需要什么知识就讲什么内容的理念,在“C#程序设计”的教学过程中,可以教学生开发基于.NET窗体程序和数据库的管理系统,具体教学内容如下所示:(1)C#的初步知识;(2)NET基础;(3)C#基础;(4)程序调试;(5)数据库访问技术;(6)管理系统开发。

从以上的教学内容可以看出,涉及到C#语言知识的只有两章内容。更多的授课时间被用来培训学生的.NET开发知识、C#访问数据库和综合管理系统开发实战。这样既锻炼了学生的综合系统开发能力,又能让学生在实战开发的过程中认识到自己有哪些基础知识欠缺,能够自觉地借助信息化条件下的各种互联网上的资源进行充电,真正做到在学中做、在做中学。

2.3 增加教师的教学方式

信息化条件下的教学,多媒体和网络技术在教学过程中发挥了巨大的作用。②多媒体和网络所提供的刺激信息的多样性也有利于知识的获得和保持, 同时也为学生培养信息的获取、分析和加工整合能力提供了机会。在新的多媒体和网络条件下,我们的教学模式应当摆脱过去那种以教师为中心的灌输式的教育,代之以学生为主体,教师为引导的方式。

在信息化条件下,“C#程序设计”课程中可以采用的教学方式包括:(1)引入MOOC翻转课堂教学模式,教师把讲课的内容录成视频,上传到视频网站中。学生在上课之前提前观看这些视频,在上课时教师可以集中答疑或组织大家共同做练习。(2)教师整理国内外著名大学相关课程MOOC翻转课堂的教学视频,每次指定学生在课下需要观看学习的内容。在上课时教师首先简要介绍视频中的重点、难点、要注意的问题,然后预留部分时间与学生进行交互答疑。(3)教师用录屏软件将软件开发所需要的实践操作细节录制成视频,在录制过程中配以语言讲解。将这些视频让学生在课下观看,并在观看的过程中跟随视频动手操作。在上课时教师集中帮助学生解决实践操作中遇到的各种软件操作问题、程序的编译错误和逻辑运行错误等等。

通过以上三种方式相结合,可以让学生以轻松自由的心态学习程序设计的基础语言知识,及相关实践开发操作。学生可以根据自己的理解和掌握情况用“暂停”、“重放”等按键自己掌控学习进度,可以让不同层次的学生实现个性化学习。课后复习和练习也可以按难易程度选择进行,以多媒体视频方式展示学习内容的最大好处是可以让学生随时反复观看。

“课堂与在线混合式”的教学方式可以实现更加深度和个性化的学习,提高教与学的质量和效率。通过多种教学方式的结合,可以激发学生的学习兴趣,拓宽学生的知识面,让学生更好地适应社会的需求。

2.4 在实践中锻炼学生的软件开发综合素质

软件开发类课程都配有上机课,锻炼学生的上机实践操作能力。传统的上机课以验证试验为主,学生只要按照老师的要求敲上相关的代码,运行一下,能得出相应的结果就可以了。但是,以这种模式培养出来的学生,不能灵活运用自己掌握的基础知识实现各种功能,毕业后还是不会开发软件,软件公司还要进行一段时间的培训才能上岗。为了解决社会对大量实用型软件开发人才的需求,教师在设计上机课的题目时,应该尽量增加设计型实验、避免验证型实验。让学生在实验过程中能够自由发挥,灵活运用所学的知识。另一方面,还要把每次课所做的实验串起来,组成一个实用的综合系统,让学生在实验过程中更有成就感。

以“C#程序设计”课程为例,上机课的题目可以进行如下设计:(1)学生信息管理系统登录界面设计;(2)学生信息管理系统注册界面设计;(3)学生成绩排序;(4)简易学生信息管理系统;(5)使用类实现学生信息管理;(6)将学生信息存储到数据库;(7)学生信息管理系统综合开发。

从以上题目可以看出,每次上机课做的内容有很强的关联性。学生从第一次上机课开始,已经在动手开发一个综合管理系统最基础的界面。对于后面的每一次上机课,都是对前面开发的程序不断完善的过程。到了最后一次上机课,已经可以形成一个综合的管理系统,然后稍加整理优化、打包,即是一个实用的软件。

通过以上模式的培养,学生对实验操作更有兴趣,更愿意在课余时间去完善系统。因为前面的功能实现不了,后面的实验没法进行,彻底避免了学生当一天和尚撞一天钟的想法。另外,最后做出的软件,可以在学生找工作的时候给招聘方演示,提高自己的录用率。这就更加增强了学生(下转第133页)(上接第119页)想把软件做好、做完美的想法,让学生动学习变主动学习,在实践中锻炼自己的软件开发综合素质。

2.5 调整考核方式,引导学生提升软件开发能力

考试是否能通过,是学生最关心的问题。传统的考核方式,让学生养成了考前突击学习几天,以卷面分考试及格为目标的学习习惯,不利于应用型人才的培养。

在实践教学过程中,可以把最终期末考试的比重降低到50%。增加上机考试,比重为30%,从而有利于调动学生锻炼自己动手能力的积极性。将课堂表现和平时作业成绩的比重设为20%,从而让学生重视平时每堂课的学习,不会只在期末考试之前临时突击学习。

另外,对于软件开发类课程,可以将期末考试的卷面考试形式变为系统开发大作业。让学生自由发挥,开发一个综合管理系统,提交系统开发报告,并且模拟毕业答辩的场景,进行现场答辩、软件演示。通过考核方式向应用能力测试方向的转变,可以让学生在思想上重视自己平时动手能力的培养,将教师的教学目标和学生的学习目标达成一致。另外,当考核结束后,学生可以真正掌握利用C#开发实用软件的方法。从而可以缩小高校培养目标和社会需求之间的鸿沟,为公司培养合格的软件开发类人才。

3 结语

“C#程序设计”教学应该以培养学生的应用能力为目标,提高学生学习这门课的兴趣,帮助学生建立学好这门课的自信心,增强学生开发实用管理类软件的能力,最终可以提高学生的综合素质。这种培养模式对于培养合格的计算机相关专业人才有重要意义。2012级计算机科学与技术专业的学生反馈显示,在以培养学生的软件开发能力为目标的“C#程序设计”教学模式下,大多数学生在自己积极向上的人生目标驱动下,提高了学习程序设计课程的兴趣,积极利用课程中学习到的方法进行上机练习,开发实用类软件,解决现实应用中的问题,提升自己的综合素质。

注释

第7篇

关键词:Java教学;案例教学;面向对象

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

1引言

Java是由Sun公司开发的新一代编程语言,独立本科院校将Java语言作为计算机专业的重点课程,主要有以下两个方面的原因。

首先,Java语言是一门纯面向对象的语言。面向对象程序设计是计算机科学与技术专业的核心课程,理论性和实践性并重。教学内容主要包括面向对象程序设计范型(paradigm)的三个最重要的特性:封装、继承、多态,以及Java如何实现这三个特性,使学生掌握面向对象程序设计范型和一种面向对象的编程语言,从而为以后的学习打下基础。

其次,Java语言具有安全可靠性、平台无关性、支持多线程等优点,使用它可以在多种操作平台的网络环境中开发软件。由于Java语言的这一特点,加之Internet的迅猛发展,使得它逐渐成为Internet上最受欢迎的开发与编程语言。国内有的软件开发企业,不惜花费大量的时间与资金,培训Java软件开发人员。在这种大趋势下,市场大了,对人才的需求量也在猛增,为了适应企业的需要,提升毕业生的就业率,几乎所有的大、中专院校都竞相开设了Java语言程序设计的课程,当然,独立学院也不例外。

但由于Java语言的实践性和开发环境的特殊性,究竟采用何种教学方法,才能显著提高教学效果,却是近几年来计算机教育普遍关注和研究的热点。

2Java语言的教学现状

到目前为止,对于Java教学方法的研究有很多,但大部分高校的Java语言的教学还是采用讲授法,有的院校从以往的写板书教学升级为多媒体教学,虽然多媒体使教学更生动、直观,却只是教学形式上的改观,教学方法的本质没变。而且,虽然现在研究的教学方法有悬念法、类比法等多种方法,但是哪一种更适用于独立学院的教学,并不是纸上论证能够决定的;更何况独立本科院校的教学要求和教学目标与其他本科院校有所不同,教学方法的选择更不能生搬硬抄或模仿,要根据自己的特点,探索合适的教学方法。

我们考虑到独立本科院校的计算机教育是以培养应用型人才为目标,培养的学生应当能与当今社会和企业接轨,熟悉软件开发流程,具有足够的软件开发技能,所以,专业课程的教学目标更加注重学生计算机实践能力的培养锻炼。而且由于独立学院的学生和一本、二本院校不同,专业课程中理论性强的东西接受相对慢一些,学生碰到复杂难学的问题,会对整门课程产生恐惧心里,普通的讲授方法无法解决这些问题,所以更加需要积极探索适应于独立本科院校的Java课程教学方法。

针对Java语言课程的特点和独立学院学生的特殊性,通过实际教学中的不断摸索和实践,我们采用了阶段性的案例教学法,教学取得了显著的效果。阶段性的案例教学法和传统的案例教学方法是有区别的。传统的案例教学法在教学过程中往往会陷入误区,有的只注重案例的实现,忽略了Java语言中重点语法的讲解;有的案例只是单纯语法正确性的验证,忽略了软件开发技能的讲解,和企业的应用脱钩。我们研究的阶段性案例教学法会在教学过程的不同阶段采用不同的案例教学手段,一方面将理论性强,不容易理解的语法知识用案例的方式展现给学生;另一方面案例是实实在在Java的应用效果,学生看到自己学习的语言能够编写出具有功能的软件来,不仅激发了学生的学习兴趣,还能提高学生的软件开发能力。

下面介绍Java语言教学――阶段性案例教学方法的关键环节。

3阶段性案例教学法的实施

3.1概述

阶段性案例教学法的核心是以案例贯穿教学,但在教学过程的不同阶段,采用的案例是有区别的,而且讲解的方式也不相同。

首先根据案例涉及知识点的范围以及应用的目的,阶段性案例教学法中的案例可以分为:知识点案例和项目案例。知识点案例也称为基础案例,它的功能主要是通过讲解基本语法或小功能案例,促进Java基础知识的学习;项目案例也可称为大项目,它是通过综合的应用性比较强的项目,提高学生对Java的系统掌握,有利于提高学生的软件开发水平。

其次,这种案例教学法是分阶段,逐步推进的,在教学过程的前期,主要是Java基础知识的讲授阶段,学生在这个阶段要进行基本语法知识的学习和基本编程技能的掌握,所以采用基础案例来推动学生对Java基础的学习;在教学的后期,逐步渗透大项目的思想,引导学生将前期的知识点案例综合应用,完成一个项目案例。加强学生的语言综合应用能力。同时,会根据学生前期知识的掌握程度以及案例的特点,灵活采用不同方式来讲解案例。

3.2课堂内容的设置

3.2.1课程的设置时间

阶段性案例教学法是基于本学院的教学实践来研究的,本学院的Java课程是在大三下学期开设,所以案例的设置充分考虑到与前期课程以及同期课程的关联。充分发挥前期课程的基础作用,协同同期课程教学,互相加强教学。

第一,以前期C语言、C++语言以及数据结构为基础,在学生具有一定的编程认识的基础上,进一步认识面向对象的程序设计;在前期课程网站开发基础学习静态网站开发设计的基础上,进一步学习Java在Web编程中的应用。

第二,与数据库基础课程同期讲授,不仅能够减轻学生学习Java课程时在数据库学习方面的负担,更重要的是学生在Java的实践环节中能够使用数据库技术,例如Java图形用户界面开发以及Web系统开发方面都加入数据库连接,使得学生对数据库掌握更熟练也使Java实践更加接近实际应用,相得益彰。

下面详细介绍一下在具体教学过程中案例的设置。

3.2.2案例内容的阶段性设置

知识点案例,主要是采用经典的程序设计案例,来演示Java基础知识。由于Java课程是在C语言和数据结构之后开设,学生已经掌握了一定的程序设计技能,特别是一些经典的程序设计案例已经初步实践过,像常用的排序方法、搜索算法、汉诺塔问题等。所以在讲授Java的基本语法知识和面向对象的基础知识的时候可以充分利用这些学生已经熟知的案例。这样做有很好的效果:一方面由于学生已经熟知这些经典案例的功能以及使用的算法和数据结构,所以能够把学习的重点放到Java相关基础知识的方向上;另一方面,学生会和以前语言的实现进行比较学习,能够突出Java语法的特点,更有利于新知识的理解。

考虑到知识点案例的目的,所以使用知识点案例的内容主要有:第一,在Java基础语法教学上,这部分主要包括Java的基本数据类型、运算符和表达式、数组以及流程控制;第二,在面向对象方法的重点难点教学上,这部分主要有类及其成员定义、类的继承、多态性的实现,有利于加深面向对象程序设计的认识和理解,为以后的项目开发做准备。

项目案例即大项目,主要在Java课程的后期进行。它的设置是以掌握Java的社会应用为出发点,依据课程安排和学生特点,通过系统的综合性的Java实例,深入讲解Java的应用。Java是应用性很强的语言,所以学生不仅要掌握Java知识而且要掌握使用Java解决实际问题的思路和方法。项目案例很好的起到这样的作用,采用与学生熟悉的实际问题,讲解Java在系统开发方面的应用,例如学生信息管理、Java小游戏等项目。在项目案例中,不仅能与同期的数据库课程一起实践,互相加深认识,提高软件开发能力;更能让学生深刻感受到Java在解决实际问题方面的魅力,学生学有所用,极大提高他们的学习兴趣。

项目案例内容比较大,学生掌握需要的时间比较长,所以结合Java语言的应用,项目案例只在两部分使用:第一,Java的图形用户界面开发,这部分采用项目案例主要是讲解Java AWT和Swing组件的编程,采用的案例有简易计算器、ATM机和一些Java小游戏实现;第二,基于Java的Web开发,这部分是社会上Java应用最广的部分,通过项目案例的讲解学习JavaBean、Servlet以及JSP技术的使用,采用案例有学生管理系统、图书馆管理系统、网上书店等。通过学习项目案例,有利于学生了解Java的综合应用,并且初步掌握项目开发经验。

3.2.3灵活的案例讲解方式

教学过程中的不同案例,由于使用的时间和目的不同,所以采用的讲解方式是不一样的。

在教学的最初期阶段,我们采用比较的讲解方法。由于本学院学生已经学习了C、C++语言,已经对编程语言的基础语法以及面向对象编程有了比较深的理解,在这个基础上再学习新的编程语言Java时,学生自身也会与C、C++语言进行比较。所以,初期的知识点案例采用比较方法讲解,一个案例同时演示C++和Java的实现代码。由于两种语言的基本知识很相似,通过比较,学生会感觉到Java是一门比较简单的语言,后期的学习更有兴趣。同时,以编程的思路为主线,讲解案例代码,指导学生逐步熟悉Java语法和应用。

随着教学的逐步推进,学生掌握的Java基础知识逐渐丰富,前期案例的讲解也为学生打下了编程思想的基础,这时应该采用启发式教学,教师引导学生自己分析案例,逐渐培养学生程序设计的分析能力。教师应及时了解学生的掌握情况,在学生熟悉Java基础语法后,知识点案例就应采用启发式方法,后期的项目案例也应采取该方法。该方法在教学过程中的具体使用是:在展示案例代码之前,先告知案例的功能,由学生分析案例的编程思路和代码实现过程,先由学生之间互相分析自身答案的不足,然后再统一分析,指导其改正编程思想的欠缺之处,逐步培养软件开发的思想。最后再展示案例的详细代码,经过对学生一步一步的引导,重点使他们理解和掌握软件开发的思想和实践过程。

3.3实验环节――案例实践

3.3.1开发工具的选择

实验环境的开发工具是由简易开发工具UltraEdit,到集成开发工具NetBean。在学习初期,学生还未掌握Java基本语法知识,所以应该使用最基本的开发工具UltraEdit来熟练Java的语法特点和程序结构。随着学习的深入,实践环节的重点由基础知识的掌握上升到软件开发技能的学习上,相应的开发工具也应该选择与社会、企业接轨的集成开发工具――NetBean,而且NetBean也是Java等级考试的平台,更可以为想考Java等级证书的学生提供方便。

3.3.2案例代码的实践

学生实践的指导思想是由简入难、由基础到综合、由模仿到创新。

知识点案例一般是实现一个小的功能,像流程控制、类的定义等,代码量较少,所以引导学生应尽量自己独立实现代码。由于学生的学习能力不一样,并不要求每一个学生要实现所有的的知识点案例。结合老师的讲授,引导学生根据自己的能力来选择难易不同的知识点案例。例如能力差的可以先选择已经由老师详细讲解并演示代码的案例,通过自己的实践理解案例内容后,再实践只有讲解的案例,由自己独立实现代码,之后再来实践没有讲解的题目,分析案例的解决方法,锻炼自己的编程能力和创新能力。当然编程能力强的学生可以直接选择老师没有讲解的案例来实践。

项目案例实践的两个方面――Java图形用户界面开发和基于Java的web开发代表着现在Java的主流应用。由于项目案例需要的时间比较长,所以案例题材应该由学生自己拟定任务和教师出题相结合,并且分组实践。学生和教师出题相结合既可以避免教师出题下达的任务过多,学生产生抵触心理,又能避免学生只选择自己感兴趣的内容,实践方向出现偏差的问题。学生自己出题还可以锻炼学生发现问题解决问题的能力。项目案例内容比较大,学生分组协作完成一个项目,既能节约实践时间,又能锻炼学生的团队精神。

项目案例实践的具体过程首先要合理的为学生分组,并选出组长。每组学生自主决定要实践的案例,自己组内讨论,写出简单但详细的需求说明书,这步任务可由学生课外完成。教师检查并指导学生完善说明书,再根据需求说明书中的任务,指导每组学生分派任务给组员。教师要制定合理的完成时间,并且监督学生的实践进程,组长要监督每个组员都参与到项目中间,并定时总结项目进度。由于Java语言的实用性很强,而项目案例的实践很能锻炼学生对Java的应用,所以独立学院的Java教学应该设置足够的实践课程。

第8篇

(鲁东大学 信息与电气工程学院,山东 烟台 264025)

摘 要:针对实践性较强的软件开发类课程教学中存在的问题,提出引入MOOC翻转课堂模式,在实践过程中有针对性地对学生进行引导,强调 “以学生自学为主,教师引导为辅,在实践中锻炼学生动手能力”。

关键词 :MOOC;翻转课堂;软件开发;动手能力

第一作者简介:周树森,男,讲师,研究方向为机器学习、多媒体分析,zhoushusen@aliyun.com。

0 引 言

近年来,MOOC(massive open online course,大规模开放式在线课程)对教育界产生了较大的影响[1]。如今,任何人都可以在任何一个有互联网的地方学习适合自己的在线课程。翻转课堂是指学生在课余时间观看在线教学视频,在课堂上做作业,遇到问题则向老师和同学请教,这是一种与传统的“教师白天在教室上课,学生晚上回家做作业”方式相反的课堂模式[2]。MOOC与翻转课堂相结合,既可以满足学生的个性化学习需求,又可以在课堂上训练学生思考和交流的能力。教师在软件开发类课程教学过程中发现,很多学生只会死记硬背,靠自己的短时记忆应付考试,编写代码和调试代码的能力欠缺,有的学生甚至到本科毕业也没有写过几行代码。

1 问题分析

以地方本科院校计算机专业为例,一方面,学生的就业率比较低,很多学生毕业后被迫转行,不再从事计算机相关工作;另一方面,我国软件开发类岗位需求量比较大,待遇也比较好,好多企业都招不到合适的程序员。形成这种反差的根本原因是大多数计算机类毕业生动手能力比较弱,而企业需要的是入职后无需培训就能直接工作的员工,这直接造成了很多应用能力欠缺的学生毕业即失业。

2 基于MOOC的翻转课堂简介

MOOC是一种新型的大规模开放网络课程,具有易于使用、费用低廉、覆盖人群广、支持自主学习、学习资源丰富等优点[3],现在几个主要的MOOC平台已拥有数百万注册用户。有了MOOC课堂,学生可以在世界范围内学习自己喜欢的教授主持的相关课程。这是否意味着普通地方高校的普通教师将面临下岗的局面呢?当然不是!MOOC教学的一个最大缺陷就是不能跟学生进行面对面的讨论交流。教师可以让学生在课下自主学习适合自己的MOOC视频,然后在课上积极引导学生讨论某个具体应用实例的实现,帮助学生解答疑难问题,这就是基于MOOC的翻转课堂模式。

中国在线教育从2013年开始集中爆发,平均每天有2.6家在线教育公司诞生。截至2014年9月,获得投资的在线教育企业已经超过60家,其中15家是2014年刚上线的项目,预计2015年中国在线教育市场规模将达1200亿元人民币。各个高校也积极行动,建设开放网络课程,探讨课堂模式创新的实际效果[4]。

和许多新生事物一样,MOOC也是有缺陷的[1],那就是教师与学生、学生与学生之间缺乏有效的、实时的互动。基于MOOC的翻转课堂恰恰弥补了这个不足,大学的翻转课堂可以增进师生互动,还能够及时解决问题,启发学生的创造力。

当然,这种先自学MOOC材料,后课堂讨论的翻转方式也有其不足之处,例如,受限于硬件条件,在大班教学中很难展开,部分学生不会事先自学MOOC材料等。但是,这是一种教育理念的根本性改变,在实践过程中,高校要根据自身的实际情况进行改革,否则效果不会太好。

3 基于MOOC的翻转课堂教学实践

对于实践性比较强的软件开发类课程,教学对象是计算机专业高年级本科生。在教学过程中我们发现,学生的动手能力比较弱,很多学生对代码“望而生畏”。

3.1 提供适合学生的优质MOOC 课程

虽然互联网上已经存在很多MOOC课程,但是找到一个适合自己学习的MOOC课程是比较有难度的,原因有以下几个方面。

(1)教师所讲授课程的教学目的与已存在的MOOC课程的教学目的有偏差。

(2)学生的基础薄弱,很难跟上已存在的MOOC课程的讲课节奏。

教师应该基于讲授课程的教学目的,针对所教学生的基础和接受能力,录制相应的教学视频并上传到网络上供学生课下观看;同时,也可以提供多个MOOC课程供学生参考。

3.2 小班教学,加强师生互动

基于MOOC的翻转课堂的优势在于,可以增进师生互动,及时为每一个学生解决问题,启发学生的创造力。若课堂人数太多,教师在上课过程中很难照顾到每个学生的需求,所以,翻转课堂必须实行小班教学。根据笔者的经验,课堂人数不能多于40人。

翻转课堂的目的是让学生课下学习基础知识,课上来讨论和答疑。教师可以引导学生讨论某个具体应用系统实例的实现,将学生引入该应用系统的需求分析和建模中,然后进行软件体系结构设计这类具体问题的讨论。

在实践过程中,最大的问题是学生从小到大接受的都是应试教育,习惯于上课听课,课下做作业,并且大多数学生不会主动向老师提问,对于课堂上的问题,即使自己会回答,也是被动地等到老师点到名字后才回答。

针对这个问题,教师可以多引导学生改变惯性思维,鼓励学生主动发言,对主动发言的学生进行表扬。另外,在考核机制上,向主动发言、提出有代表性问题的同学倾斜,为其课堂表现加分。这样可以充分调动学生的积极性,让学生变被动为主动,真正做到师生互动,锻炼学生的表达能力、创造能力和分析问题解决问题的能力。

3.3 加强监督,引导学生自学

MOOC和翻转课堂都是舶来品,直接拿到中国的课堂上使用肯定会水土不服。中国学生接受的是填鸭式教学,大多数学生在学习的过程中没有什么乐趣可言,只是在老师和家长的强压下学习。到了大学后,学习只是为了通过每门课的考试,顺利拿到毕业证。在这种功利思想的影响下,又有多少人会按照要求在业余时间学习MOOC教程呢?当然,也有比较好学的学生能够理解翻转课堂的教育理念并在课下自觉学习,但毕竟是少数。

针对学生自控能力比较差的问题,笔者认为教师应该加强监督。教师在上课时设置提问或小测试环节,对学生的基础知识掌握情况进行检查,对没有很好掌握基础知识的同学酌情扣除相应的课堂表现分数。这种监督方式可以很好地督促学生自觉利用课余时间学习基础知识。

另外,还应该发挥网络时代的优势,设置课程在线答疑界面,让学生在课下学习的过程中,对于不理解的问题,随时通过在线答疑界面与老师沟通,这样可以很好地引导学生进行自学,避免学生被某个知识点卡住时失去兴趣或者没有信心继续自学。

3.4 实战教学,答辩考试

学生一般只关心自己期末考试能考多少分,不关心自己的实践能力。但是,当学生踏上社会的时候,公司关心的是他们能否开发实用软件。

为了适应社会的需求,解决学校所学非公司所需的矛盾,教师应该在以下几个方面进行调整。

(1)在讲授实践性比较强的软件开发类课程时,可以引导学生循序渐进地实现一个小的实用软件。

(2)在考核权重的设置上,应该加大平日课堂表现得分的比重,引导学生在课下认真学习打好基础、课上好好表现积极参与,通过日积月累的方式逐渐增强自己的软件开发能力,由量变到质变,而不是临时抱佛脚。

(3)在期末考试时,将传统的卷面考试变成答辩式考试。教师要求学生开发一个实用软件,撰写软件开发的说明文档,制作幻灯片,然后每人都上台作报告,向老师和同学展示自己所做的软件功能、开发用到的核心技术,并现场演示软件。最后,由老师和同学现场提问,根据软件性能和答辩情况对其打分。这种考核方式可以很好地避免学生死记硬背、临时抱佛脚来应付考试的弊病。另外,答辩可以锻炼学生的软件开发实战能力、语言表达能力和临场发挥能力。

通过日常上课过程中的引导、训练以及最终以检测软件开发能力为目的的答辩式考试,学生能够学习到很多软件开发的实战经验,为其能够顺利从一个毕业生转变成公司的合格员工打好基础。

4 结 语

实践性较强的软件开发类课程教学应该以培养学生的动手能力为目标,增强学生解决现实应用问题的能力。引入基于MOOC的翻转课堂模式,可以让学生更好地利用课余时间,基于互联网进行基础知识的学习,从而可以让教师在课堂上有更多的时间对学生进行相关实践应用能力的培养,这对培养合格的计算机相关专业人才有重要意义。2012级计算机科学与技术专业的学生反馈显示,在基于MOOC的翻转课堂模式培养下,大多数学生提高了学习软件开发的兴趣,积极利用MOOC资源自觉充电,在线上平台进行沟通,不断完善自己开发的软件。学生的自学能力和分析问题解决问题的能力不断提高,能够更好地适应社会、服务社会。同时,激发了授课教师对教学的思考,促使教师加深对所授内容广度和深度的理解,从而解答学生提出的各种各样的问题,形成更加浓厚的学术氛围。

参考文献:

[1] 伍民友, 过敏意. 论MOOC及未来教育趋势[J]. 计算机教育, 2013(20): 5-8.

[2] 凡妙然. 基于MOOC的翻转课堂在高校教学中的应用[J]. 软件导刊, 2014(9): 189-191.

[3] 叶俊民, 王敬华, 李蓉. MOOC背景下的高校教师角色转型[J]. 计算机教育, 2014(9): 10-13.

第9篇

关键词:校企合作;人才培养;实践教学;人才培养;软件工程

中图分类号:G646 文献标志码:A 文章编号:1674-9324(2016)48-0024-03

一、引言

软件工程是一个新兴专业,主要目标是培养工程型、应用型的专业软件人才。随着素质教育改革的不断推进,软件工程专业的建设也面临着全新考验。软件工程建设重在实践,只有在不断的实践中才能提升学生的技术和技能,为社会提供适用的专业软件人才。本文结合近年来我院软件工程专业的建设实践,探讨校企融合下应用型软件工程实践教育模式的改革,旨在培养具有动手实践能力和创新意识、能很好地适应市场需要的高素质软件工程应用型创新人才。

二、应用型软件人才培养模式

软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,要求学生在掌握计算机科学与技术方面知识和技能的基础上,进一步熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养[1],使学生成为能够从事软件开发、测试、维护和软件项目管理的高级专门人才。

1.强调专业实际应用能力的培养。通过高校、企业双方的合作融合,引入实训机制,形成以“3+1”模式为框架、产学一体化为特色的应用型软件工程专业人才实践与创新能力培养平台,并把在企业培养的1年时间分散在学生大学四年的学习过程中,使学生能不断接触软件行业与企业[2],循序渐进,逐步加深学生对行业的认识与理解。

2.目的是形成“工程化教学―课程实验教学―基地实习实训―真实项目开发”的培养过程,建立“课程实践―项目实训―项目开发”的教学、实训模式,引导学生树立系统、科学的工程项目概念。

3.由学校和企业双方共同研究制订实践教学方案、共同实施,目的是提高学生的动手能力以及解决实际问题的能力,使学生毕业后能很快适应软件企业的要求[3]。

4.每学年根据教学计划以及教学实施的具体情况,在大一至大三期间,请合作企业选派资深工程师来校开设相关技术讲座,并选择部分专业课程由合作企业选派师资负责课程实践教学、实训的具体实施,学生在大四的时候再集中到合作企业进行强化训练。该专业学生4学年期间的实践活动简表如下表1。

通过改革软件工程专业的人才培养模式,结合“3+1”合作模式,借助企业的平台,按学期逐步推进、锻炼和提高学生的实践能力和综合素质,锻炼学生适应社会的需要,使学生能不断接触软件行业与企业,使其观念及早融入社会,循序渐进地加深学生对软件行业的认识与理解[4],逐步形成“课程实践―项目实训―项目开发”的教学、实训模式。

三、实训体系构建

通过高校、企业双方合作融合,将实训引入软件工程专业的本科教学中,探索校企融合下应用型软件工程教育模式的改革。以JAVA专业实训为例,我们的实训目标是提高学生的动手能力以及解决实际问题的能力,使学生毕业后能尽快适应软件企业的要求。在企业项目经理和学院教师的共同带领下,通过实训中的具体项目,将原来分散的专业知识系统化,把整个项目的实施过程,贯穿于学生理论知识学习的始终[5],使学生获得综合性应用锻炼,进一步了解标准软件开发过程与规范,掌握软件开发的基本技能,锻炼其团队协作精神。

1.实训内容和阶段。我们的实训分两个阶段进行:第一个阶段的校内专业实训为基础实训,一般以基础性的、业务简单的项目为案例,训练重点放在编码实现上。第二个阶段的企业工程实践为大中型项目实训,一般由合作企业从其案例库中选择其之前实践过的真实项目作为案例,内容涵盖一个软件项目开发的整个生命周期,目的是通过项目的强化训练过程,提升学生的基础知识、基本技能和基础技术,熟悉企业级的运行环境和框架。两个阶段的实训都贯穿软件项目开发的整个生命周期,包括项目管理、需求分析、技术储备、系统设计、编码、测试、提交、项目评审等阶段,但第一个阶段侧重于技术储备,体验软件项目的开发过程,培养学生掌握软件项目的调试方法和技术[6]。以JAVA实训为例,在技术储备阶段,第二个阶段侧重于项目的开发流程和各类项目文档,培养学生养成良好的编程习惯、了解行业前沿应用状况和项目开发的业务流程和知识,提高学生的表达、沟通和团队协作能力,进而养成良好的职业习惯。具体实训的内容和阶段如下图1所示。

通过项目的实战训练过程,提升学生的基础知识、基本技能和基础技术,熟悉企业级的运行环境和框架。通过完成案例项目的需求分析、系统设计、编码、集成、测试和项目评审过程的实践,了解软件项目的开发流程和规范。

2.实训目标。我们的实训目标按阶段的不同,具体内容也有所区别,要求学生实现的分段目标的侧重点也有所不同。

(1)第一个阶段的校内短期实训:该阶段属于基础实训,在实训过程中引入单元测试技术、软件工程、质量管理和ISO体系概念,让学生了解到企业软件开发对质量的要求和管理方法,提高学员对自己编写的软件的测试和调试能力,修正和增强学员对软件测试和质量的意识。在实训过程中引入新的Web标准、HTML5、CSS3、Canva、SVG等,为学生将来进入互联网或移动开发领域,进行基础知识、基本概念等的技术储备。以JAVA实训为例,该阶段的实训目标如下表2所示。

(2)第二个阶段的企业工程实践:该阶段为大中型项目实训,在大三第二学期校内短期的基础实训、学生技术发展规划的基础上,按照Java方向、Android和PHP前端开发三个不同的专业方向,在合作企业实训基地分组进行项目实训。期间结合加强项目训练和创新创业指导,培养学生的敬业精神、团队精神;以及如何把个人价值观和公司的价值观进行有效的衔接。以JAVA实训为例,该阶段的实训目标如表3所示。

3.预期成效分析。通过校企融合,借助于校企合作平台,探索应用型软件工程实践教育教学模式:一是能使学生获得实践经验,提高学生的综合素质和就业竞争力;二是可为学生提供更多的与企业接触机会,创造就业机会[7],扩大学生的就业渠道;三是可以为高校双师型教师的成长提供平台和环境。

(1)提高学生的综合素质和就业竞争力。有关统计信息表明:我国软件专业毕业生,无论是本科软件工程专业,还是高职软件专业,其就业率和专业对口率都不是很高;另一方面,企业又普遍反映找不到合适的软件人才。之所以会出现这样的“两难”局面[8],纠其原因在于目前高校软件专业的培养与企业对软件人才的需求不对称,学生在学校所学的知识和技能无法紧跟市场,实践动手能力方面相对较弱,与企业直接顶岗的要求存在比较大的差距。校企合作模式,能在一定程度上弥补这方面的不足。

(2)提升学生的就业能力,扩大学生的就业渠道。软件工程的发展与信息社会的发展和需求是息息相关的,而目前高校该专业的教育模式仍然集中于过多过泛的基础教育,教学方式仍然沿袭以理论讲授为主的模式,导致学生的实践能力与理论能力失衡[8]。因此,我们通过校企融合,整合优化培养方案,围绕培养目标,深化软件人才培养模式改革。从第二学年开始,每个学年度请合作企业的资深工程师为同学们进行实践训练,通过实训,使同学们逐步对大型软件的开发流程和方法有一个初步的了解,体验软件开发的工作氛围,逐渐树立基本的职业观念,以便到毕业时,能很好地适应软件开发相关技术岗位,提升就业能力,创造就业机会,扩大学生的就业渠道。

(3)培养“双师型”教师。在校企合作的基础上,选派部分教师到企业参与相关项目开发实践,培养教师的“双师”素质,提升教师的工程经历和软件项目设计、开发经验,了解大中型软件项目设计开发过程,提高教师实际工程研发能力,为双师型教师的成长提供平台和环境,使专业教师得到工程能力的锻炼和提高,为以后“任务驱动、项目导向”培养模式的开展提前做好师资储备。

此外,通过校企融合模式,培养应用型软件工程人才,还可为企业培养更多优秀的应用型软件人才。

四、结语

大学培养出来的软件人才在层次上来说应该是中高级的,他们受过良好的基础教育和理论教育,但由于传统的闭门造车式的培养模式,缺少实践的机会,而且所教授的理论和技术跟不上企业的现实需求,导致传统学历教育模式培养出的软件工程专业学生往往是理论知识有余而实践操作经验不足,毕业生不能够马上和完全适应企业的需要。因此,当前高校软件产业人才培养与实际需要存在着一定程度的脱节,学历教育与不断变化的市场需求的矛盾相当突出。而校企融合模式下应用型软件人才培养模式可以在一定程度上缓解这一矛盾,为企业培养更多优秀的应用型软件人才。

参考文献:

[1]柳婵娟,邹海林.基于校企合作的应用型软件工程人才培养模式研究[J].计算机教育,2011,(24):9-12.

[2]张广泉,杨季文.面向校企合作的软件工程人才培养模式探讨与实践[J].计算机教育,2008,(21):29-32.

[3]张丽.软件工程本科专业校企合作人才培养模式实践[J].农业网络信息,2015,(8):137-139.

[4]徐洪智,覃遵跃.校企合作共建软件工程专业实践教学体系[J].实验室研究与探索,2013,32(6):128-130,160.

[5]王爱民,谷川.软件工程专业校企合作实践教学模式研究[J].实验技术与管理,2012,29(1):143-145.

[6]范会联,仲元昌.基于项目驱动的软件工程课程教学改革探索[J].教育与职业,2013,(5):147-148.

相关文章
相关期刊