应用型本科院校软件工程专业实践教学体系化与系统化改革的探索
2017-08-07张家锐
张家锐
(合肥学院 计算机科学与技术系,安徽 合肥 230601)
应用型本科院校软件工程专业实践教学体系化与系统化改革的探索
张家锐
(合肥学院 计算机科学与技术系,安徽 合肥 230601)
面向应用型本科院校软件工程专业,分析了专业特点和实践教学存在的共性问题,提出了以实践能力和综合素质提升为核心的实践教学改革总体思路,就改革的体系化和系统化进行了探索,并给出了实际执行时可参考的一些做法。
实践能力;软件工程专业;体系化;系统化
1 实践教学改革的必要性及意义
相比较研究型人才而言,应用型人才是面向社会生产或社会活动一线、运用所学专业知识和掌握的技能快速、高质量地胜任所从事职业的一种专门人才,其内涵随着社会进步和社会活动需求的变化在不断升级[1]。高质量应用型人才必须具备:实践能力、适应能力、组织管理能力、创新能力、知识提升能力。当其面向社会或某个具体的组织时,实践能力、适应能力是立足的基础,创新能力、知识提升能力是超越别人的保证,组织管理能力是打开职业空间的钥匙。
应用型高校人才培养的最终目标就是培养出社会需要的高质量应用型人才。围绕这一目标,高等教育工作者纷纷加强了对课堂教学改革的趋势[2]、理念[3]的研究,创造出多种教学模式,如:OBE[4]、模块化[5]等。无论何种教学模式,整合、完善实践教学资源,优化实践教学的内容和活动,提升学生的实践能力显然是无法回避的课题[6]。另外,从高质量应用型人才的能力组成来看,实践能力也是首要。因此,探索如何提高学生的实践能力对应用型人才培养具有重要的意义。本文结合软件工程专业特点谈一谈实践教学改革的思路。
2 软件工程专业特点分析
从毕业要求来看,“专业认证”规定的12条毕业要求标准可归纳为:专业能力、综合素质两个方面,其中,专业能力从广义的角度看,可视为实践能力,反映在软件工程专业上。在目前的课程体系下,实践能力可分解为:软件分析与设计能力、软件实现能力、软件测试与质量保证能力、数据库设计与管理能力、软件项目管理能力。综合素质可以分解为:学习能力、交流沟通与表达能力、适应能力、组织管理能力、创新能力。因此,软件工程专业围绕着实践能力提升所开展的实践教学活动必须紧扣上述能力要素。
从实践能力的运用场景来看,主要表现为:在一个协作的组织或团队内,面向特定的软件产品或软件项目开发任务,作为一个角色承担一定的职责。而其主要工作成果属于无形产品,具有较高的抽象性。另外,本专业开设的基础课、专业课、专业核心课也都具有一定的抽象性。因此,仅仅掌握知识点,不经过体系化、系统化的实践能力训练,很难在工作岗位上具备“招之能来,来之能战,战之能胜”的实践能力。
从课程设置来看,目前的课程体系并没有专门的课程来训练学生的学习能力、交流沟通与表达能力、适应能力、组织管理能力、创新能力。因此,这些属于综合素质类的能力只能在实践教学中见缝插针、有意识地训练培训。
3 软件工程专业实践教学改革的思路
当前,软件工程专业实践教学存在的共性问题有:(1)理论实践分离化。把理论课、实践课截然分开,没有在教学内容、目标、形式、进度上进行深度融合,理论课与实践课老师之间不做认真细致的沟通与协作,各搞一套,形成理论、实践“两张皮”。(2)定位简单化。把实践课简单定位在对理论课知识点的验证上,没有安排相关知识点的整合、综合运用、技术创新等训练内容。(3)内容“孤岛”化。每门实践课仅仅考虑本课程的知识点及其运用,没有从体系化、系统化角度进行内容/项目的设计,没有与相关前续课程知识点的整合并产生综合运用之效果。(4)重结果轻过程。单纯追求实践结果,忽视或不重视过程监管。(5)重专业知识轻综合素质。没有在实践教学中有意识地培养学生的交流、沟通、分享、竞争、协作、创新等综合素质。
针对这些问题,提出实践教学改革的总体思路:充分利用校内/校外二个场景、课内/课外二个课堂、个体/团队二种学生组织形式、独立授课/课程组协同/企业培养三种教学模式,形成由低及高的体系化、由离散到完整的系统化实践教学整体设计,并持续改进之。
3.1 实践教学的体系化设计
将实践教学分为五个层次,形成由低及高的完整体系,见表1。
表1 实践教学体系化设计分层一览表
(1)认知实践
时间:低年级暑假期间,4-6周。
背景:学习了“专业导论”和专业基础课及部分专业课。
场景:校外。
课堂:课外。
学生组织形式:个体。
教学模式:企业/社会培养。
考核:提交《认知实习报告》,答辩考核。
(2)课程实践
时间:与理论课教学时间衔接。
背景:依托对应的课堂教学和本课程组的综合训练课题规定的能力目标要求。
场景:校内。
课堂:课内。
学生组织形式:个体/团队。
教学模式:独立授课。
考核:纳入理论课统一考核。
(3)综合实践
时间:同一课程组内最后一门课程实践结束后。
背景:综合训练课题已经分阶段在本课程组内相关课程实践中完成。
场景:校内。
课堂:课外(自主学习)。
学生组织形式:团队。
教学模式:课程组协同。
考核:回顾总结综合训练课题实施的各个阶段工作,采用成果演示方式,以项目结题标准进行考核。
(4)校内工程实践
时间:大三下或大四上,5-8周左右。
背景:所有专业课程学习结束。
场景:校内(仿真企业环境)。
课堂:课内。
学生组织形式:团队。
教学模式:课程组协同。
考核:整组答辩,各自陈述,打分到人。以项目结题标准进行考核。
(5)企业现场实践
时间:大四阶段,一学期或一学年(卓越班)。
背景:通过了“校内工程实践”训练与考核。
场景:校外。
课堂:课外。
学生组织形式:个体。
教学模式:企业培养。
考核:由企业按用人标准考核,并据此进行学分置换。
在上述体系化设计的第三、四层次,主要采用课程组协同方式进行教学。根据软件工程专业课程设置及其知识点的关联关系,可分为如下三个课程组:
第一课程组。涵盖课程有:面向过程程序设计、电路与数字系统、计算机组成与结构。
第二课程组。涵盖课程有:面向对象程序设计、计算机网络及应用、数据结构与算法、数据库原理与应用、Web应用系统开发、操作系统。
第三课程组。涵盖课程有:软件工程、软件分析与设计、JavaEE技术、软件测试、移动应用开发。
其中,校内工程实践的教学由第三课程组实施。
3.2 实践教学的系统化设计
实践教学的系统化设计注重教学内容的系统化、考核指标的系统化两个方面。
实践教学的五个层次(见表1)所设定的目标本身就是系统化的设计安排,由低及高、逐层推进,最后要达到胜任企业岗位的实践能力。
另外,前述的三个课程组涉及的课程基本涵盖了软件工程专业所有专业基础课、专业课(注:编译原理课程未纳入)。因此,这些课程的“课程实践”与“综合实践”必须符合系统化的要求,即以本课程组“综合实践”目标为约束,设计安排“综合训练课题”,相关的“课程实践”任务是隶属“综合训练课题”的子课题。
根据前述三个课程组所涵盖的课程,建议各课程组在设计安排“综合训练课题”时围绕以下能力目标来构建。
第一课程组:基于C语言和常见数字电路的嵌入式编程以及小规模、典型的计算机控制系统的实现。
第二课程组:基于面向对象语言和不同网络形态,融合数据模型构建、数据库设计,结合社会热点,形成中小规模Web项目的开发能力。
第三课程组:在工程化思想指导下,运用先进的工具,基于典型框架支撑,全面解决涵盖PC前端、移动APP、Web服务端的中等规模软件工程问题。
以下以第三课程组为例来进行说明:
依据本课程组能力目标要求,设计一个中等规模的软件开发项目作为综合训练课题,其中:
“软件工程”课程实践的任务是工程化思想和工具的掌握,面向综合训练课题构建项目开发计划,组件项目团队,选定项目开发过程模型,根据组员的特长与个性进行岗位安排,项目成本预算及控制计划,设计项目里程碑计划;培养学生的团队意识,交流、沟通、协作、竞争、分享意识,训练创新意识。
“软件分析与设计”课程实践的任务是继承“软件工程”课程实践的成果,完成综合训练课题的系统分析与设计;培养学生的团队意识,交流、沟通、协作、竞争、分享意识,训练创新意识。
“JavaEE技术”课程实践的任务是继承“软件工程”、“软件分析与设计”课程实践的成果,掌握常见的软件开发框架,利用面向对象语言,对综合训练课题的PC端、Web端进行代码实现。
“移动应用开发”课程实践的任务是继承“软件工程”、“软件分析与设计”、“JavaEE技术”课程实践的成果,掌握常见的移动端开发框架,利用面向对象语言,对综合训练课题的移动端进行代码实现。
“软件测试”课程实践的任务是继承“软件工程”、“软件分析与设计”、“JavaEE技术”课程实践的成果,掌握软件测试方法和技术,对综合训练项目进行全面测试。
在上述“综合实践”对应的“综合训练课题”的总体目标牵引下,课程组内各“课程实践”的任务明确、边界明确、课程实践之间的接口明确,从而形成一个完整的系统化设计。
显然,“综合实践”是一个逻辑存在,并不需要专门安排课内学时,主要以课外自主学习方式进行,但“综合实践”是“课程实践”的约束和指导。
在实践能力考核指标的系统化设计上,强调专业能力考核、综合素质考核、创新能力考核。可按表2设计。
3.3 持续改进
实践教学改革活动以课程组为单位组织实施,教研室统一开展实践教学事先、事中、事后监督。事先监督重点放在教学资料准备、综合训练课题设计方面;事中监督注重学生反馈、教学过程管理方面;事后监督基于目标达成度计算结果。依据监督结果,建立评价、分析机制,分清轻重缓急,抓住主要问题,制定改进措施,落实到实践教学相关环节,达到持续改进的效果。
表2 考核指标一览表
4 实际执行时可参考的一些做法
(1)仿真企业环境。有条件的院校可建立仿真企业环境的实践教学场所,可能的情况下,采用企业作息和考勤制度,并设计供项目团队使用的小型分享室(供讨论、例会等使用)。
(2)每周项目例会。各项目组每周召开一次项目例会,自我检查项目计划执行情况,发现项目实施的风险点,并调整、改进项目计划。
(3)点,以便针对性辅导。
(4)组间对抗与分享。在项目实施过程中,依据监管得到的信息,不定期、有意识地安排采用不同解决方案的团队之间进行交流、辩论,培养竞争与分享意识。
(5)创新演讲。在项目实施过程中,依据监管得到的信息,针对个别团队采用的新颖、创造性较强的解决方案,不定期、有意识地组织创新说明会,由其项目团队公开演讲,形成创新意识的正向激励机制。
5 总结及下一步思考
所有应用型高校的教育工作者都会认同培养学生的实践能力是重中之重,没有哪一所应用型本科院校的课程设置中不安排实践教学活动,本文只是从体系化、系统化角度提出了实践教学改革的一些新的设想和方法。不难看出,这种设想和方法的本质是要实现学生从“练”(以模仿为主)到“动手”(依据专业能力解决具体问题)到“动脑并动手”(以创新的思维和协作的方式解决复杂问题)的三部曲。不可否认的是,很多应用型高校都进行了模块化教学改革,客观地说,目前的模块化教学改革尚处在单个课程的理论教学与实践教学的融合阶段,本文提出的以课程组为实施单位、以教研室为监督部门、以提升实践能力和综合素质为核心的体系化、系统化总体思路,作为模块化教学改革第二阶段的切入点应该是一个很好的选择,即以课程组为核心组建跨课程大模块,在大模块制定的综合实践能力目标约束下,指导大模块内关联课程的教学活动。另外,以培养实践能力为抓手的改革,既直面了学生的岗位适应能力与速度问题,也能倒逼理论课教学的进一步改革。
未来,需要以此为切入点,进一步对模块化教学改革第二阶段做完整的思考。另外,软件工程专业是新理论、新技术发展最快的专业之一,面对学科及专业的快速发展,新开课程越来越多,课程组的设置与动态调整也需要进一步思考。
[1] 胡黄卿,陈菲莉. 高校应用型人才培养的研究[EB/OL]. http://www.docin.com /p-90968- 407.html. 2008-06-10.
[2] 周彬. 课堂教学改革的六大趋势[EB/OL]. http://blog.sina.com.cn/s/blog_5a- 170252010126ct.html. 2012-07-30.
[3] 百度文库. 教学改革新理念100条[EB/OL]. http://wenku.baidu.com/view/8b95fd- 0d763231126edb1164.html. 2015-05-29.
[4] 东莞理工学院网站. 基于“学习产出”(OBE)的工程教育模式——汕头大学的实践与探索[EB/OL]. http://www.dgut.edu.cn/dgut/gjxx/201501/ab1d37c214384394807401e6171- 08e51.shtml. 2015-01-06.
[5] 常我素,石振秋. 基于过程的模块化教学探讨[EB/OL]. http://www.chinaqking.com/- yc/2012/212567.html. 2012-06-27.
[6] 刘三朵. 关于加强当代大学生实践能力培养的理论探讨[D].福州:福建师范大学. 2005.
2016-12-10
张家锐(1964-),男,安徽无为人,硕士,正高级工程师,合肥学院计算机科学与技术系软件工程专业教师。主要从事信息共享、大数据处理、区块链技术等方面的研究。
G61
B
1674-2273(2017)03-0067-04