新工科背景下以软件工程为核心的高职软件专业多课程整合教学模式探析
2018-06-11陆公正牛丽尚鲜连
陆公正 牛丽 尚鲜连
[摘要]针对高职软件专业现有教学模式存在的问题,依据新工科建设中对“新工科”人才培养的要求,提出以软件工程为核心,对高职软件专业的多门课程进行整合的教学模式,提高学生的工程实践能力、创新能力,解决工程教育和职业岗位需求脱节的问题。
[关键词] 新工科;软件工程;软件专业;多课程整合
[中图分类号] G712 [文献标志码] A [文章编号] 2096-0603(2018)34-0237-03
目前,高职软件专业现有的教学模式存在较多问题,各课程实行独立教学的方式,使得理论课程和实践课程之间脱钩,实践课程之间的关联度不够,课程之间的知识点存在重叠,学生的专业技能和职业岗位需求存在巨大的“鸿沟”。所以,结合职业岗位需求和实际教学实践,我们提出了一种“以软件工程为核心的多课程整合教學模式”,以“软件工程导论”课程为核心,依据软件生命周期,探讨和分析了把“软件工程导论”“UML系统分析与设计”“Web系统开发”和“软件测试及工具应用”多门课程进行整合的必要性、整合的具体实施过程以及在整合过程中可能遇到的挑战及解决措施。
一、课程整合的必要性
(一)理论课程和实践课程存在脱钩
“软件工程导论”课程是软件专业的一门专业理论课,主要按照软件生命周期的顺序讲述软件工程的基本原理、概念和技术方法,它用于指导软件开发实践。但是它的内容过于理论,由于课时安排很少以实际的综合性案例贯穿整个教学过程,或者只是整个课程最后给出一个综合性案例,这样使得学生很难理解软件工程的各种技术是如何应用在实际软件开发过程中并如何对它们进行指导的,课后的一个综合性案例通常篇幅较短,很难真正体现出完整的软件开发过程和流程。再者,在软件专业的实践性课程中,如程序开发类课程中,老师在讲授过程中只注重程序开发语言的讲解,很少涉及如系统设计、编码风格等软件工程理论知识的讲解。现有软件专业的教学模式中,理论课程和实践课程存在严重的脱钩,导致学生对专业知识的综合性存在缺失,知识结构存在缺陷。
(二)各实践课程之间关联度不够
“Web系统开发”课程和“软件测试及工具应用”课程是软件专业的两门专业实践课。“Web系统开发”课程主要培养学生开发Web系统的能力,并且,在软件行业的职业岗位需求中,程序员除了具备娴熟的软件开发能力之外,还需具备一定的软件测试能力。但是,在现有软件专业的教学模式中,软件测试课程的实际教学中各个知识点讲解过程都是由不同的小案例组成的,Web系统的测试仅在性能测试时才有些许提及,丢失了这两门实践课程之间的关联性,学生很难理解如何应用各种测试方法和测试工具对Web系统进行完整测试的流程,难以适应职业岗位需求。
(三)各课程之间的知识点存在重叠
软件专业的现有教学模式是各门课程由多位老师独立授课,一门课程的授课老师不清楚另外几门相关课程授课老师的教学内容,往往造成各课程之间的知识点存在重叠。根据图1中三门课程的授课内容可知,各课程之间的知识点存在重叠。“UML系统分析与设计”中第3章节到第5章节中的需求分析基本概念和方法、设计的原则和方法等内容在“软件工程导论”中的第2章节到第4章节都会有所讲解,“软件测试及工具应用”中第1章节到第4章节中软件测试基本概念、软件测试流程、测试用例的设计方法等内容会在“软件工程导论”的软件测试章节中进行简单的讲解。这种知识点的重叠是客观的,体现了同一专业课程间的内在联系。
(四)学生专业技能与职业岗位需求存在巨大“鸿沟”
通过分析软件行业的职业岗位需求,可知软件行业的从业人员必须具备以下核心技能:(1)熟练或精通多门开发语言;(2)熟悉流行的网络编程技术;(3)具有良好的系统和设计能力,掌握软件对象分析、设计方法;(4)熟悉UML建模技术和工具;(5)熟悉软件测试流程,能够熟练编写自动化测试脚本和使用自动化测试工具等。而高职软件专业现有教学模式存在的问题导致各门专业课程之间的知识点脉络不清晰,学生难以透彻理解授课内容,难以把各课程的内容融会贯通,进而不能很好地应用到自己的职业岗位中去,造成学生掌握的专业技能与职业岗位需求之间存在巨大的“鸿沟”。
二、课程整合的具体实施
为了解决高职软件专业现有教学模式中存在的问题,我们提出以软件工程为核心的多门课程整合的教学模式。图2给出了我们提出的教学模式的总体框架,图3—图7给出了按照软件生命周期的顺序对多课程内容进行整合的具体实施过程。
图4是整合后的可行性与需求分析的主要内容,其中融合了“UML系统分析与设计”中与需求分析相关的内容,不仅避免了原先两门课程在此知识点之间存在重叠的问题,而且平滑过渡到面向对象的需求建模技术,同时把所学内容直接应用到Web系统的需求分析和建模,解决了理论课程与实践课程脱钩的问题。图4—图6分别是整合后的概要设计、详细设计和系统实现的内容,它们同样解决了知识点重叠、理论课程与实践课程脱钩的问题。此外,图6把Web系统的开发语言和编码整体内嵌到系统实现部分,解决了“软件工程导论”和“Web系统开发”两门课程的关联度不够的问题。图7是整合后软件测试部分的内容,它把软件测试的理论、方法和技术与Web系统的测试进行了有机融合,形成了实际的职业情境,解决了“Web系统开发”和“软件测试及工具应用”两门课程关联度不够的问题,同时也解决了学生专业技能与职业岗位需求存在“鸿沟”的问题。我们的教学模式以软件生命周期为主线,以Web系统作为贯彻始终的项目案例,模拟软件职业岗位的具体工作场景,既能帮助学生通过实际案例理解软件工程中的基本理论、方法和技术,又能帮助学生了解软件工程理论、方法和技术在实际中如何应用,实现了理论知识到实践技能的平滑过渡。我们的教学模式注重学生综合能力的培养,通过学习学生可以具备软件工程的理论知识、文档写作能力、系统分析与设计能力、UML建模能力、编码实现能力、软件测试技术,这些都是软件职业岗位的核心能力,课程的培养目标符合职业岗位需求。
三、课程整合的挑战及解决措施
(一)课程内容组织
现有教学模式各门课程之间都是独立授课,每门都有单独的教材和教学目标。课程整合后,如何对四门课程的内容进行合理、科学的编排,保证内容不重叠、不遗漏、理论和实践之间过渡平滑、体现职业岗位情境,这是面临的重要挑战。
可以按照以下思路应对这一挑战。通过认真研读软件行业岗位需求,制定系统、全面的教学目标,把控课程整合的总体方向。授课教师依据各门课程的教学大纲、教学计划,梳理各门课程的知识点,去除重叠的知识点,重新编排课程教学内容,以“大课程”的形式按照我们的整合框架重新编写教材,开发课程网站,建设网络教学资源库。
(二)授课教师要求
课程整合中最大的考验是针对教师的,提出的新教学模式中,理论课程和实践课程、实践课程和实践课程之间进行了有机结合、平滑过渡,这无疑对授课教师提出了更高的要求。
可以按照以下思路应对这一挑战。由一位教师承担整合后“大课程”的授课任务不太现实,对教师个人的要求太高,所以建议多位教师协作完成“大课程”的授课任务。教师进行分模块集体备课,相互之间进行探讨,解决各章节中理论、实践部分的过渡问题,避免知识点重叠或遗漏。各授课教师可以在课程网站通过MOOC等形式提供教学视频资源,不仅给学生自主学习提供参考,而且能够为“大课程”其他内容的授课教师合理组织授课内容、选择授课方式提供参考。
(三)课程考核机制
现有的教学模式中,各课程独立考核,考核的侧重点也有所不同,而且每门课程的内容量比较适合传统的考核方式,如试卷或大作业方式。在课程整合后,“大课程”包含理论知识、编程语言、工具应用,课程的内容量庞大而繁杂,很难再利用单一的方式进行考核。
可以按照以下思路应对这一挑战。可以进行分阶段考核。第一阶段,针对整合后的第1—第6部分内容,可以由授课教师进行共同命题进行试卷和大作业考核,试卷主要考核软件工程、UML系统分析方面的理论知识,大作业以小组为单位考核编写项目文档、UML工具使用等情况,最后由授课教师共同评价。第二阶段,针对整合后的第7和第8部分的内容,即软件系统实现和软件测试,这部分侧重实践能力的考核,可以以项目的形式,分小组进行项目开发和测试,通过课程网站提交项目开发文档、源代码和测试文档,最后由“大课程”的授课教师进行共同评价。第三阶段,针对整合后的第9和第10部分,这部分内容知识点较少,且不是课程考核重点,可以进行随堂测验。
四、结语
针对高职软件专业现有教学模式存在的理论课程和实践课程存在“脱钩”、各课程之间的关联度不够等问题,依据新工科人才培养要求,提出了以软件工程为核心的多课程整合的教学模式,介绍了课程整合的具体实施过程,对整合过程中可能存在的挑战给出了相应的应对措施。提出的教学模式更有利于形成良好的教学效果,使得学生能够更清晰地理解各个知识点之间的脉络,平滑地实现从理论过渡到实践,满足职业岗位的需求。
参考文献:
[1]吴爱华,侯永峰,杨秋波,等.加快发展和建设新工科,主动适应和引领新经济[J].高等工程教育研究,2017(1):1-9.
[2]刘学东.新思维,新课程:斯坦福大學通识教育改革[J].清华大学教育研究,2014(5):96-102.
[3]周运.软件工程专业课程整合及其教学模式转变探索[J].中国科技信息,2011(16):134.
[4]郭勇,马培军,范国祥,等.软件工程核心课程内容重叠交叉的解决[J].计算机教育,2013(23):50-54.
[5]郭晨,彭硕,廖萍.基于“大课程”的课程交叉体系教学体系的研究[J].大家,2012(8):302.
◎编辑 马燕萍