以行业、企业实际对人才需求为引导,软件工程专业毕业生真实就业情况调查为依托,地方高校软件工程专业课程一线教师众多教学研究成果为参考,专业教师在企业挂职学习经验体会为借鉴,围绕地方高校软件工程专业课程教学体系存在事实问题,来对地方本科院校软件工程课程体系建设进行设计建设。设计建议如下:
2.1学科建设
2.2校企办学
学科建设以输出满足行业、企业需求合格的应用型人才为目标,通过校企联合办学,对学生进行定向培养、训练,专业课程体系嵌入资格认证课程模块,实训课程以企业开发项目方式贯穿培养环节以达到提高专业人才的实际动手能力。
2.3师资建设
3三层结构课程体系建设
软件工程专业课程体系建设以工程教育理念为指导,项目实战为背景,社会需求为导向,提高学生专业素养、理论知识体系以及实践能力为宗旨。学生完整地专业培养环节结束后具有程序设计,系统分析,软件设计、开发,项目管理,网络和移动通信终端应用开发能力。课程体系模式结构如图1所示。
3.1基础理论由公共基础课程和专业基础课程构成:①公共基础课程主要涵括地方高校各现行必修公共课程,②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。
3.2专业理论以市场对人才需求为导向、行业最新前沿技术为引领、专业骨干课程为核心、专业素质全面拓展和综合素养整体提高为目标来对专业主干课程进行建设[3],主要包括以下几类课程:
3.2.2计算机编程与算法设计能力课程算法设计类课程主要包含离散数学、数据结构、算法分析以及数据结构课程设计等方面的课程;编程课程主要包含C语言程序设计、面向对象程序设计等传统程序设计语言课,还包括当下企业应用最为广泛的,最流行的技术前沿课程。
3.2.3软件工程专业系统分析课程系统分析能力课程主要包括操作系统、计算机网络,软件工程、数据库原理等系统类课程。
3.2.4系统实现与集成能力课程系统实现与集成能力方面课程主要包括网络编程、移动互联开发编程、编译技术、软件开发以及软件测试等课程[4]。
3.3实践以校企联合培养为手段,一至两学年时长为周期,贴近企业实际需求为指导,综合技能全面提高为目的来对专业学生进行实践能力培养,方式如下:
3.3.1校企共同建设实训课程以项目介入为主线,企业实际效益项目和高校产学研项目为实际授课主体。引进企业优秀项目人才或具有企业项目实战经验的教师来对专业人才展开课程实训,全面提高学生专业技能水平,综合素养。校企共同培养模式不但能够提高学生工程实践能力,知识转化生产实际速度,同时反向激发学生探究、学习知识的热情,最终提高就业竞争力[5]。
3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。
3.3.3校企合作运用项目方式指导学生做毕业论文(设计)毕业论文(设计)是对学生的专业知识掌握程度与提升高度的一次全面的考核,同时也是培养学生综合运用所学知识,独立地分析问题和解决问题的能力的一次全面的实训。但是传统的教育模式导致大多地方院校工科专业学生毕业论文流于形式,与实际脱节。通过与企业合作运用项目方式指导学生做毕业论文(设计)弱化学生对毕业论文(设计)的抵触情绪,可以进一步让学生了解行业企业实际运作规范及最新技术,进一步加强对学生实践和技能能力的培养,为毕业后从容就业夯实基础。
4结语
自2012年以来,宿迁学院软件工程专业进行了3+1教学改革,此番改革不仅仅是在后面的1年中让企业深度参与到教学培养过程中,还将前面的3年课程尤其是专业课做了工程化改造,对课程教学进行了深度改革。本文以宿迁学院软件工程系课程为例,探讨了传统教学模式中存在的问题,分析了我校引入翻转课堂教学的基础条件,介绍了我校的数据库系统原理课程应用翻转课堂的教学模式。
一、应用型本科院校引入翻转课堂教学的必要性
(一)应用型高校对软件工程专业人才培养的要求
应用型本科院校的软件工程专业,应力求在遵循统一指导方案的同时突出与应用型人才培养相适应的知识结构特色以及课程体系,以培养适应市场需要的应用型软件专业人才。宿迁学院正处于应用型本科高校建设发展阶段,按照教育部的卓越工程师教育培养计划[3]要求,我校软件工程系积极探索并建立了3+1人才培养模式,对课程设置、教学形式等进行了调整和改革,强化了企业的深度参与性培养以及学生的工程能力和创新能力的培养,着力打造一批批能直接上一线工作的本科高素质应用型人才。
对于软件人才的培养,进行引导性、启发性以及贴合实际的实践训练是很有必要的,为此,我校软件工程系加强了课程改革建设,从课前、课中、课后多角度改进教学方法,让学生提高自主学习的能力,通过对知识点的内化转换为自身的实际技能。在这种背景下,教学模式的改革就呼之欲出了。
(二)传统课程教学模式中存在的问题
以我校软件工程系的大多数专业课程教学为例,大多的理论和实验课都是按照传统教学模式开展教学的,理论课主要是以教师讲为主,上机实验围绕课堂上讲解的案例,学生按步骤操作完成,教学方法单一。
这种传统的教学模式存在有不少弊端[4],课堂教学效果不佳。课堂上仍是以老师教授为主,属于填鸭式教学,学生难以主动融入,学习效果不好,不利于培养学生的实践和自主学习能力。学生在实践课上主要是围绕理论课上的案例进行学习,这样就不能让学生自主发挥和进行创新性的深入学习,属于被动式的接受知识,也不能进行个性化教学。受实验室使用的局限性和课时的影响,学生在2~3节上机课上无法完成一些复杂的环节,如从系统建模的角度对数据库项目系统进行需求分析、软件设计等。
这些教学问题成为制约课程建设、学生能力培养的瓶颈,所以探求一种新的教学模式成为我校软件工程专业课程改革的必然趋势。
(三)翻转课堂教学模式的引入
翻转课堂教学模式下,教师在课前进行知识传递[5]即教师按照教学内容的知识点进行细化、整理,录制小视频,学生课前观看视频教学,在此过程中教师还可对学生进行在线辅导。课堂上,主要是进行知识的内化[5],教师根据学生前期学习的困难情况组织课堂教学,主要采用引导式、研讨式教学方法给予辅导,促进学生知识的内化。课后,通过项目练习等作业形式达到让学生巩固知识的目的。翻转课堂教学模式充分发挥了教学中学生的学习主体性,加强了学习中的互动性,让学生获得了个性化教育,真正达到了以学生为中心、因材施教的教学效果。翻转课堂教学模式的出现,为我校软件工程系3+1教学改革带来了新的思路和方法。
二、翻转课堂教学模式实施的基础
(一)教学内容及方法的改革
教学内容的选取应注重理论联系实际,要根据企业和市场对软件人才的需求,将重要的知识点和相应的技能训练联系起来进行讲解和实践。例如,教学数据库系统原理课程,在讲解知识点时可以用学生成绩管理系统、图书管理系统、题库管理系统等为载体设置教学内容,以项目驱动教学,将理论知识融入项目开发中,通过项目案例的分析、设计来启发和引导学生去思考和建模,让学生了解数据库课程的原理最终要如何应用到项目实践中,同时锻炼学生独立思考和创新的能力。而上述的教学内容和方法的改革与翻转课堂教学的理念是一致的,这样就为专业课程构建翻转课堂教学提供了改革的基础。
(二)信息化网络平台的保障[6]
我校有泛雅网络学习平台,该平台为实施翻转课堂教学提供了便利的支撑。教师可以在网上课件、教案、视频等教学资源,可以根据知识点布置任务、作业,与学生交流讨论并提供答疑,还可以进行阶段性的测验等。该平台还有手机APP端,学生可以随时随地进行同步自主的学习。泛雅网络学习平台为数据库课程翻转课堂教学提供了软硬件环境的保障。
(三)学生自我学习的能力的保证
文献[7]调查显示了大学生自主学习状况,其中64.13%的学生能主动完成学习任务,22.34%的学生能在教师督促下完成学习任务。我校的定位是培养应用型人才,学生大多要通过在校专业课程的学习掌握知识和技能,然后能直接到一线工作,所以学生的学习需求性和主动性较强。学生根据各自对专业课程的学习需求定位,对所学的知识点的学习要求也有所不同,翻转课堂教学的实施可以保证学生利用碎片化进行个性化学习。
三、翻转课堂教学模式的实施构建
在翻转课堂教学模式的实施构建中,以我校软件工程系实施构建的数据库系统原理翻转课堂教学为例,在课程开始时做好小组分配,因为软件专业的学生大约有50人左右,所以每班就分为10个小组,每个小组配有相应的组长,负责组织和督促小组成员的学习和集中性的讨论。[8]
(一)课前的知识传递和自主学习[9]
学生在课前自主查看和学习,并根据自身的学习和掌握情况制订学习进度,下载教师事先准备好的教学资源。为了确保学生的课前学习效果,在进行任务点设计时,都会有相应的问题设计,这些问题也要体现出层层学习、循序渐进的过程,要求学生回答部分或全部的问题,在此过程中教师可对学生进行答疑和引导性指导。例如,在基本术语任务点中,教师提供了5个选择题、5个填空题,让学生在看完视频后完成小作业,教师通过网络学习平台上统计的作业成绩开始设计课堂教学环节。
(二)课堂知识点的内化
翻转课堂的核心就是要使得学生最大限度地内化知识点,因而在课堂教学中需要学生高度参与。进行数据库理论教学时,首先在刚上课时我们会让学生进入泛雅手机APP端,要求学生现场完成10~15题的选择题。这些选择题的设计难度要超过学生在自学时的作业难度,题目设计要体现出由浅入深的过程,且要能够体现出这次课的重难点,学生在做好后直接能看到自己所错的选题以及正确的答案,也就明白自己所学知识点哪些掌握得不透彻,继而在课堂中就知道自己要特别注重哪部分知识点的理解了。而教师可以利用统计功能查看到每题做错的人数,教师会根据错误结果对共性的一般知识点做统一示范讲解,对扩展性知识做引导性、启发性讲解,对个性问题进行小组化指点。
实验课的翻转课堂教学采用的是项目训练研讨式[10]教学,教师也是先提供实验内容的基本素材,和理论课程的翻转课堂教学模式相似。不同的是,实验操作中教师是通过小型项目驱动教学的,这些项目既要覆盖教学目标,又要有拓展训练的余地,对于设计性、综合性的实验可通过小组分工协作完成。教师通过实验课上各个小组的进程和面临的问题进行小组个别化指导。
(三)课后的巩固复习
经过了课前自主学习、课中知识的内化,大多数学生都能掌握重难点了,但学习是需要温故而知新的,所以翻转课堂教学中教师要及时对知识点进行总结,让学生能将内化的知识外化为自己的技能应用。我们在泛雅网络平台中按章节设置了考试和测验,测试的结果学生会直接看到,然后对于一些不能自我理解和消化的知识点,学生也可以在讨论区中阐述对知识点学习的困惑或新的认识等。经过这样一轮完整的学习,学生就能真正掌握专业知识,并且最大限度地做到了学以致用,达到了翻转课堂教学的最终目的。
2课程体系在专业建设中的位置
通过调研、走访、学习名牌大学、重点大学、国家示范性软件学院的经验和做法,总结财经类院校软件工程专业的建设,根据自身的特点和实际情况,依托财经类院校在经济、会计、管理等方面的专业优势,建设具有鲜明财经特色的学科专业体系,总的建设方案指导思想是:“整体设计、分布实施、发挥优势、突出特色”。建设的内容包括师资配置与建设、实训环境建设(包括实验室和实训基地)和课程体系建设。对于课程体系建设,主要从以下几个方面进行:梳理课程关系、夯实课程内容、教学方法建设、课程教材建设和实践体系建设。为保证软件工程专业建设质量,构建质量保障与反馈体系,总体建设结构如图1所示。
3课程体系主要建设内容
(1)梳理课程关系。通过划分课程群,梳理以软件工程为主线的课程之间的关系,重新梳理和制定大纲,确保基础课、专业基础课和特色专业课知识衔接合理,保障知识体系的连贯性,避免知识点缺乏或知识点重复,以及知识体系不连贯等问题。
(2)夯实课程内容。通过梳理好的课程关系,筛选课程内容,保障课堂内容充实。为增强对课内内容的巩固,在课外开展“软件工程设计大赛”、“数学建模大赛”以及认证类课程等作为补充,促进学生的主动学习,提高学生的基本技能和软件开发素质。
(3)教学方法建设。按课程群划分,组织同类课程组教学方法和教学手段的研究。改革现有的、传统的课堂教学方式,精炼教案内容。以培养兴趣、激发创新激情为出发点,加强案例教学和实践环节,通过增加案例教学、添加社会和企业需要的专业技术课程,从而最大限度的发挥实践实训课程的作用,真正使学生体会和做到学以致用。
(4)课程教材建设。以软件工程为主线的课程群体系研究的同时加强教材建设。目前采用“内编外引”的方式,做好教材的自编与挑选工作。在软件工程类课程中的教材都要求是重点教材,规划教材或原版外文类教材,选择质量高、特色鲜明的教材。
(5)实践体系建设。建立起更加完善的、与课程群体系相适应的实验、实训、实践教学体系。实践训练课程划分五个层次,分别为基本训练、基础理论训练、专业训练、工程训练和创新训练。使实践类课程涉及到的理论由浅入深,程序规模由小到大,开发队伍由个体到团队。实训环节中还考虑了加强与企业的合作,将企业的资源优势与学校的理论知识优势充分结合,共同设计和建设课程群中的实训项目。
4解决的关键问题
(1)把握主线与特色的关系。目前已有多个示范的软件学院,软件工程专业根据目标不同,有向高层次培养也有的向国际化目标培养。如何地足于地方,结合财经类发展特色,对课程群内容进行筛选和改革是解决的主要问题之一。目前特色软件工程专业建设的方针是首先确立以软件工程为课程群的主线,保障基础内容的涵盖和衔接。另一方面,结合财经学院特点,在开发案例、管理项目和课程选择上体现特色,如面向金融软件开发实践,因材施教培养实践动手能力,开设《软件项目管理与工程经济学》等课程内容。
【关键词】软件工程;专业建设;课程设置
目前,我国软件工程本科专业建设的成果有目共睹,但同时也存在人才适应性、实用性差等问题,课程设置与市场需求脱节成为顽疾,不利于学生实践能力的培养。21世纪是一个以知识经济为主的时代,人才作为企业竞争的核心,其战略地位不言而喻。然而,软件工程本科专业建设存在的一系列问题,直接影响了人才培养水平,限制了软件产业发展,其创新与优化工作至关重要。
一、软件工程本科专业建设的现状
近年来,随着我国高等教育的普及化发展,软件工程本科专业建设大肆扩张,并取得了一定成效。但是在实践过程中,软件工程本科专业建设依然存在不少问题,具体体现在以下几个方面。
二、促进软件工程本科专业建设的实践策略
软件工程本科专业建设实践成果,受诸多因素的影响。结合分析,有针对性地提出了以下几种软件工程本科专业建设实践策略,以供参考和借鉴。
【参考文献】
[1]唐剑梅,钟世芬.软件工程专业建设的探索与思考[J].计算机教育,2012,8:15~17
中图分类号:G642
摘要:针对传统课程体系难以满足工程型人才培养需要的问题,提出借鉴德国FH模块化教学成功经验,将传统的按学科知识体系构建专业课程体系转变为按专业能力体系构建专业模块体系的思路和方法,并探讨基于模块化教学课程改革的主要措施。
关键词:应用型人才培养;模块化教学改革;借鉴德国经验;FH模块化
1背景
以高级应用型人才为培养目标的德国应用科学大学(Fachhochschule,简称FH)是德国工程师的摇篮。作为一种国际公认的应用型人才培养模式的成功范例,FH应用型人才培养的成功经验对我国探索应用型本科教育规律,构建应用型本科教育培养模式具有重要的参考价值与借鉴意义。
2模块课程改革思路
借鉴德国FH工程型人才培养成功经验,打破原有的课程体系,构建覆盖本专业卓越工程师人才培养标准的模块化课程体系,实现对原有课程的整合优化。
(2)围绕模块能力培养目标,设置模块教学内容。依据模块的培养目标有针对性地构建教学内容,将传统的课程改造为面向特定能力培养的模块。同时,整合传统课程体系,实现模块教学内容的非重复性。此外,充分发挥合作企业所具有的工程教育资源优势,与企业共同开发和建设具有综合性、实践性、创新性和先进性的企业学习模块。
(3)融合多种教学形式,使理论教学和实践教学紧密衔接。通过将课堂教学、企业学习、研讨、项目、实验、练习、第二课堂和自主学习等不同的教学形式引入模块化教学环节,实现理论教学与实践教学的紧密结合,强化对学生工程能力和职业素质的训练。
3模块化课程改革的具体做法
3.1制定专业培养学校标准
合肥学院在国家通用标准的指导下,借鉴教育部高等学校教学指导委员会编制的《计算机科学与技术专业规范(软件工程方向)》,围绕专业人才培养目标,与企业联合组建专业指导委员会,通过在软件行业领域领军企业中广泛深入地调研,确定本专业适应的岗位群以及对专业人才知识、能力和素质的需求,与企业共同制订本专业的学校标准。学校标准从科学知识、专业能力和综合素质3个角度全面涵盖了卓越工程师人才培养规格和要求。
3.2构建“模块化”课程体系
根据前期制定的专业培养学校标准,构建适合专业发展的课程体系。近年来,“模块化”课程体系被广泛应用于德国应用科学大学,较好地解决了课程设置的体系化问题、理论教学与实践教学的衔接问题、工程素质教育与专业教学的关系问题以及学生能力的培养问题。
“卓越工程师教育培养计划”对卓越工程师的_各种能力提出明确要求,在课程体系整合重组过程中,应把能力培养体现在每门课程之中,贯穿于整个课程体系;因此,德国的“模块化”课程体系改革理念对于卓越工程师人才培养具有积极的借鉴意义,通过推行模块化课程体系,将有助于卓越工程师人才各种能力的培养。自1985年来,合肥学院已与包括汉诺威应用科学大学、奥斯纳布吕克应用科学大学等多所德国应用科学大学建立了合作关系,利用德国优质的教育资源并结合我国实际,共同培养符合地方社会经济发展需要的工程应用型人才,并在“模块化”课程体系构建方面开展了先期的探索,积累了丰富的经验。
3.3整合优化教学内容
1)数学课程内容的调整与优化。
依据“以应用为目的,以必需适用为度”的原则,同时参照国家最新制定的《工科类本科数学基础课程教学基本要求》,根据模块化教学的涵义,确定大学数学类课程模块化体系改革的总体思路为“横向分类,纵向分级”。
横向分类是指大学数学教学为专业教学服务,要满足专业课程教学内容的需要。根据工科、经管和文科类专业的需求,将大学数学分为3大类:工程应用数学、经管应用数学和数学素养。纵向分级是指根据数学自身的特点和内在联系,将大学数学课程分成5级模块,其中A级包括一元函数微积分、微分方程等,B级包括多元函数微积分、矢量分析、级数等,C级包括线性代数的基本知识,D级包括概率论与数理统计,E级包括复变函数与积分变换。
为制定适合本专业的数学模块,专业教师与数学教师按照“材料收集提取数学知识点获取知识点纲要整理成数学模块数学模块教学大纲确定教学内容”的流程,共同确定本专业学习工程应用数学A—D共4个模块。
在确定了每个模块教学内容的基础上,按“能力、知识、素质”3个要素,对每个模块进行分解,将每个模块分解为理论学习、实践学习和自主学习3个环节。理论学习主要是培养学生的数学能力,如计算能力、逻辑推理能力、空间想象能力、数学建模能力等;实践学习主要是培养学生数学创新能力、应用数学软件能力等;自主学习主要是培养学生的自学能力、团队合作能力等。3个环节的学习是互相渗透、互相补充、相辅相成的。
以工程应用数学B为例,理论与实践教学、自主学习的具体安排分别见表1—2。
2)物理课程的打散与融合。
3)专业课整合优化。
我们按照现代软件开发企业的专业分工,根据前期调研结果,梳理出各个岗位的核心能力,并以此为基础优化组合专业技术类课程,形成对应中低端技术岗位、中高端技术岗位及管理岗位3个层次核心能力的模块组合,具体构建方案如图1所示。
(1)软件实现能力模块组合。面向程序员、测试员等中低端技术岗位,构建培养软件实现能力的模块组合,并按照如下4个类别划分模块。
基础语言类:面向过程程序设计模块、面向对象程序设计模块。
Web开发类:Web应用系统开发模块、JavaEE技术模块、Net技术模块、XML与Web2.0模块。
嵌入式开发类:嵌入式LinuxC编程模块、嵌入式软件设计模块。
软件测试类:软件测试模块。
(2)软件分析设计能力模块组合。面向设计员、分析员中高端技术岗位,构建培养软件分析设计能力的模块,并按照如下两个类别划分模块。
基础类:软件工程、数据库原理与应用
拓展类:软件分析与设计、Oracle数据库、Web开发框架
(3)软件管理能力模块组合。面向项目经理、产品经理、质量经理等管理岗位,构建培养软件管理能力的模块,提供了项目管理、软件配置和软件质量保证等模块供学生选修。
4)优化整合硬件及网络类课程。
对非软件类课程进行合并与压缩,具体包括:①计算机组成原理与计算机体系结构压缩形成一个新模块——计算机组成与结构,压缩整合原有两门课程的教学内容,同时减少了总学时;②将Linux(也称网络操作系统)教学内容合并到操作系统中,理论讲授学时仍然保持与原操作系统课程一样,采用实践和自主学习方式完成Linux内容的教学。
5)引入行业最新技术及规范。
软件工程领域是最具活力、技术创新最多的领域之一,培养软件工程师必须紧密结合工业界的最新发展。通过广泛的企业调研,我们将行业领军企业认证课程的部分内容优化整合进专业教学中,从而提高学生的软件工程能力,使学生始终站在技术发展的最前沿,具体如表4所示。
6)发挥企业工程资源优势,实现校企优势互补。
为了增强学生职业素质,提升软件工程能力,本专业与合作企业密切联系,将邀请企业专家进校和派出学生进入企业两种方式相结合,按照“由浅入深、由单项到综合”的原则,根据各个学习阶段的具体内容,层层递进地实现能力的渐进培养。
(1)邀请企业专家上课。大一至大三,逐步邀请企业专家来校参与理论和实践教学,具体教学内容见表5。
4结论
模块化课程改革避免了教学内容的重复,提高了教学效率;同时,新形成的模块化课程体系还具有以下特点。
1)突出专业特点,强化培养软件工程能力。
整合后的课程体系明确了教学重点为软件开发能力的培养,软件课程从原有的13门增加到20门,软件课程的学时比例从32%提高到49%。
2)突出实践训练,强化培养学生动手能力。
整合后的课程体系遵循学生认知规律,通过“从校外到校内,再从校内到校外”的方式对学生开展如下3个阶段的集中式实践训练。
(3)企业项目实训阶段。学生进入企业,在工程师的指导下,在企业真实生产环境中开发软件系统。
3)引入行业发展的最新技术。
整合后的课程体系在5门专业技术课程中引入11项企业认证课程的内容。新技术的引入使得教学内容始终处于行业发展的前沿,有利于学生毕业后迅速进入工作状态,从事软件开发工作。
4)校企深度合作。
整合后的课程体系从3个层面加强了校企合作:
(1)与企业共同制订人才培养标准。与企业共同组建专业指导委员会,听取企业意见,引入最新行业标准与规范,制订符合行业需求的人才培养标准。
(2)课程内容引入行业发展最新技术。将行业最新技术融入到具体课程内容中,保证了教学内容的先进性。
(3)与企业合作开展3阶段集中实践教学,强化学生的动手能力和工程素养。
参考文献:
[1]袁暋,许强,王晓峰,等.基于应用型人才培养的模块化教学改革研究:借鉴德国FH成功经验[J].合肥学院学报:自然科学版,2011(4):56-60,65.
[2]檀明,张向东,许强,等.以能力为导向的软件工程专业应用型人才培养[J].计算机教育,2010(21):88-92.