诸峰 张晓如 王东升
[摘 要]“互联网+”计划的实施以及以人工智能为代表的现代信息技术的发展,对高校软件工程专业教学提出了新要求。课题组通过分析软件工程专业的培养目标,结合教学实践中遇到的实际问题,探索了一种以智慧教学为导向的新型教学方法。教学实践表明,该方法既符合软件工程专业的发展需要,又能够培养兼具理论知识和实践应用能力的高层次人才,具有良好的教学效果。
[关键词]教学方法;智慧教学;软件工程
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2018)07-0033-03
2015年3月5日,李克强总理在十二届全国人大三次会议上首次提出“互联网+”行动计划,大力推进互联网、云计算、大数据、物联网等信息技术与传统行业的紧密结合。2016年3月16日,谷歌公司的AlphaGo以4:1的成绩战胜了围棋九段大师李世石,这一胜利标志着人工智能算法以及相关计算机软硬件技术的进步。在这样的时代背景下,高校软件工程专业迎来了前所未有的机遇,同时也给专业课程的教师带来了严峻的考验[1]。一方面,软件工程专业课程更加注重学生编程思想和软件开发实践能力的培养,这就需要专业教师及时跟踪产业界和学术界的最新技术和科研成果,通过不断的学习和实践新技术来提升自身的专业技能。另一方面,专业教师需要更新教育教学理念,在教学实践中对现有的教学方法和模式进行提炼和创新,使之既符合软件工程专业的发展需要,又能够培养兼具理论知识和实践应用能力的高层次人才。
一、 软件工程专业的培养目标与教学现状
(一)培养目标
以清华大学软件工程专业为例,从知识、能力和素质等维度对软件工程专业本科层次提出了具体的培养要求。首先是个人素质方面,要求学生具有较强的社会责任感、良好的工程职业道德、追求卓越的态度和强烈的爱国敬业精神。在知识方面,要求学生具有从事工程工作所需的数学、自然科学、人文社会科学方面的基础知识,又掌握软件工程领域所需的专业知识,包括软件需求分析、软件设计、软件构造、软件测试、软件演化、软件过程、软件质量与管理等。另外,还应当具有领域应用的知识,如信息系統、信息安全、游戏动画多媒体等应用。在能力方面,则要求学生具有较强的运用知识能力,包括软件分析与开发能力、过程控制与管理能力、工具使用与实验技能、团队协作与沟通能力、面向领域的应用能力。同时,良好的创新发展和创业能力也随着“互联网+”的提出而成为学生培养目标中的重要方面。
(二)教学现状
在课程设置上,高校软件工程专业普遍注重学生实践能力的培养,开设包括专业基础课程、程序设计语言、软件及Web开发、软件质量保障与测试等专业应用类课程。在教学模式上,通常采用教师课堂操作演示与学生上机实践相结合的方式,注重基础知识和实践能力的综合发展。在教学评价上,也不再依赖单一的试卷测评分数,而是越来越关注对学生实践能力和平时表现的综合测评。但是在教学实践过程中,仍然存在一些问题,值得总结与反思。为此,我们对本校计算机学院10名专业教师开展走访交谈,并对软件工程专业79名学生进行问卷调查,最终收到有效问卷75份。通过整理和分析,下面就当前教学中突出的几点问题进行讨论。
1.课堂学习参与度问题
在课堂教学中,学生逃课、睡觉、玩手机等现象比较常见。产生这一现象的原因有很多,从学生的角度来看,一部分学生自我管理能力比较薄弱,对专业学习没有兴趣,认为能够得到学分就行。另外,对课程内容在生产实践中的具体应用没有认识,课后又不愿意对课程内容做进一步的学习。当然,也有一部分学生是因为自身学习能力较弱,往往不能及时掌握和消化所学知识,在一些课程难点上卡住后,渐渐失去学习的动力。因此,作为专业课程教师,有必要反思当前的教学模式和方法,思考怎样使课堂教学满足不同层次学生个性化学习的需要,在培养学习兴趣的同时,兼顾能力的培养,让学生真正参与到课堂教学中来[2]。
2.课程评价过程性问题
软件工程专业课程更加注重实践能力的评价。然而,当前实验与课程教学的评价不利于考察每一个学生,教师往往关注对实验结果的检查,却缺乏有效的手段对实验过程进行跟踪,这使得一些学生不愿意动手实践,互相抄袭、代为实验等情况频现,最终导致一些学生眼高手低,实验能力得不到提高。因此,有必要利用现代信息化等技术手段,对教学过程,特别是实验过程进行全面跟踪,实现过程性评价[3]。
3.课程内容陈旧性问题
软件工程专业课程,特别是软件开发应用类的课程,其技术的更新换代很快。而由于课程设置、实验条件、师资力量的限制,在目前的教学中,很难做到对教学内容及时更新,所讲授的知识往往还是多年以前的,授课内容不能做到与时俱进。这就导致学生专业技能与企业的具体需求存在一定的脱节。因此,有条件的学校可以适当在高年级增设一些专业选修类课程,并邀请企业工程师开展技术讲座,以方便学生了解最新技术和企业需求[4]。
二、智慧教学导向的新型教学方法
针对当前专业课教学中出现的典型问题,结合软件工程专业特点,课题组探索了一种以智慧教学为导向,兼顾能力和兴趣培养的教学新方法。该方法以智慧教学平台为核心,以服务教师和学生为目标,将案例教学、任务驱动式教学、小组合作学习、项目探究学习等多种教学方法融入实际的教学过程中,在教学评价上则更加注重形成性评价[5][6],其教学过程如图1所示。
智慧教学平台是该教学方法得以实施的基础和关键,它是联系教学各个阶段的纽带。目前,该平台主要由教学案例管理、教学素材管理、教学资料管理、教学评价管理以及支持小组协作的移动探究教学平台等五个模块组成。其中,前四个模块主要面向教师,由教师根据课程内容进行维护和管理,最后一个模块由教师和学生共同参与使用和管理。
(一)面向教师端的教学过程
在教学设计和导入阶段,首先由教师操作教学案例和教学素材管理模块,进行课程案例的设计和维护,并对复杂的案例任务进行分解。有条件的话,教师也可以与企业合作,共同设计面向实际应用的教学案例。在平台使用初期,由于教学案例库还不丰富,需要教师在前期投入大量精力,上传课程的相关素材,包括课件、试卷、习题、图片、音视频等各类资源。后期,在积累了一定的案例后,教师再次开设该课程时,就可以直接选择已经设计好的课程案例。另外,教师也可以设置案例的共享等级,可以把设计好的案例共享给所有或者特定的教师。在此基础上,教师根据课程和案例任务的需要,对涉及的基础知识进行讲授。
在教学实践阶段,需要教师和学生相互协作。教师可以灵活的和学生开展互动,进行网上在线辅导和答疑,并可以通过平台提供的实时学习情况分析功能,以可视化的形式随时查看学生案例任务完成进度情况、任务提交情况等,在教学评价阶段,对学生学习情况进行综合评价。智慧教学平台会根据学生使用协作探究学习系统的时间、频度、学习任务的完成情况等若干指标进行统计分析,给出可视化的学习情况汇总。另外,教师也可以根据教学过程中学生的学习情况给出相应的评价,最终的成绩会根据教师和系统给出的分数,进行一个综合的打分。在教学资料整理阶段,教师可以操作教学资料管理模块对教学过程中和教学结束后产生的各类表格进行统一的管理,包括学生的考勤信息表、学生上机实验信息表、学生在线协作探究学习信息表以及学生成绩信息表、教学分析和总结信息表等。
(二)面向学生端的学习过程
支持小组协作的移动探究教学平台是整个智慧教学平台的核心,该平台支持移动式教学,让师生之间的互动不再局限于课程,利用泛在学习提升学习效率和学习兴趣,学生可以随时随地的进入平台进行学习。
在学习过程中,学生首先对发布的案例任务进行确认,学习相关基础知识,然后可以以个人或小组为单位,开展案例的探究学习。如果以小组为单位,每组需配备一名组长,小组中每个人都有明确的目标和任务安排,并且在探究学习过程中,组长需要掌握小组成员的学习情况,并进行记录,小组成员可以定期就探究情况和遇到的问题开展交流和讨论。在这一过程中,学生可以随时给教师留言,与教师进行互动。在实践阶段,各小组成员通过上机操作实现各自的子案例,学习平台会自动记录每次学习登录时间、学习时长、项目进度和代码文档更新情况,从而为后面的形成性课程评价提供依据。另外,学生还可以通过课程云平台发布问题,其他同学或教师可以参与解答。
三、课程教学探索与实践
为了验证新型教学方法的有效性,本文以HTML5应用程序开发课程为例,开展教学实践。
(一)明确案例设计目标,进行案例任务分解
结合HTML5应用程序开发课程教学目标和大纲,分别就“Javascript编程回顾”、“HTML5新表单元素应用”、“HTML5多媒体播放器设计”、“基于Canvas的绘图与动画”、“文件拖拽与数据存储”、“基于Web Socket的网络聊天室”、“基于DIV+CSS的网页布局”、“CSS3新技术展示”、“Jquery实战演练”、“Bootstrap实战演练”等10个专题开展案例设计。以“基于DIV+CSS的网页布局”为例,本案例设计的目标是让学生掌握使用DIV + CSS 进行页面元素的布局,最终任务是使用DIV+CSS完成一个网站首页的设计。为了实现这一目标,我们采用任务分解的方法将案例任务分解成若干可以操作的子任务,每一个子任务还可以进一步的细分,一直到给出明确的、可操作的原子学习任务为止。
在该案例设计中,各子任务分别为:(1)学习DIV标签,掌握CSS中盒子模型和浮动、定位方法;(2)通过实例学习导航栏及下拉菜单的制作方法;(3)完成页面中水平和垂直导航栏的设计;(4)使用DIV及定位方法实现页面内容区域的定义;(5)完成页面底部的设计。以子任务(1)为例,还应当继续进行分解,如(1.1)学习DIV标签概念,在HTML代码中添加DIV标签,在页面中查看效果;(1.2)学习盒子模型概念,在HTML代码中实现空白边、边框、填充、内容区设置,在页面中查看效果;(1.3)学习左浮动、右浮动、清除浮动概念,实现各类浮动效果;(1.4)学习固定定位、相对定位、绝对定位概念,实现各类定位效果。
(二)独立探究,师生互动
区别于传统的课堂教学,智慧教学导向的新型教学方法以学生为主导,学生是探究学习任务的主体,教师起到协调、辅导、答疑的作用。学生登录探究学习系统后,首先选择探究案例任务,然后开展独立学习。在上面的例子中,学生通过学习,了解到
(三)项目驱动,协同探究
基于智慧教学平台,教师还可以根据学生已有的知识积累,设计与课程相关的综合性探究项目,学生可以自由组合,以小组形式协作探究,共同完成课程项目。例如,在HTML5应用程序开发课程中,教师发布了“基于HTML5的移动Web网站开发”课程项目,并给出具体要求和目标。在项目实施前,学生按照兴趣分成若干项目小组,并选定一位同学担任项目经理,负责整个项目的人员安排和进度控制。在项目设施过程中,小组成员分工合作,共同参与移动Web网站项目的需求分析、素材整理、页面样式与内容设计、代码调试、文档编辑与PPT展示等全过程。对于项目中遇到的问题,小组成员之间先进行讨论交流,如果无法解决,可以向教师求救,教师负责给出提示、建议,进行适当的指导和点拨。项目完成后,每个项目组要公开汇报并演示其项目成果,回答其他项目组提出的问题,并做好记录工作。通过具体的项目探究,学生的自学能力、动手能力得到了显著的提升,学习热情也被充分调动起来。
四、结束语
本文探讨了一种智慧教学导向的,针对软件工程专业教学的新方法,该方法利用了最新的计算机多媒体技术、网络技术,借助于智慧教学平台,开展教学活动中的实践部分。目前,我们已经开发了智慧教学平台中的核心模块,并初步利用该教学平台开展教学实践活动。结果表明,使用这一教学方法后,教师的教学更加规范化、便捷化,学生学习兴趣和实践能力有了很大的提高。并且,这一教学方法不仅仅适用于软件工程专业,也适用于计算机及其他工程类专业课程的教学。
[ 参 考 文 献 ]
[1] 刘璘,周明辉,尹刚.大数据时代软件工程专题前言[J].软件学报,2017(6):1327-1329.
[2] 张晓如,诸峰,张再跃.网络环境下高校信息技术课程教学有效性探讨[J].科技视界,2015(23):51.
[3] 诸峰. 基于网络学习的形成性评价研究[D].扬州:扬州大学,2005.
[4] 陈向坚,李红梅,徐明.软件质量保证与测试教学中存在的问题及对策研究[J].大学教育,2016(4):120-121.
[5] 徐雅斌,周维真,施运梅,刘旭红,凌涛.项目驱动教学模式的研究与实践[J].辽宁工业大学学报(社会科学版),2011(3):125-127.
[6] 赵辉,李万龙,郑山红,张丽娟.“项目导向案例驱动”的软件工程教学模式[J].计算机教育,2012(10):89-92.
[责任编辑:钟 岚]