软件工程专业课程范文

时间:2023-04-05 03:01:50

导语:如何才能写好一篇软件工程专业课程,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

软件工程专业课程

篇1

【关键词】软件工程;专业建设;课程群

0 引言

作为一个新兴的学科,软件工程涉及计算机科学、数学、管理学等领域,是一个综合叉学科。同时,软件开发技术得到了飞速的发展,云计算、移动互联网络、手机系统和APP软件、物联网以及互联网+概念的提出,对计算机行业,特别是软件工程专业的发展产生了深远的影响。

如何利用现有技术,对软件工程专业的人才培养模式进行改革,从而培养出适应社会需要的高素质、实用型、具有竞争能力的软件工程高级应用型人才是摆在软件工程教育工作者面前的一个重要任务。

本文以河南城建学院“人才培养模式改革”为契机,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索。

1 软件工程专业认知与定位

对比计算机科学与技术专业,软件工程专业侧重于用工程化的技术和方法,应用计算机科学、数学、及管理科学等原理来开发软件。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理[1]。软件工程包括十大知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。

立足于计算机工业和软件产业的人才需求现状,高等院校的软件工程专业人才培养模式不仅要注重学生基础知识和动手能力的培养,同时也要注重学生工程能力和职业素质的培养。我院软件工程专业人才培养目标为:培养适应我国社会主义现代化建设需要,德、智、体、美全面发展的,掌握自然科学和人文社科基础知识、计算机科学及软件工程专业基础理论知识的,熟悉软件开发相关理论和知识的,具有软件开发实践和项目组织的初步经验和能力,具有创新和服务意识,具有熟练的外语运用能力,能在企、事业单位和行政管理部门从事科学研究、开发和应用的,能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

2 现有人才培养模式存在的教学困境

现有人才培养模式存在的教学困境究其根源是由软件工程专业的学科特点决定,即软件工程学科涉及到理论、方法、工具的综合交叉;软件项目的过程、组织和管理涉及面广;同时软件工程专业的方法、技术和知识更新快、使用周期短、国际化程度高、应用范围广、服务性强以及软件使用的不连续性和不确定性[2]。

现有人才培养模式存在的教学困境:

1)专业核心课程工程化的原理贯彻始终,理论性强,理论指导实践的意义重大,但部分学生专业基础不牢,软件开发经验不足,无法把理论教学的知识与实践结合,课堂教学效果不好。

2)软件开发技术发展迅速,特别是云计算、物联网、移动互联网以及互联网+等技术的发展,使得学生在校学习的专业理论和技能素养跟不上社会对于软件工程专业技术人才的要求。

3 软件工程专业课程群建设

本文提出的软件工程专业课程群建设是在河南城建学院“人才培养模式改革”大背景下,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案。

需要强调指出的是,课程群建设并不是机械地进行课程排列组合,它应该是把一批具有相同认知结构和培养目标的本专业或跨专业课程的知识、方法、问题及解决方案有机地整合形成的课程体系[3]。课程设置要体现与时俱进,且要和当前高校的教学方法改革相结合,旨在为人才培养模式改革在系统化、理论化、工程化、实践化等方面提供建议,针对专业特点构建工程化实践教学体系,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,使学生各方面的能力都得到全面均衡的发展。

按照循序渐进的教学指导原则,本文提出的软件工程专业课程群建设,主要从课程群建设和实践能力培养两个方面进行阐述,从而形成一体化培养机制,使学生在打牢专业基础知识的同时,在实践技能方面得到全面均衡发展。

1)软件工程专业课程群建设

软件工程专业课程群建设从理论基础课程群建设考虑。其中,理论基础课程群建设可以细分为四个课程子群,分别为:公共基础课程群、专业基础课程群、软件工程专业课程群和专业方向课程群。

具体来讲,四个课程子群的包含的课程如下。

(1)公共基础课程群。包含思想政治类(具体包含课程:思想道德修养与法律基础、基本原理、思想和中国特色社会主义理论体系概论和中国近代史纲要)、大学英语(一、二、三、四)、高等数学(上、下)、大学体育(一、二、三、四)和计算机科学导论等课程。

(2)专业基础课程群。包含高级语言程序设计、大学物理(一、二)、硬件类(数字电路、模拟电路、计算机硬件技术基础)、线性代数、离散数学、概率论与数理统计、软件工程导论等课程。

(3)专业课程群。包含程序设计语言类(具体包含课程:面向对象程序设计、Java基础、网站建设)、数据结构、计算机组成原理、数据库原理、计算机网络、操作系统类(操作系统和Linux操作系统),面向对象分析与设计(UML)、软件工程过程与管理、软件质量与测试、软件系统设计与体系结构、计算机安全和编译原理等课程。

(4)专业方向课程群。包括限选课和任选课两类。其中限选课分为两个方向:.NET方向(具体包含课程:C#程序设计、网站建设和 .NET企业级开发)和Java方向(具体包含课程:典型数据库、Java Web应用开发和J2EE企业级开发)。任选课具体包含课程:算法分析与设计、人工智能、平面设计、Android技术应用和绘画鉴赏等课程。

2)实践能力培养

实践能力培养主要从上机实验、课程设计、实习实训和毕业设计四个方面入手,着重培养学生的实践动手能力。

实践能力培养以“四面一体”为原则,着重培养学生的实践动手能力。所谓“四面”,是指实践环节从上机实验、课程设计、实习实训和毕业设计四个方面进行理论知识的深刻理解和熟练运用,从而使学生打下坚实的理论基础知识,并运用到实践。其中上机实验主要是对相关课程的理论知识点进一步理解和掌握;课程设计则是以小项目为基础,使学生对课程总体把握和熟练运用,把所学知识运用到实践中去,理论联系实践;实习、实训环节是让学生对新技术、新知识的学习,同时进一步提高学生的动手能力;毕业设计注重对理论知识和实践能力的综合运用,形成全面的专业技能。

“一体”是指“四面”的最终目的是为学生的实践能力服务,在毕业设计环节实现四面归一,提高学生从整体把握并综合运用所学的理论、实验、课程设计、实习、实训中的知识,知识归一、动手能力归一,形成全面的专业技能,使学生在进入社会工作后,有很强的实践动手能力,适应工作的需要。

4 结束语

本文依据我校软件工程专业认知与定位和现有人才培养模式存在的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索,从而培养能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

【参考文献】

[1]张效祥.计算机科学技术百科全书[M].北京:清华大学出版社,2005,11:183.

篇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

关键词:教学评价;工程教育;评价体系;CDIO理念

CDIO工程教育理念代表了近年来国际高等工程教育改革的最新成果[1]。其基本精髓是在厚实专业基础理论之上,按照类似工程系统的构思、设计、实施、运行生命周期过程方法,将专业教育融入到工程领域实际情景进行人才培养,实现高校毕业生的专业知识与专业能力直接符合行业用人要求。CDIO 不但注重专业知识和实践能力,还注重团队协作、交流沟通、创新思维、自我学习、大系统掌控、职业素质等综合能力。因此,CDIO作为先进的工程教育理念现已成为很多高校进行人才培养模式与教育教学改革的基本指南[2]。在基于CDIO工程教育理念的教育改革实践中,需要解决的各类问题较多,如人才培养模式、课程体系、教学方法、评价体系等[3]。其中,如何评价教师课程教学工作以及教学成效是一个相当关键与敏感的具体问题。课程教学评价对促进教师提高教学质量,提升大学人才培养水平具有重要作用。如何针对教师课程教学情况,给出科学的、合理的、建设性的评价,完善教学方法和提高教学水平,这是许多教育工作者长期都在探索与解决的问题。采用科学、公正、客观的课程评价体系与方法,可以有效调动教师的教学工作积极性,促进他们不断完善教学方法、提高教学水平。反之,将会挫伤教师的教学工作积极

性,影响高校人才培养效果[4]。

1软件工程专业课程分析

高校软件工程专业培养目标是针对国家信息化建设与发展需要,面向软件产业界对软件技术人才的需求,培养具有国际竞争能力与创新思想的工程型软件人才。对毕业生的基本要求是,具有厚实软件基础理论知识;掌握较宽广的科学方法与专业技术,具有一定的技术创新能力;受到良好的软件工程训练,具有较强的软件工程实践能力和团队协作能力;熟悉软件应用和工具,具备运用先进的工程化方法、技术和工具从事某一应用领域软件分析、设计、开发和维护工作的能力;熟练掌握英语,具备良好的阅读、理解和撰写外语资料的能力和进行国际化交流的能力;通晓和遵守相关法律与职业道德。

与其他专业的课程相比,软件工程专业课程特别强调在厚实软件基础理论知识之上,注重软件实际项目工程开发能力培养,如系统认识能力、系统分析能力、系统设计能力、团队协同开发能力、软件编程能力、开发工具应用能力、新技术自我学习能力、综合解决工程问题能力。软件工程专业课程大都具有前沿性、应用性、工程性、技术性以及实效性等特点。

2传统模式下课程教学评价问题

课程教学评价是大学专业教育的基本质量保证手段。但不少高校软件工程专业对课程教学评价依然采用了传统的课程评价模式[5],即由学生网上评教和学校教学督导专家考评来综合评价教师课程教学质量。学生网上评教基本上是从教学内容、教学方法、学术水平、教学技能、教学效果、考核方法、教学态度和教学道德八个方面指标对教师课程教学进行评教。而督导专家考评则从课程教学材料准备、教学态度、课堂讲授、教学内容、教学方法、课堂管理、多媒体/板书效果等指标进行评分。该课程评价模式着重考察教师是否按规范的教学程序进行课堂教学,是否按规定讲授课程教学内容,是否有好的课堂教学效果。这种课程教学评价模式在一定程度上反映了教师课程教学情况,为学校考评教师课堂教学效果与质量提供了一定依据,但该课程评价模式仍然存在一些不足。

1) 过分注重课程“教”学形式效果,忽略课程教“学”成效评价。

传统课程教学评价主要关注了教师课堂教学效果和教学行为,而缺乏考察课程教学对象(学生)的实际学习收获情况。只有当学生通过课程学习,培养了相应的学习能力与专业能力,取得应有的学习成效,课程教学目标才算真正达到,课程教学成效才算显著。即使某教师的课堂教学表现力如何强、技巧也不错、学生评教分也高,但如果该教师的教学缺乏“与时俱进的课程知识内容、完善的课程教学方案、有效的课程实践能力培养、较大的课程学习收获”,这样的课程教学质量不能算好,所谓的好评也仅是徒有其表。特别是当该课程在整个教育行业进行学习成效比较时(如学生参加统一考试的研究生入学成绩对比),其差距就明显体现出来了,更谈不上好的人才培养质量了。

2) 评价内容范围窄,不能反映教师课程教学全过程情况。

大学课程教学环节主要包括课程准备、课程设计、课堂讲授、课程实践、课程作业、学习反馈、课程辅导、实践指导、课程考核、课程总结、课程改进等环节。但很多高校的课程评价仍局限在教师课堂讲授环节,不能完整反映教师课程教学情况的全貌。而且课程教学评价更多考察教师的教学行为与学生对教师印象,没有真正关注课程教学目标与教学成效体现。往往所给出的课程评价信息不全面、不中肯。另外,学校各专业都使用同样的课程评价指标表,不能反映各类专业课程的多样性与差异性特征。现有课程评价指标与方法对一些专业课程是合适的,但对另外一些专业课程评价并不合适。如软件工程专业课程基本上都有较大学时比例的实践教学环节,现有课程评价模式,基本上缺失对课程实践教学环节的评价。

3) 过多强调课程评价管理作用,轻视教师发展性课程评价真正意义。

每个高校都有一套自己的课程教学评价体系与方法。很多高校将课程教学评价意见作为教师晋升职称的评定依据和年终奖金发放挂钩,这固然是一种较合理和有成效的教学管理手段。但不能不看到,现有模式过多强调了课程评价的管理作用。评价指标基本上是从教学管理者立场提出来的,它忽视了学生作为教师课程教学评价主体的存在,即没有从学生的学习为出发点设计评价指标,学生无法表达自身课程学习收获体验和实际感受。还有一些评价指标过于宽泛与抽象,让学生难以准确把握尺度,造成评价的结果不能如实地反映出教师教学的真实情况,失去了评价结果的准确性和可靠性。此外,这种课程评教模式只关注了学校对教师的监督管理作用,弱化了课程教学评价的诊断功能、导向功能、激励功能、调控功能以及改进功能,评教结果没有最终落实到如何帮助教师改进教学、促进教师专业发展,无益于教师在课程教学评价过程中的自我激励和自我提高。

篇4

>> 软件工程的课程教学改革与研究 软件工程课程教学改革的研究 卓越软件工程师Java课程群教学改革研究 软件工程方向基于课程群的实践课教学改革 软件工程专业教学改革研究与探索 《软件工程》课程教学改革研究 软件工程课程教学改革研究 软件工程课程教学改革研究与实践 基于CDIO的软件工程专业教学改革 高职《软件工程》课程教学改革的探讨 关于《软件工程》课程教学改革的探究 《软件工程》课程教学改革的探索 《软件工程》课程的教学改革探索 “软件工程”课程教学改革的探讨 电大“软件工程”课程教学改革的探索 软件工程专业Java语言系列课程教学改革研究 软件工程专业面向对象程序设计教学改革研究 基于团队学习的软件工程专业课程教学改革探索 高职软件工程专业软件测试课程教学改革探讨 关于《软件工程》教学改革的研究 常见问题解答 当前所在位置: [EB/OL], May 2013.

[3] 李慧仙.论高校课程群建设[J].江苏高教, 2006(6):73-75.

[4] 张怡文,贺爱香,王美荣.基于软件课程群的合格课程建设——《C++程序设计》合格课程建设[J].电脑知识与技术, 2012(5): 46.

[5] 肖宿.软件工程课程教学方法初步探索[J].电脑知识与技术, 2012, 8(14).

[6] 李兆翠,乔京涛.软件工程课程教学方法研究[J].电脑知识与技术, 2011(2): 090.

篇5

关键词:实验教学;教学质量;项目驱动

1研究背景

目前,很多高校软件工程专业人才培养片面追求规模大而全,盲目拔高,过于注重基础理论知识的研究和学习,学生理论有余,实践不足,因此软件人才结构性矛盾日益突出,人才无法适应企业的需要。为满足国家对软件工程专业人才的需求,必须在教育和人才培养体制上进一步完善[1-2]。

很多高校的软件工程专业都开设Web开发类课程。但该类课程实验训练面宽,需要的人力物力也较多,因此相当多高校以理论为主,实验为辅。另外,因课时、师生比等的限制,一般高校把该类课程作为语言类课程教学,仍以介绍语法为主线,配上一些语法应用示例的简单程序,缺少系统训练,没有编程和调试过程的真实演示。理论和实际不能有机结合,根本谈不上提高Web开发能力,即使学习程度较好的学生也都成了“语法的巨人,开发的矮子”[3-5]。

2课程教学改革

我校从2007年正式招收软件工程专业学生,经过几年的摸索和实践,笔者课题组在软件工程专业Web应用开发类课程教学模式方面积累了一些实践经验,希望能够起到抛砖引玉的作用。

2.1课程体系的设置

结合软件工程专业人才的培养目标和特色,Web开发方向课程体系建设要努力体现学科发展潮流和市场需求。作为软件工程专业课程设置的重要组成部分,课程群的设置要强调科学性、层次性、完整性,注意课程群体间的衔接,避免内容的重复。

从大三的第2学期开始,Web开发类课程体系前导课程并行开设了C#程序设计语言和网页设计,中间是.Net Web项目开发,处于核心地位,最后是两周的实训。这种课程群安排改变了“什么工具都学,什么工具都没有学精”的情况,以真实项目贯穿整个学期,课程之间联系紧密。C#程序设计语言和网页设计分别关注项目的编程语言和界面设计,.Net Web项目开发则从工程的角度实现完整学习项目的需求、架构、编程、测试等全过程的学习,最后的项目实训以学生为主体,完成整个项目。

2.2授课方式的改进

1) 授课时间调整。

我们采用“做中教,做中学”的教学方法,培养学生的职业技能,为了避免理论和实验分开授课及两次课之间周期太长的问题,笔者课题组采用4学时每课制的课程安排形式,边讲边练,在实验室把理论教学与实践教学融合为一体,避免学生直接面对枯燥的理论和语法知识,提高了学习效率。

2) 授课方式调整。

为充分利用实验室资源,尊重学生的个性化差异,我们让两个班约50名学生一起上课,但采用了两个授课教师外加一个实验教师的教师配置,基本满足1∶15的师生标准配比。小班教学能创造良好的学习环境,教师和学生能充分交流,有充分的时间找出问题,使深度学习型和表面学习型学生都受益[6]。

3) 授课过程调整。

为了保证以“做”带“学”的效果,“做”的过程控制尤其重要。我们采用以下教学步骤:

首先,教师用20分钟讲解和演示知识点。教师让学生对开发软件的功能和界面有一个感性认识,在演示过程中告诉学生如何应用知识点,并录制了视频录像,以备没有听明白的学生课下重看。

接着,学生思考和消化10分钟。让学生把思考后的想法写下来,以备后面的实施。教师也会在课堂中巡视,查看学生们的共性问题。

最后,学生利用一半时间重复实现教师讲过的内容,强化练习,加深印象。在剩下的时间里,学生还可以扩展教师讲解的知识点,完成教师没有讲到但相似的内容,并要调试通过。

总之,工程化的思维和编程能力是训练出来的,练习对问题进行分析、综合,编程,调试,然后才能体会到关键问题所在,这些都是单靠讲授不能获得的。所以,采用实验室实验授课模式是改革Web开发类课程体系的关键。

2.3真实项目驱动教学的实践

一般院校讲授的案例都是小型软件系统,在规模和复杂度上远远不如实际开发的系统,学生只需写少量代码,很难体会开发一个实际项目的艰辛。因此,学生容易轻视Web开发的难度和价值[7]。

我系引入了大连海辉公司的实际项目――客户资源管理系统,使工程概念贯穿了整个教学过程。该项目把程序设计和用户需求、文档设计、工具使用、模块集成、资源库与模块重用、测试等紧密地捆绑在一起,形成了一个开发链。在开发过程中,学生需要熟练掌握从需求分析、架构设计、开发环境配置、Web编程、数据库访问、调试测试和安全性配置到交付整个过程中涉及到的技术和非技术知识,还要撰写该软件的工程规范文档和实验报告,以备考核。

2.4课程考核方式的改革

考核体系包括3部分:

1) 平时表现。占30%,包括平时出勤率和实验操作考核。按照学生的出勤情况和实验报告上交情况给分。本类课程贴近于实际,对想要就业的学生有帮助,所以很受欢迎,出勤率较高。另外,每次上课都要完成客户资源管理系统的一个模块,下课前通过作业提交系统提交上来,教师要检查完成情况,也作为平时考核的一部分。

2) 大作业。占30%,采用小组方式,并配有一定数额的项目虚拟启动基金。大作业强调学生的团队协作能力,注重学生的学习参与性、团体合作性、实践性,培养学生的表达能力、思维能力、团体合作能力[8]。学生要利用从项目中学到的知识和经验,编制一个.Net软件。教师给每个小组分配一定数额的虚拟基金,由组长按照每人工作量的大小分配,避免学生偷懒,也有利于教师给每个学生打分。大作业要求最后上交软件、项目文档,并安排表达力强的学生陈述项目的设计过程,回答教师提问。整个项目建设应作为一个探索和试错过程,让学生在实践中体会工程思想。比较优秀的组可以以实际课题作为大作业,如齐齐哈尔大学校办网站、.Net课程网站等,本学期结束后,学生小组将在大作业的基础上继续深入研究,也可以作为毕业设计课题。

3) 在线考试。占40%。按照国际惯例,像此类实践性强的课程不宜进行闭卷考试。笔者课题组使用.Net编制了在线开卷考试系统,用选择题和填空题考察语法知识,用规定时间内完成某模块的功能考察编程能力。这种考察方式一方面减轻了教师的批卷压力,可以快速统计学生成绩,另一方面避免出现“高分低能”现象,受到实践能力强的学生的欢迎。

以上考核方式比较全面地评估学生的专业能力和潜在的发展能力。通过提交作业、软件工程文档、口头演讲、小组研究、在线考试和软件等,学生展示了自己的学习成果。考核结束后,教师要将考核结果及时反馈给学生,指出学生的成就和不足,帮助学生改进和提高。

2.5开放性实验室的管理

目前,许多学校的实验室只在有实验课时开放,平时几乎不开放,实验室及仪器设备利用率很低,造成资源闲置浪费。因此,软件工程实验室除了完成常规教学任务外,还应采用教师轮流值班,学生兼职管理的办法,帮助或组织学生完成上课未完成的任务,或自己找项目做。开放实验室比宿舍环境更好,配套教学软件齐全,还有教师帮助指导,可以更好地发挥实验室的基础平台和支撑作用。学生们的大作业大多数是在开放实验室完成的。

3实践效果

这种开放式、多层次实验教学模式有利于学生积极参加活动,提高整体素质。它使抽象的软件编程形象化,提高了教学质量和效率;提高了学生的学习积极性,帮助学生加深对理论知识的理解;提高了学生的实践能力,强化了软件开发的实战能力,实现了从学校到企业的无缝结合。在做完“客户资源管理系统”项目后,学生都感觉收获很大,特别是在软件架构设计和软件工程规范文档书写方面。在“黑龙江省第二届大学生计算机应用大赛”中,我系学生获得桌面类一等奖1项,桌面类二等奖1项,Web网站类二等奖1项,桌面类三等奖和优秀奖若干项。

4结语

软件工程专业Web开发类实验教学模式将教与学融合在一起,增强了教师和学生间的互动,提高了学生的实践能力。通过调整授课时间、地点,小班教学,项目驱动和改革考核方式,学生在掌握扎实理论的基础上又提高了职业技能和素质。

注:该论文受到黑龙江省新世纪高等教育教学改革工程项目“软件工程专业应用型人才培养模式的改革与实践”支持。

参考文献:

[1] 熊伟,洪玫. 大学本科软件工程专业建设的探索与实践[J]. 理工高教研究,2010,29(1):59-61

[2] 晏立. 从社会需求的角度探索软件工程教育[J]. 教育与教学研究,2008(22):141-145.

[3] 刘建华. 计算机语言类课程教学模式初探[J]. 高教论坛,2005(1):91-93.

[4] 何明昌. 可视化程序设计实验教学改革[J]. 实验室研究与探索,2009,28(3):88-90.

[5] 张雅琴,曹志清. 实践教学内容改革的实践与思考[J]. 实验技术与管理,2003(3):59-62.

[6] 刘雪荣,林曦,李曦达.英国高校小班教学模式及启示[J]. 河北师范大学学报:教育科学版,2009,11(12):108-112.

篇6

关键词:编译原理;软件工程;项目管理

编译原理是软件工程专业的一门重要专业课程,与其他计算机学科关系紧密,其相关技术在很多领域都有广泛的应用,如软件工程、逆向工程、软件再工程等。这门课主要内容是程序设计语言编译程序的构造原理,包括形式语言、有限自动机、自上而下和自下而上的语法分析、LR分析方法、属性文法和语法制导翻译、语义分析和中间代码产生、存储器的动态分配与管理、符号表的组织与管理、优化问题、代码生成等内容。在软件工程专业设置本课程的目的,在于系统地向学生介绍编译系统的结构、工作原理以及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习之后,既掌握编译理论和方法的基本知识,也具有设计、实现、分析和移植编译程序等方面的初步能力,为从事计算机软件开发工作及理论研究工作打下坚实的基础[1]。

由于编译原理课程本身逻辑性强、理论性强、理论实现偏难,学生普遍存在畏难情绪,教学效果不理想。本文就编译原理课程教学中的问题,结合软件工程专业的特点,就教学方式展开深入的讨论。

1编译原理课程教学存在的主要问题

1.1学生前期课程学习不足

编译原理课程的先修课程包括程序设计语言、离散数学、汇编语言、数据结构、计算机组成原理等。其中某一门课程的基础没打好,就会影响编译原理课程的学习。

1.2课程本身理论性强

本课程涉及不少理论知识,如形式语言和自动机理论、语法制导的理论等,内容抽象,学生学习与理解有一定的难度,特别是语法制导定义(或翻译方案)的设计。由于课程的理论性太强,难以激发及调动学生学习的兴趣,甚至致使部分学生放弃本门课程的学习[2]。

1.3实践性环节薄弱

编译程序是大型复杂的软件系统,在教学中要把它拆开成各个部分,分阶段地讲解,以便减低学习难度,但这样做常常导致学生不清楚各部分是怎样在整个系统中协调工作的。因此,上机编程时,大部分学生没有思路,无从下手,一部分同学还产生依赖思想,并出现抄袭别人程序的现象。

1.4教学手段单一

传统教学手段主要是以课堂教授为主的“灌输式”教学,很少采用启发式、讨论式教学方法。编译原理理论性强,学生上课时感觉听懂了,但在课后作业和实验环节,学生的表现说明他们没有真正理解。

此外,由于课程本身具有一定的理论深度和难度,而且学生普遍认为学习该课程仅仅是为了构造编译程序,认识不到其在培养科学方法和严谨思维方面的重大潜在价值,学生缺乏学习的积极性[2]。

2具有软件工程专业特色的教学方式

欲改善上述局面,就应结合学生的专业特色,即在软件工程专业教学过程中,把工程化的思想纳入到本课程中来,增加学生对课程目的性的认识,提高学生的积极性。

2.1在思想上提高学生的学习兴趣

为了消除学生对编译原理课程的畏难心理,教师的第一堂课非常重要。在第一堂课的组织中,教师应以引导性为主,比如把“编译”和两门语言间的“笔译”相类比,“解释”和“口译”相类比,这样可以增强学生的理解的记忆。然后,需要强调课程在软件工程专业开设的重要性,避免部分学生对本课程认识不足,投入精力不够。在语言组织上,尽量把复杂的问题简单化,可以添加些有趣的实例,增加学生的兴趣。让学生在第一堂课就减少一些抵触情绪,建立学好编译原理的信心。

2.2教学上采用软件项目开发小组的方式

为了更好地和软件工程专业相融合,在本课程的教学中,建议采用软件项目开发小组的方式。首先对学生进行分组或学生自行组织队伍,一个小组以6~8人为宜,固定一个组长作为项目经理,项目经理的职责是与老师沟通,是小组的领导者、决策者。教学过程中,老师除了教学外,还要承担项目委托方(需方)的角色,管理时多数时间与小组的项目经理沟通。在理论学习过程中,教师对每个章节的内容学习以及课后作业提出要求,各个小组给出解决方案,小组之间竞争,选出最好结果作为中标的供方,以提高学生的学习兴趣。在实验教学过程中,教师负责提出需求,并给出解题思路;小组的项目经理负责给组内成员分配角色,主要包括系统分析员、系统设计员、程序员、质量保证工程师、测试人员等,针对类似算法,要求小组内人员轮流执行不同的职责,保证每个学生都能训练到;实验课结果的提交采用项目答辩的形式,由各个组长和老师组成评审团,进行评审。在课程设计阶段,在小组内不同基础的同学分配不同的职责,以减少困难度,具体操作与实验类似。这种学生组织形式,有利于提升学生之间的团队合作精神,并且能很好地提高学生学习兴趣,团队之间的竞争大大激发学生的学习动力。

2.3理论教学采用实例教学

实例教学的依据是学习的一般规律。对编译原理这种理论性强的课程来说,采用实例教学是一种非常有效的方法[3]。其实际操作方式为:首先,教师通读教材多遍,并做完每章后习题;其次,参考其他同类教材,在此基础上选择在时量和知识影射方面最佳的例子;最后,强调学生自主学习,上课时教师只是快速的“过一遍”相关定义,而不是照本宣科地讲。接下来,课堂上的大多数时间用来讲解实例(这里的实例主要是相关知识点的应用例题,比如分析某个给定文法的二义性),让学生听懂例子、理解例子,学生再实践。最后,教师对课堂内容进行小结,归纳出一般性规律(理论知识),并让学生与前面的定义对比,这有助于其巩固对理论的理解,另外,可以让学生去看前面的定义、定理,这样回过头读这些理论知识要轻松很多、容易很多[3]。实际授课时,建议相关定义采用幻灯片形式,加大知识点的容量;而实例的讲授建议采用板书形式,思路更清晰。

2.4实验课有层次化,主要针对算法

本课程包含很多算法,有LL(1)分析算法和各种LR(1)分析算法、DFA化简算法、计算开始符号集合和后继符号集合的算法、各种数据流方程的迭代求解算法。由于实验课时间不连贯,实现编译器大型软件,只能将其分成几部分进行,鉴于学生理解上有困难,因此,建议实验课主要针对课程中的算法进行。实验组织形式上沿袭软件开发小组的模式,针对不同的学生情况分配任务,比如对于LL(1)分析算法,可以让编程能力强的同学先做开发,其他同学做辅助工作(测试、管理等),并学习相关代码程序;在做类似的LR(1)分析算法时,就转换角色,让前面没有做开发工作的同学参照LL(1)做相应的开发工作。这样就能使每个同学都能深刻理解相关知识点。

篇7

【关键词】实践教学体系;数据管理课程群;质量保障体系

0 引言

软件工程专业实践教学体系建设是面向信息与软件产业需求,实现以软件设计、软件开发和信息处理能力为教学目标的关键环节。数据管理课程群的实践教学是培养学生实施测试实验、获取预期结果、进行实验比较等分析与解释数据能力的基本方法。

数据管理课程群是对软件工程专业教学计划中具有相互影响、有序互动、可构成完整数据管理模块的相关课程,进行综合规划和整合的有机集成单元。在数据管理的范围内,物联网、数据仓库、信息安全和大数据等新技术的发展日新月异,并不断地涌现新的研究方向和成果,使得数据库课程发展成为内容丰富的数据管理课程群。如图1所示,可以看出数据管理课程群在软件工程专业中的地位及与其他课程群之间的关系,即在专业基础课程群的基础上,按照软件工程课程群的工程方法,与程序设计课程群共同实现软件开发和数据管理的基本训练。

1 建设数据管理课程群实践教学体系的基本过程

数据管理课程群的发展需要对相关专业学生的大学学习期间的实践过程进行宏观规划,不仅要求对专业教学实践环境的任务进行必要的评估,并通过一系列制度性措施来保证任务目标的实现;还要在每学年或每学期针对行业的发展状况和企业的需求对具体实践项目的内容进行评估、修改和完善,从而使得本专业的实践教学体系实现动态性管理,基本步骤如图2所示。而具体内容可以从教学团队建设、实践教学模块设计和质量保障体系建设等方面来描述。

1.1 数据管理实践教学团队建设

数据管理课程群的实践教学体系因为信息技术的行业特点而具有动态性。数据管理实践教学团队除了必须具有扎实的数据库技术理论水平、数据库软件操作能力和责任心以外,还需要有足够的学习新技术的能力和协调能力。在团队中除了任课教师和实验教师之外,熟悉软件开发和数据管理的软件企业工程师必不可少,这是直接影响团队的建设质量。可以根据软件行业特点,聘请有一定实践历练的研究生、软件工程师或者在企业工作的校友参与实验、实训的指导,建立由不同类型教师组成的专家平台,以利于学生通过不同的课外途径与教师的进行沟通,利用多种方式保持辅导交流渠道的畅通,将实践教学向更广范围延伸,并与不同课程群的实践要求结合起来。

1.2 数据管理课程群的实践教学模块设计

数据管理课程群的课程实践应该密切结合课程内容,可以分成5个模块,即数据库系统与数据结构、关系模型的基本理论与标准语言SQL、数据库设计与应用、数据库管理系统DBMS以及数据库新技术。

从实验内容层次看,可以针对课程内容的相关知识点设置验证性和设计性的实验,主要利用关系型数据库管理系统软件提供的实验环境。从课程设计或实训层次看,实施方案通过实现小型的数据库应用系统,着重培养学生利用数据库的理论和技术解决实际问题的能力,以及沟通和团队协作的能力,还要求学生对数据库管理系统的组成和实现技术有一定的理解和掌握。在毕业设计过程中,按照软件工程的方法完成从需求分析、数据库设计、数据库实现到和ODBC/JDBC 编程,完成软件开发的系统性训练,以最终能够开发数据库应用系统。

1.3 建立动态的质量保障体系来确保实践教学质量

实践教学质量监控与保障体系建设首先是强调制度建设的重要性。定期修订实践教学督导制度,企业实践跟踪监控制度,以及学生评教与教师考核制度等,建立全员参与的质量监控评价体系。健全实践教学质量监控和评价机制,尤其是严格考核实践环节。通过建立质量保障体系,还要定期对实践教学的规范、实验内容、环境进行核查,并对生成的模型进行比较和评估,保持一个动态的、相对与企业期望相符合的满意模型。

2 数据管理课程群的实践教学体系建设基本过程

计算机行业迅速发展的必然结果决定了教学实践内容的新颖性。对于数据库课程群来说,可以重点选择常用的Oracle 、SQL Server、DB2、MYSQL等数据库管理系统软件中的一种或多种进行课程内容的规划。通过市场调研,预估今后一段时期的生产企业的软件应用情况,在教学网络平台中设计工业生产、商业金融、工商管理和各类教育等不同行业岗位群的数据库示例,创建与实际生产应用相近的数据库和表等数据库对象,让学生体会实际工作中的数据完整性与数据库安全性的关系,以及信息技术对于提高行业竞争力的重要作用。

2.1 立体化实践教学体系建设

教学设计是课程实践教学的灵魂,是提高实践教学效率的关键环节。首先将专业基础课程的实验内容设计成包括教学演示、实验操作、分组交流和简单设计等形式。

针对数据库课程群依托的软件更新速度快、教材建设周期长的特点,进一步利用网络平台进行教材建设,并向动态化和立体化发展。构筑以实践教学大纲为依据,随着教学软件的版本而实现教学参考书、教学课件、教学视频、教学指导讲义、习题、测试题的动态化更新,并定期修订实践教学大纲、更换网络教学平台的内容。

2.2 数据库课程的实验设计

数据管理领域的实践模块设计主要通过数据库系统原理、数据库维护与编程、数据库综合设计实践、毕业设计等课程的实验项目实现。在数据库编程方面的实施方案要求掌握存储过程和ODBC/JDBC 编程。其目标是强化学生的个人实践操作能力的培养。

设置与数据管理课程群的授课内容相符合验证性和设计性的实验,帮助学生在进行数据库管理系统和熟练掌握SQL语言基本数据库技术操作的基础上,还要学习管理和维护具体的数据库系统,针对课程内容相关知识点,具体包括认识DBMS运行、数据库创建与管理、查询语言、数据操作、数据完整性、数据安全性、触发器和存储过程实验、通过JDBC/ODBC 访问数据库、数据库事务管理和数据库备份与还原实验等。

实验教师在初期可以m当的演示一下相关实验具体内容,然后让学生进行验证性操作。验证性实验着眼于通过实验验证课程的基本原理,培养学生的基本实验技能。对于一些较为复杂的实验,要给学生留下思考问题和解决问题的空间,实现研究性引导。并针对不同的学生群体的学习基础状况采用有不同的教学设计。

2.3 数据库课程的实训项目设计

数据管理课程群的综合实训机制的建立、完善和规范,是对学生进行理论与实践的交叉培养。学生可以在模拟的生产环境中完成实训任务,掌握综合操作技能,使动手能力和创新精神得到锻炼。通过实训,学生可以进行实训操作与软件开发、进而参与企业的软件过程改进和产品研发,同时重视学生实训技能的培养和创新能力的培养。教学过程实现理论学习与实践操作的结合,学习的内容实现与职业岗位的内容的结合,使项目开发实践贯穿学生整个学习过程,最终帮助学生完成从学习知识到技能向项目经验的转换,提升学生的协作能力和管理能力,提高学生走上工作岗位所必须具备的职业素养。

2.4 实践教学的考核方式改革。

建立动态考核机制,构建与时俱进的实践教学质量评价体系。在该评价体系中,要把学生与教师互动的表现、学生日常上机实践情况、实践能力考核等多方面的内容纳入考核内容。从而达到全面检测学生的理论掌握水平和理论运用到实践等方面能力。例如,同一门课程可以在网络环境下实现考核,可以采用学生多次申请、多次考核的方式保证学生的知识要求达到大纲要求。

3 结语

数据管理课程群的实践教学体系的建设是学院、企业、教师、学生和实践项目内容选择等各方面环环相扣的更复杂的系统工程。专业的实践管理制度建设、教师团队的组建、实践模块的划分、学生的兴趣引导和团队对数据库新技术的掌握程度等,都需要教学团队不间断的做大量、艰苦、细致的工作,这也是本课程群实践体系建设的基石。

【参考文献】

[1]周顺平,等.面向卓越计划的软件工程专业课程实践教学模式探索[J].计算机教育,2014(9):37-40.

[2]金梅,等.高校数据库原理课程实践教学改革研究[J].高师理科学刊,2013(1):84-86.

[3]张晓龙.面向应用型人才培养的软件工程课程改革与实践[J].计算机教育, 2010(5):10-13.

[4]熊伟等.大学本科软件工程专业建设的探索与实践[J].理工高教研究,2010, 29(1):59-61.

篇8

关键词:软件工程;信息管理与信息系统专业;案例教学;教学模式

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

文章编号:1672-5913 (2007) 19-0043-04

1引言

信息管理与信息系统专业具有管理与信息技术相互渗透的特点,它既不同于计算机专业也不同于管理专业,更不是计算机与管理专业的大拼盘,而是基于现代管理理论,借助于先进的计算机工具进行信息管理和信息处理的学科。课程涉及计算机技术、信息处理技术、信息系统管理与分析、经济管理类课程。要求学生在知识结构上除了掌握扎实的管理科学、经济科学、计算机科学与技术、现代信息技术知识外,还应该具备较强的系统思想、信息系统分析与设计方法以及信息管理等方面的知识与能力。

“软件工程”是信息管理与信息系统专业的主干课程,也是一门指导信息管理与信息系统分析的课程,它在信息管理与信息系统专业的教学中占有非常重要的地位。但是,目前现有的针对信息管理与信息系统的“软件工程”教材大部分还是按照传统的分析和设计方法,没有融入当前比较先进的设计方法、设计工具,而且所选取的实例也没有融入先进的管理理念,所以对信息管理与信息系统专业的“软件工程”课程的研究和改革是非常必要的。

2信息管理与信息系统专业软件工程教学改革

传统的软件工程教学模式已不适合信息管理与信息系统专业的学生,需要建立一个符合社会发展需求、能够培养有优秀复合人才的教学新模式。通过几年的教学摸索,我们提出了“合理体系、多种形式、内容渗透、特色案例和实践、多形式考核”的教学模式。该模式采用产学结合、理论实践相结合的方法,在企业中建立研究基地同时与资深软件工程师和咨询师进行联合研究和实践,使学生能够掌握最先进的软件分析方法和工具;深入理解先进的企业管理理念;提高动手实践能力,保证了以后毕业设计的顺利进行和社会的需求。

2.1软件工程课程体系的合理构建

软件工程课程是信息管理与信息系统专业非常重要的专业课程。课程的培养目标应该以市场人才需求为导向,培养的人才应该能够为软件企业提供更为专业化的服务,满足企业的需求,从而增加企业的国际竞争力。因此,软件工程课程的教学内容也应该更为专业化,应该在跟踪国际有关机构对软件工程研究的新成果的基础上,不断更新教学内容,构建新的课程体系。软件工程课程主要涉及3个方面:技术与方法、工具与环境、标准与规范、过程与管理。教学过程既要考虑内容的连续性、继承性,又要考虑可理解性和可操作性。因此,课程体系和教学内容也应涵盖如下层面:

(1) 基本理论层面:介绍软件工程基本理论,包括基本概念、原理、方法和技术、工具与环境,等,其中传统的方法和技术等内容不能没有,但不能占用太多的课时,而对于新的技术和方法则应该花较多的课时加以介绍,安排合适的课程训练,如在面向对象的方法、项目管理方法、相关的开发工具和开发环境等方面。

(2) 技术管理层面:介绍软件管理的主要内容,包括软件项目管理、软件风险管理、软件质量管理、软件配置管理、软件过程管理等方面。主要以软件过程为主,包括美国的SEI的软件能力成熟度模型CMM/CMMI、ISO9000-3、国家行业标准《软件过程成熟度模型SJ/T11234》和《软件能力成熟度模型SJ/T11235》,等。

(3) 实践层面:软件工程实践,主要是让学生进行软件工程课程内容的综合应用实践。可以采用相对集中的课程设计、参与实际软件项目开发,以小组方式进行软件项目模拟,参与软件企业的软件过程改进等方式进行,必要时可以跨学期进行。

2.2软件工程教学内容的合理安排

为了保证教学的高标准,体现教学的科学性和完整性,我们应该在合理的软件工程课程体系结构基础上合理的安排软件工程教学内容。软件工程教学内容覆盖了软件工程知识体系中十个知识点,即软件需求、软件设计、软件构造、软件测试、软件维护、配置管理、工程管理、软件过程、工具和方法、软件质量。这些内容的教学被有意识、阶梯状地分配到学生四年的不同学习阶段,最后使学生具备知识的综合应用、融会贯通的能力。软件工程的教学内容安排如下:

(1) 加强对软件工程的认识:一年级的学生主要是公共基础课程的学习,但在一年级的计算机导论课中加入了职业发展和软件工程思想,使学生初步了解软件工程的思想、作用,加强学生的规范化意识。

(2) 加强编程规范:在二年级的程序设计课程中除了使学生熟悉编程语言,理解面向对象的概念外,还加入了模块化思想和编程规范的训练,通过加强软件工程中编码阶段的规范化训练减轻了以后的软件维护工作。

(3) 设计的规范化:三年级开设了数据库系统、软件工程以及大量的管理课程,在课程最后布置一个综合作业,这个作业以先进的管理理论为指导,以软件工程的思想规范系统的分析、设计。

(4) 工程化实践:四年级通过软件工程课程实习和毕业设计课程进一步强化软件工程的思想,通过实践进一步体会其重要性。

对于软件工程这样一门特殊的课程通过四年的阶梯状教学渗入,通过迭代式教学,使学生的分析、实践能力得到有层次、有步骤地提高。

2.3多种教学形式相结合

为了提高软件工程的教学质量和教学效果,激发学生的学习兴趣和热情,在教学中应采用多种教学手段提高教学效果。

(1) 多媒体教学:理论课采用多媒体教学手段,制作了大量课件。这些课件可以形象化地讲授软件工程基本原理,并且在同样的一节课内能比以前传授更多的知识。由于课堂时间有限我们将部分内容制作成课件供学生自学,以便于学生课外扩展自己的知识面。

(2) 网上教学:随着Internet的发展,网络成为人们获取知识的最重要的途径,在软件工程的教学中通过建立网站,为学生更好学习提供了一个平台。网站为学生提供学习资料下载以及相关业界信息;学生也可以通过网络进行在线、离线的交流,同时网站也经常开展课程的专题讨论和专家在线讲座。

(3) 双语教学:考虑到学生以后可能会阅读大量的外文资料,软件工程尝试实施双语教学,采用国外优秀的原版教材,课件和作业大部分采用英语作为工作语言,并鼓励学生使用英语进行交流;同时给学生提供英文的课外阅读资料,以使他们及时了解国际最新发展。

(4) 案例教学:考虑到信息管理与信息系统专业的特殊性,我们将案例教学融入到软件工程课程的教学中,通过案例的分析一方面加强学生对所学的管理知识的理解,另一方面使学生能深刻领会和理解软件工程的思想和方法。

(5) 实践教学:通过与企业合作,建立实践基地为学生提供实际的课题。这种方式提高学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,提高学生的综合素质(特别在基础技能、团队协作、资料收集、人际交流、项目规划几个方面),在就业中具备更强的竞争力,更加适合在现代软件企业中发展。

(6) 讲座:通过资深的专家、软件工程师的讲座,有利于学生了解当前的社会需求和前沿技术,为学生提供一个指导方向。

2.4完整的、体现先进管理理论的特色案例教学

软件工程讲授的原理、技术、方法都是抽象的,为了使学生能深刻领会和理解软件工程的思想和方法,在教学中将MBA的案例教学引到软件工程的课堂教学中,将复杂抽象的概念用具体生动的案例进行诠释,能够收到事半功倍的效果。在具体教学中,可以实施以下几个步骤:

(1) 设计一个典型的、完整的、具有先进管理思想的、实际的软件项目案例,在整个教学过程中结合该案例讲授每个知识点,将实际案例作为贯穿所有知识点的主线。该案例选择学生学过、当前流行的管理方法(比如ERP、供应链),最好来源于授课教师直接参与的软件项目或实习基地的项目,授课教师对其全部细节能够准确掌握,当然还可以与软件企业的资深的软件工程师和管理者合作来编写案例,使其具备实战性;另外,这些教学案例最好采用传统的以及目前流行的两种方法编写,并且要根据软件工程的发展对其进行不断的修改和完善。

(2) 布置讨论案例。在讲授完每个知识点后,安排一到两节的案例课,该案例不同于教学案例,可以针对各个知识点的特点设计多个案例,不要用一个案例贯穿所有知识点。案例的内容应具有目的性、典型性、真实性、复杂性和启发性。教师用描述性语言叙述案例,其中隐含着有待解决的问题及其所处的客观条件,学生通过认真阅读案例,并查阅有关资料,从错综复杂的现象中理出头绪,明确给定条件,找出主要问题并做好记录。同时,分析问题,制定针对性的措施,提出解决主要问题的可行方案,并对方案进行初步评价。

(3) 组织小组讨论。将学生分成五至六人的讨论组,由每位学生运用所学知识对案例作出分析和说明,提出解决的措施,重点阐述分析、设计的理由,然后,大家集思广义,小组内展开讨论,各抒己见,并由专人记录,讨论的重点是各个解决方案的相互对比和分析评价。最后,从各个可行方案中选出一个较为合理的解决方案,或者对所有方案进行整理和归纳,得到一个最佳方案。

(4) 小组代表发言,集体讨论。每个讨论组派一名代表上讲台,讲述本组对案例的理解、分析、判断、论证和决策过程,说明解决问题的方案和分析设计结果。对于同学的发言老师要围绕题目给予必要的引导,鼓励他们多角度、多因素地观察分析问题,培养学生的知识迁移和拓宽思维的能力,启迪他们学以致用的创造意识。然后,组织全体同学进行分析、讨论、评价,对于非确定型的决策问题,同学们往往存在着意见分歧,结论很难统一。这一过程可以增加学生对软件开发项目的感性认识和兴趣,提高他们分析问题和解决问题的能力。

(5) 教师总结。在案例讨论结束时教师要进行总结,但总结的重点不是对案例分析所做的结论性意见。因为,解决案例问题的决策方案不是唯一的,所以教师的总结应是就整个讨论情况作出评价,对正确的论点给予肯定和完善,指出一些带有倾向性和原则性的问题,特别是对某些问题可以更深一步的思考,进行启发式的诱导。

案例教学法通过案例贯穿软件工程各知识点的讲授,将枯燥的理论与实际紧密结合,变抽象为具体,帮助学生充分理解和掌握各知识点;通过组织学生参与案例讨论,要求学生从真正工程师的角度来分析问题和解决问题。正是这种参与性的学习方法,才使学生有可能成为未来优秀的人才。

2.5合理的实践安排

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生,因此,实践是这门课程的一个重要环节。课程实践一般集中安排在课堂教学结束后,但是,在把握教学进度的同时,必须及早布置课程设计题目,让学生边听课边实践,使其有相对充裕的时间收集相关资料和进行独立思考,及时消化理论知识并应用于实际,探询问题的最佳解决方案。课堂学习结束后,进入集中的课程设计阶段,对上一阶段的工作成果进行补充和完善,编写各阶段的工程文档,实现系统并测试,最后总结设计得失。

课程设计应以团队合作的方式进行,每个小组4~6人,在优差生搭配的前提下自由组合,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,小组成员角色可以互换。以团队合作的方式协同完成项目开发。这些项目都是从实际合作基地的项目。设计过程学生相对独立的完成,需要学生在熟悉UML的面向对象软件开发方法后,能够通过Rational Rose针对实际应用问题构造UML模型,教师采用点拨方式或共同探究的方式进行指导。设计小组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同,在研究问题找出规律的过程中创造性地学到了知识,创造能力、应用能力、综合能力和交流合作等都得到充分的发展。在课堂讲授的同时及早布置课程设计题目,避免了理论学习与实践应用的脱节,提高了学生课堂学习的认真程度,同时也提高了课程实践的效果。同时每个阶段要有成果展示和相应的文档资料。最终应提交成功运行的产品及全部文档。

2.6多形式考核方式

软件工程是一门实践性非常强的课程,考核的重点不应该只是理论考试,而应该看学生是否掌握了软件工程学的思想和方法,另外考核的功能不仅是检验学生学习和掌握课程的情况,更重要的是鼓励和督促学生学习的主动性,因此软件工程的考核注重学生综合知识和应用能力方面的考核,我们的考核方案是:平时作业5%,课堂表现(发言与讨论)25%,案例分析(小组模式)40%,笔试30%,课程的实践单独考核。采用这种考核方式,可以避免学生对知识的死记硬背,转而重视对知识的理解和运用,课堂发言踊跃,对学生学习的主动性和创造性思维具有很大的促进作用。

3结论

总之,针对信息管理与信息系统的专业特点改进软件工程的课程教学,必须针对其实践性强、发展迅速的特点,根据管理模式、软件行业需求的变化不断更新教学内容,设计合理的课程体系、教学方法,产学结合、理论与实践相结合,在突出课程基本理论和概念知识的同时,更侧重于对学生的软件工程应用能力的培养,运用有效的教学手段,建立良好的教学环境,培养学生的学习兴趣,提高学生学习的主动性与创造性。该课程的目标是培养适应社会需要的高素质的复合型人才。

参考文献

[1] 骆斌,张大良,邵栋. 软件工程专业的课程体系设计[J].中国大学教学,2005,1.

[2] 万江平,安诗芳,黄德毅.软件工程知识体系指南综述[J].计算机应用研究,2006,10.

[3] 王志平,张毅,童华,李烈彪.软件工程实验室建设和实验教学的探索[J].实验科学与技术,2006,12(6).

[4] 沈备军,顾春华.软件工程教学模式的研究和实践[J].计算机教育,2005,1.

[5] 尹锋.软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006,9(5).

[6] 牛丽,.基于UML的ERP开发方法研究[J].长春大学学报,2006,2(1).

收稿日期:2007-09-01

篇9

关键词:数字图像处理;工程硕士;应用型研究;应用型技能;软件工程

软件工程专业工程硕士研究生与传统的学术型研究生有所不同,前者主要面向企业人才需求和应用软件开发需求进行培养,因此在课程内容选取、授课方法设计和实验环节设计上都需要进行思考和调整,这也是北京林业大学在申请到软件工程专业的工程硕士学科后重点研究的問题。

数字图像处理课程属于图形图像应用领域的重要基础理论课,长久以来课程内容主要介绍基本的图像处理算法以及少部分图像分割和图像识别,对于图像处理在实际生活中所涉及的很多前沿科研领域介绍较少,因此很多研究生无法将课堂讲授的理论知识与其后续从事的研究课题有效地关联起来,感到课堂中讲授的很多内容看起来毫无用处,从而丧失了学习的积极性。

很多教师认为把图像处理中的算法研究透彻、把基础打好对研究生非常重要,但是这忽视了研究生是有着极强的科研探索精神和丰富想象力的年轻一代。如果将一些在生活中涉及图像处理的問题交给他们进行探索,将会激起他们浓厚的学习精神和创造力,这种没有标准答案的应用题目可以进一步锻炼他们的思考能力。

为此,在课程的教学方法和实验内容设计上,我们重点培养学生以下两方面能力。

(1)应用型研究能力,包括发现問题、分析問题和解决問题的能力;

(2)应用型技术能力,包括编程设计能力和项目合作能力。

下面笔者分别从教学大纲、教学方法设计和实验内容设计3个方面进行介绍。

1.数字图像处理课程教学大纲

我们在设定教学大纲时,重点参考了多本数字图像处理方面的经典教材,如杨枝灵和冈萨雷斯编写的教材。结合之前的教学经验,同时注意与本科生课程相区别,制订了两个原则:加强中高级图像处理算法的介绍;增加利用图像处理算法的应用案例的介绍。中高级图像处理算法主要指图像分割算法、图像特征提取方法和运动检测方法。同时我们还在课堂上给出一些应用案例,进一步帮助学生将理论知识与实践相结合。

数字图像处理课程目前作为北京林业大学研究生的专业必修课,总学时为32,其中课堂讲授24学时,实验8学时。相对于其他学校,这门课程的总学时和实验学时数不多,我们设计的教学内容如表1所示。

2.数字图像处理教学方法设计

针对培养学生应用型研究能力的目标,我们在教学方法设计上本着激发学生的学习兴趣,开阔学生眼界,给学生提供更自由的思考空间的原则,通过下面两个措施来实现我们的目标。

2.1精心选择案例

选择的案例要贴近实际生活,并与课堂上讲授的方法紧密衔接。例如,在讲解图像增强和复原这两章之后,我们引入在实际生活中常见的“图像去雾”問题,通过如下方法,培养学生研究能力。

(1)要求学生先尝试用学过的算法来解决这个問题,并在课堂进行算法讨论,给出算法结果。

(2)要求学生针对具体問题,查阅文献资料,了解别人的解决方法。通过查阅国内外的文献资料,同学们知道了如何根据关键词查询科研论文,了解哪些电子数据库中有与专业相关资料,知道了文献的级别有SCI、EI、核心期刊、一般期刊等。

(3)学生将查到的算法进行分类和总结,撰写文献综述。

(4)每位学生都需要编程实现“图像去雾”算法,这个算法是结合自己的思考、实践以及查阅文献的结果。

通过自己动手,同学们发现如果图像的清晰度不好,有噪声,或者没有归一化,结果就完全不同。通过自己动手验证,同学们会发现图像处理领域的一个最为重要的特点——任何算法主要都是针对一类图像或是针对一类問题而设计的,因此在算法的适应性上需要有所考虑。

2.2全面介绍图像处理的各个应用领域

老师在课堂上介绍几个图像处理涉及的较为重要的应用方向(如视频监控、图像检索、人脸识别、运动检测、车牌检测等)后,将同学们进行分组,每组负责查找一个应用方向的相关资料,讨论和汇报自学的结果。汇报内容主要包括:①应用方向的介绍;②涉及的主要問题;③目前的解决方法及应用成果。

通过查找文献,同学们不仅对课上学习过的经典算法有进一步了解,同时还接触到很多新算法。通过听取各组汇报,同学们在较短的时间里,了解了图像处理涉及的多个主要的应用领域。针对每个应用研究领域,老师引导学生分析该领域的难点和重点,提出問题,再让学生思考解决方案,没有标准答案,只希望能够锻炼学生的思考能力。以“人脸识别”为例,有很多经典的或较新颖的算法,老师会结合应用领域对其中常用的或比较重要的算法,如PCA方法和Adaboost算法,进行详细讲解,使学生全面了解图像处理算法的应用领域。

3.数字图像处理实验内容设计

针对培养学生的应用技术能力的目标,同时考虑到本课程实验学时数较少,我们设计了两个实验——基础性实验和综合性实验。

3.1基础性实验

目前很多经典的图像处理算法是用vC++程序实现的,我们要求大家学会读程序,能够看懂已有的算法实现程序,并在此基础上能开发新的功能。

实验一:实现对多种图像格式的支持(2学时)

实验内容:采用VC++编码实现,基于CDib类,添加支持打开,并保存多种图像格式的功能。包括JPEG和GIF。

实验要求:利用学习的图像压缩的知识,利用现有的编码解码库实现对IPEG和GIF图像的打开和保存。

实验目的:了解多种图像格式,编写针对多种图像格式的读写程序,能够进一步理解针对图像的编程的特点,同时也进一步了解开发图像应用程序的适应性問题。

老师在课程初期会向大家介绍图像处理的一个公开库——CDib类。该类很好地封装了图像的数据结构,涉及很多图像的基本操作。我们知道现实生活中的图像常常都是压缩格式的,如BMP、JPEG、PNG、GIF等。因此在讲完图像的压缩格式后,对照讲过的BMP图像结构,老师要求学生为CDib类添加能够支持多种图像格式的功能。以GIF图像为例,它不同于如JPEG、PNG等格式,GIF采用的是LZW压缩算法,使用的是无损压缩技术。GIF图像的特点是可以一次压缩多幅图像,图像颜色表控制为256色,使用渐显方式。

3.2综合性实验

针对综合性实验,我们会拟定多个题目让学生选择,如树叶提取、花朵提取、车牌识别等。

实验二:数字号码图像的识别(6学时)

实验内容:采用VC++编码实现,基于CDib类,针对数字号码图像,识别出数字,给出文本显示结果。

实验要求:将该题目进行分解,划分任务;组内每个同学负责一部分任务的编程工作;每个人针对自己负责的工作至少提供两种实现方法,并放入整个项目流程中验证这两种方法的有效性;最后总结出两种方法的异同以及适应的范围。

实验目的:考查学生对数字图像处理应用中每个步骤的掌握程度和项目合作沟通能力。

上述实验涉及以下几个步骤。

①图像的预处理;

②图像的分割;

③图像的特征提取;

④图像的分类。

组中每个学生负责一个步骤,所有步骤都需要尽心设计,这样整体的效果才可能最好。同时大家需要协商各自负责模块的人口和出口的数据结构,保证数据能够在模块之间顺利流转。这种协商和分工合作的能力是软件工程专业最需要的技术能力之一。

以“数字号码图像识别”为例,该题目可以分割成4个步骤:预处理、数字图像切分、数字图像特征提取和数字识别。在每个步骤中都有分别需要注意的問题,如在预处理阶段,需要对图像进行去噪声,增强对比度,甚至需要进行膨胀和腐蚀将图像中断裂的数字部分连通起来;在数字图像切分阶段需要制定适应性广泛的切分策略来应对各种情况,如数字排列可以呈现任意的倾斜角度,或数字字符相连等;在数字图像特征提取阶段,我们可以考察每个数字图像的自相关系数特征,或者每个数字图像的频谱特征,也可以考察数字图像的几何拓扑特征,如将数字图像分成2个洞的(8),1个洞的(4,6,9,0),没有洞的(1,2,3,5,7),针对每个类别再提取新的几何特征;在数字图像识别阶段,可以采用神经网络的分类器,或者利用制定的一些分类策略来分类,或者采用主成份分析(PCA)的方法来识别。

4.结语

两年多的教学实践表明,新的教学大纲、授课方法和实验内容有利于激发学生的兴趣,使他们带着問题去学习,从而加深了对图像处理应用领域的了解,锻炼了编写程序和协作开发的能力。下一步我们将设计更多合理有效的案例和综合性实验,力图通过这门课激发学生的创造力。

参考文献:

篇10

关键词:框架类课程;J2EE;整合教学方法;软件工程

0、引言

随着计算机应用的普及和开源编程语言的广泛应用,在实际的程序设计中,很多地方都在使用程序开发的基础框架。以JAVA开发语言为基础出现的框架有上百种,其中比较流行的三大框架为:STRUTS、SPRING和HEBERNATE。这些框架在实际应用开发当中被广泛使用,并在高校教学中作为专业方向课进行教学。例如在软件工程专业的软件开发技术J2EE方向,就有这些框架类课程的设置:基于MVC的WEB开发(STRUTS)、ORM框架原理与应用(HEBERNATE)和轻量级J2EE框架SPR/NG。

1、框架类课程的特点

在框架类课程中,有些是讲某类框架的原理,例如基于MVC的WEB开发就是介绍MVC设计的原理,主要讲解MVC的设计思想;ORM框架原理与应用同样是讲解一个框架的原理;而轻量级J2EE框架SPRING就是介绍具体的某个框架。在其他的课程中,也有基于某个框架进行的程序设计,如,NET平台下Windows程序设计、Android平台移动云计算开发;也有些课程是部分依赖于某个程序设计框架,如面向对象程序设计(VC++)中就会介绍MFC的使用,MFC是程序设计的框架基础。

这些框架类课程都有一个共同点,就是先要把握框架的核心,把框架的原理介绍清楚,让学生明白框架的应用价值、能给程序设计带来怎样的好处,然后再通过具体框架实例向学生说明框架的好处。在框架类课程教学中,要向学生强调对框架原理的理解与掌握,通过实践来提高动手能力,使学生明白在应用中该如何用以及何时用,这就是框架类课程教学当中的“厚基础、强实践、重应用”。

2、框架类课程教学中的误区

在各个高校中,框架类课程开设较多,但在各框架类课程教学中,缺少统一规划,多门课程之间存在内容重叠,学生的学习效果并不理想。框架类课程的教学过程存在的主要问题包括3个方面。

2.1 重理论轻应用

该问题在本科院校的实践教学中比较普遍,教师一般只注重原理教学,而轻视理论在实践中的应用。造成该教学局面的原因是多方面的,首先,教师在教学的过程中认为在课堂上把原理讲明白就够了,实践动手是学生自己的事情;其次,教学环境与教学时间的约束使框架类课程在本科院校中一般属于方向选修课,学时较少,在有限的时间内不能过多地涉及到框架的应用方面;最后,现在高校的教师大多是“从学校到学校”,没有实际项目开发经验,在讲解框架应用时,往往会“避而不谈”。

2.2 多门框架类课程间教学内容重叠

在多个不同的框架类课程中,会存在共同点,有些框架类课程之间的基本原理相似,其区别仅仅体现在某些应用当中,这就需要在教学内容上进行整体规划,在框架类课程中经常会出现的问题是在每门框架类课程开始时,都会介绍程序设计框架带来的好处。

2.3 教学案例之间缺少关联

在每门框架类课程教学中,一般都会介绍一些案例,这些案例往往都是孤立的,多门课程之间的案例缺少关联性,学生没有整体概念,知识点之间不能有效整合。

3、框架类课程在教学过程中的整合

框架类课程是软件工程专业最重要的课程之一,在这类课程中包含了许多具体课程:基于MVC的WEB开发(STRUTS)、ORM框架原理与应用(HEBERNATE)、轻量级J2EE框架SPRING、NET平台下Windows程序设计、Android平台移动云计算开发等。在这些课程教学中,要通过对4个方面的整合来提高教学质量,提升教学效果。

3.1 教学方法的整合

提升教学效果应从教学方法人手,大学的学习是自主学习,教师在教学过程中需要告诉学生应如何学习,用什么样的方法学习,这就涉及到教学方法的问题。在框架类课程中,一般强调框架的原理与框架的应用,在课堂教学中主要讲解框架的原理,在原理的讲解中可以采用案例教学法或对比教学法,通过具体案例应用与对比,学生真实感受到框架在程序设计中的好处。任何事物都有利有弊,框架也不例外。在框架类课程教学中,教师应该明确告知学生在使用框架时可能会带来的弊端。只有让学生深刻理解框架的两面性,才能在以后的实际应用中对具体问题具体分析。例如在基于MVC的WEB开发当中,使用框架的确可以使程序代码明确分层,降低程序模块之间的耦合性,提高程序的可维护性和代码的健壮性,但整个代码的难度相应增加,直观性降低。所以要把握在应用中根据要解决的问题来选择框架,不要盲目使用。如果学生在学完框架的时候,说不出该框架的缺点,那就是没有学会的表现。

3.2 教学内容的整合

教学内容在各框架的教学中,都是教学的重点,也是该课程的核心。在各框架中,都有自己的核心应用及强势所在,同时也不可避免地会与其他课程在内容上有重叠,这就需要在教学内容上有所侧重和删减。在框架类课程整合的教学方法当中,每门课程的教学内容设计不能孤立,应在教学设计上把该专业方向的多门课程综合起来,合理分配,认真考量该专业方向应包括哪些知识点以及每个知识点应该放在哪门课程中讲解,均匀分配每门课程的重点与难点,对每门课程的难度以及课程之间的前后依赖关系进行合理设计。

3.3 理论与应用的整合

在框架类课程的教学当中,要注重框架原理介绍,但理论不空洞,要以框架实例为基础。以软件开发技术J2EE方向的三大框架为例,基于MVC的WEB开发主要讲解MVC的设计模式优点及在应用中如何进行MVC的分层,要结合某个具体框架,例如可以采用STRUTS2。在教学实践活动中,具体采用哪个框架要根据目前软件开发中哪个框架应用范围最广泛、流行度最好,同时要结合教学的难度和学生的实践情况来选择框架实例。

3.4 教学案例的整合

在每个框架的授课中,教师会通过具体案例来进行该课程的知识点和应用点的整合,往往能够把该课程的知识点整合到一个具体的案例中,但在多个框架学习完成后,学生对框架并没有整体概念,在实际的应用中,往往是多个框架整合应用,这就需要在多门框架类课程的教学中,对教学案例进行整合,能够通过一个大的案例把多门课程的知识点和应用点贯穿进来,并通过对比让学生形成整体概念,加深框架类课程知识点的理解,提高其实际动手能力。例如在软件开发技术J2EE专业方向中,可以采用“学生档案管理信息系统”,在讲解基于MVC的WEB开发课程时,可使用STRUTS2框架进行该系统的实现;在讲解ORM框架原理与应用课程时,可以把HEBERNATE框架添加进来,通过对比使学生清楚地看到所使用框架的好处。当然在其他的课程讲解中,可以继续使用“学生档案管理信息系统”案例进行知识点的讲解,这样学生就减少了对项目背景以及项目需求的了解,可以将重点放到课程知识点的理解上。