【摘 要】在新形势下,高校软件工程专业迎来了前所未有的机遇和挑战,如何对现有的教学模式进行改革和创新,成为亟待解决的重要问题。本文以《HTML5前端开发》课程为例,探索了一种专业教师+企业工程师共同参与的协同案例设计方法,同时开展案例教学方法的实践。实践结果表明,学生对课程既保持较高的学习兴趣,同时知识和应用开发技能也得到了显著的提高。
【关键词】案例教学;软件工程;HTML5;教学改革
中图分类号: G642;TP311.5-4 文献标识码: A 文章编号: 2095-2457(2018)33-0060-002
DOI:10.19694/j.cnki.issn2095-2457.2018.33.026
【Abstract】Under the new situation, the software engineering specialty in Colleges and universities is facing unprecedented opportunities and challenges. How to reform and innovate the existing teaching mode has become an important problem to be solved urgently. Taking HTML5 Front-end development course as an example, this paper explores a collaborative case design method involving professional teachers and enterprise engineers, and carries out the practice of case teaching method. Practical results show that students not only maintain a high interest in learning, but also improve their knowledge and application development skills.
【Key words】Case teaching; Software engineering; HTML5; Reform in education
0 引言
与其它工科专业相比,软件工程专业更加面向市场,关注课程的新颖性和实用性,注重对学生能力、知识、素质三方面的综合培养,并强调使用工程化的方法构建和开发有效、实用和高质量的软件。为了有效达成教学目标和提升教学效果,一些研究者探索了面向软件工程专业的、基于案例教学法的课程教学新模式。例如,梁胜彬等人研究了面向软件工程学科的案例教学模式,重点探讨了跨课程协作问题,提出在不同课程之间引入相同的案例,提高学生的综合实践能力。此外,谢榕教授提出一种将案例教学、实践活动、现实应用融入到教学实践中的标准化案例库建设和设计方法,并将这一方法应用于人工智能课程的教学。另外,刘华明等人探讨了“互联网+”竞赛背景下,案例教学方法与《软件工程》课程的结合,通过将获取案例的知识迁移到“互联网+”竞赛中,最终提升学生的软件开发和竞赛技能。
本文作者一直从事软件工程专业课程的教学,先后承担了C++程序设计、Java程序设计、HTML5前端开发、网页设计与制作、软件测试与质量保障等课程的教学。在长期的教学实践中,积极开展案例教学在程序设计语言以及软件开发应用类课程中的应用,积累了丰富的教学实践经验,并逐步形成相对科学和有效的教学方法。下面,将以《HTML5前端开发》课程为例,分别从课程案例设计和案例教学实践这两个方面,探讨案例教学方法在软件工程专业课程中的应用。
1 面向案例教学的课程设计
《HTML5前端开发》课程主要面向计算机学院软件工程、计算机专业本科学生开放,课程学时为4个学时,每年的授课人数约为160人。考虑到软件工程专業课程的新颖性和实践性,为了兼顾学生兴趣和能力的培养,我们在日常教学实践中,探索了一种专业教师+企业工程师共同参与的协同案例设计方法,并在上述方法的基础上开发基于云的在线协同案例设计平台,利用这一云平台,教师和企业工程师可以同时对同一个案例进行设计和维护,并且在案例设计过程中,可以随时沟通,完成对课程案例的协同管理。此外,为了提高案例设计的效率和复用率,在协同案例设计云平台中,还嵌入了课程微案例库、案例资源素材库等,方便案例设计者随时调用。对于案例设计,除了考虑设计的参与者因素外,还考虑了案例设计的不同粒度层次,既可以围绕一个知识点、一节课或一个单元来设计,也可以围绕一个完整实验或项目来设计。
限于篇幅,这里以《HTML5前端开发》课程中的“拖放与文件API”这一知识单元为例,说明课堂案例设计过程。本单元的教学目标是掌握HTML5中的拖放操作,理解Javascript中事件冒泡和事件捕获机制,同时与文件API结合,掌握图像文件和文本文件的读取。为了实现上述教学目标,首先设计两个实际应用中的案例,一是电子邮箱中邮件附件的拖拽上传案例,另一个是Web页面中文件上传案例,这两个案例都是网络应用中的常见操作,学生容易接受和理解。在此基础上,分别给出传统的基于mousedown、mousemove、mouseup事件的拖放程序实现代码以及基于HTML5的实现代码,通过对比分析,让学生掌握HTML5中的dragable属性以及ondragstart、ondrop、ondragover等事件的用法。接下来,以浏览器如何响应用户拖放页面元素为案例,引入事件流的概念,并通过示例给出事件冒泡和事件捕获机制的描述,并进一步说明为什么需要在拖放事件响应程序中设置event.stopPropagation()和event.preventDefault()方法。最后,分别设计读取本文文件和图像文件内容的子案例,讲解File对象、FileReader对象、readAsText以及readAsDataURL等方法的使用。
2 案例教学实践
本文讨论的案例教学实践主要以课堂教学为主,其过程包括:教师案例引入、师生课堂讨论、学生分组探究、学生汇报展示、教师总结讲评等。在案例引入阶段,主要由教师介绍案例的背景和内容,教师负责案例情境的创设,引导学生做到身份角色的转变。在《HTML5前端开发》课程中,学生之间通过自行分组,完成诸如需求分析师、页面前端设计师、代码开发工程师、测试工程师、课题负责人等不同角色的设定。在案例引入后,教师学生可以针对案例中提出的具体任务,就所学单元的重点难点内容开展课堂讨论,讨论的形式既可以是由教师组织参与的讨论,也可以是各小组内部的讨论,但每次讨论前,教师与各小组成员都应当确定待讨论的问题,并控制好讨论时间和课堂纪律,不要让讨论流于形式。在讨论基础上,学生开展分组探究学习,这一过程需要各小组成员在课后借助网络完成课题的需求分析、页面设计、程序编码、分析测试等学习任务。在探究学习过程中,小组长应做好任务安排,及时搜集组员遇到的问题,掌握小组案例探究的进度,让小组中每一位成员都切实的参与到案例模块的学习和开发任务中。在分组探究后,小组各成员对各自的案例课题进行汇总,形成学习报告和展示PPT,由课题组长或小组成员在规定的时间向全班进行汇报。针对汇报内容,教师开展总结和点评,针对具体的案例探究成果,提出不足和改进意见,并给学生打分。
为了验证案例教学方法的有效性,我们开展了一个学期的教学实践,通过对80名学生的问卷调查,结果表明学生对采用案例教学方法的《HTML5前端开发》课程的综合满意度达到97%,并且95%以上的学生反映在学习过程中能保持较高的学习兴趣,同时知识和应用开发技能得到了显著的提高。
3 总结
传统的课堂教学过多强调教师的主导作用,使得课堂气氛单调沉闷,学生作为知识的被动接受者,无法进行知识的主动构建。为了打破课堂教学中师生之间的壁垒,针对程序设计和软件开发类课程,积极开展案例教学的改革和实践,結果表明,采用案例教学能有效调动学生学习的积极性,同时也兼顾软件开发知识与实践技能的培养,通过有实际意义的软件项目开发案例,使得课堂气氛不再沉闷,学生也从被动的知识接受者,转变成为知识的主动构建者。
【参考文献】
[1]刘华明,毕学慧,王秀友,韩天鹏,张乐乐.“互联网+”竞赛背景下《软件工程》案例教学研究[J].韶关学院学报. 2017.11.
[2]谢榕,李霞.人工智能课程教学案例库建设及案例教学实践[J].计算机教育.2014.10.
[3]梁胜彬,王倩.软件工程学科的案例教学模式探讨[J]. 计算机教育.2015.23.
[4]诸峰,张晓如,王东升.智慧教学导向的软件工程专业教学方法探索[J].大学教育.2018.7.
[5]张晓如,诸峰,张再跃.网络环境下高校信息技术课程教学有效性探讨[J].科技视界.2015.2.
相关热词搜索: 软件工程 面向 探索 实践 案例下一篇:基于CDIO教学理念的数据库系统