面向综合能力培养的《PHP Web开发》课程教学改革初探
2018-10-27陆声链李帼王继杰
陆声链 李帼 王继杰
【摘 要】采用项目化教学法对《PHP Web开发》课程进行了初步教学改革实践,以项目任务实践为导向,加深学生对课程知识在真实场景应用的认识,切实提高学生的主动学习和实操能力。同时在课堂教学和实践中更多地融入软件项目系统分析、代码测试、项目文档编写、团队协作等软件项目实施能力的锻炼,提高学生的综合职业能力和就业竞争力。
【关键词】综合能力培养;Web应用开发;教学改革;项目化教学
中图分类号: G642;G434 文献标识码: A 文章编号: 2095-2457(2018)16-0112-003
DOI:10.19694/j.cnki.issn2095-2457.2018.16.051
【Abstract】Project-oriented teaching was used in the course of “PHP Web development”.to improve the comprehensive occupation ability of computer major students.This teaching method guided by project task practice,with the purpose to improve students understanding to the application of curriculum knowledge in real scenes,and improve students initiative learning and practical ability.At the same time,software project system analysis,code testing,project document writing,team collaboration and other software project implementation ability exercise were also included in the course to improve the students comprehensive professional ability and employment competitiveness.
【Key words】Training of comprehensive ability;Web application development;Teaching reform;Project-oriented teaching
1 課程教学现状及存在问题
《PHP Web开发》是我校近年来开设的Web技术课程之一,教学方式仍然采用课件讲解+操作演示+学生练习+老师课后点评的传统教学模式。这种教学模式以编程语言的语法教学为主线,虽然也有实践环节,但实践过程不够系统化,难以把重点放在解决问题的方法和思路上,更缺乏项目分析、系统设计、代码测试、文档编写等软件项目综合实施能力的锻炼,学生绝大部分时间都在学习这门编程语言的理论知识和技术要点,而对这些技术在实际项目中如何应用缺乏直观的认识。结果是学完课程后学生往往只停留在了解这门编程语言知识点的水平上,而缺乏将这些知识应用到具体应用需求的能力,更缺乏对实际完整软件项目的分析与操控能力,距离培养学生精通动态网站建设开发综合实践能力的预期教学目标还存在较大差距。一个很令人痛心和深思的问题是,很多学生在学校参加多门Web技术相关课程后,还需要参加学费不菲的社会培训,以便能完成必须的毕业设计或更有信心参加企业招聘。这个问题已引起不少高校老师的关注[1]。
2 教学改革的思路
Web应用项目的开发是一项设计十分复杂的工作,不仅涉及HTML、CSS、JavaScript等常规的网页设计知识,以及数据库设计、SQL数据库操作、Web服务器配置等技术,还需要具有一定的软件项目文档编写能力。一个成功的软件项目,除了编写代码,深入的需求调研、详尽的系统设计、细致的系统测试、完善的项目文档记录、良好的团队协作等缺一不可。虽然在高校计算机专业的教学内容中,除了大量编程语言外,往往还有专门的软件工程方面的课程。但很多时候,这两方面的课程培养是分开的,讲授编程语言的课程主要讲语言本身,而软件工程的课程则侧重介绍软件工程的各种概念或案例。学生在学习某种编程语言时,很难得到比较系统的软件项目实施过程训练,导致学生普遍存在系统分析能力欠缺、沟通表达能力不足、团队合作意识不强、文档素养低等问题[2]。
为了更好地培养学生的Web应用项目开发综合能力,我们在《《PHP Web开发》课程中采用了项目化教学法。项目化教学法是一种理论与实践相结合的教学方法[3],旨在通过老师引导学生动手实施一个完整的工程项目,达到不仅向学生传授专业知识,同时也能够挖掘学生的内在学习潜能、调动学习热情的目的。在本课程教学中,将以一个真实的Web应用为主线,把项目分解为一个个更小、更明确的阶段任务,将课程所要讲授的知识点融入任务中,使得学生不觉得是在枯燥地学习知识,而是在解决现实需求。
同时,由于现实的软件项目开发是一项复杂的系统工程,因此我们在该课程的教学改革中,还将锻炼学生在需求调研和分析、系统设计、软件测试、系统部署等方面的能力和意识,培养学生的综合职业能力。通过把理论教学与实践教学完美的结合在一起,提高学生的学习热情、动手实践能力和研究分析与解决问题的能力、团队协作能力、交流能力、职业素养与创新能力等,使学生掌握了Web应用开发的流程与步骤,积累一定的项目开发的经验,为今后就业或创业打下良好的技能与实践基础。
3 教学改革实践
3.1 教学内容组织
一个Web应用项目从功能上划分一般都包括信息展示、数据维护、用户登录等功能模块,总会涉及到文字、图片等信息的网页展示技术,数据维护方面主要就是数据库的增、删、改等操作,以及文件上传技术;而信息录入、用户登录等页面操作更多地涉及网页表单、会话管理层面的技术。因此,本课程在知识点的内容设置上,将会以页面信息展示技术和数据库操作技术两个方向为主线。其中页面信息展示技术既包括HTML、CSS和JavaScript等传统静态网页设计技术,同时也包括HTML5、AJAX、JQuery等时下流行的网页交互技术。数据库操作技术方面,将以MySQL数据库的SQL操作为主,重点训练学生在SQL查询、数据更新、统计等高频数据管理操作方面的能力。而对于项目需求分析、项目文档编写、团队协作等方面的综合能力培养方面的内容,则放在课程设计实践环节,通过提供示例文档资料、组织学生讨论等方式进行。
3.2 教学方法
在本课程中,我们通过两个项目应用项目化教学法:课堂训练项目和课程设计项目。课堂锻炼项目由老师主导,学生跟着老师进行实践;课程设计项目则由学生自选并通过小组的方式进行开发实现。课堂训练项目是本课程的主体部分,事先由任课教师精心选择合适的选题,进行系统设计,划分为功能和实现难度适中的模块,并用该课程对应的Web技术进行编程实现,其目的是将本课程所需要讲授的知识点都分解和融入项目的各个任务模块中。同时,还学生提供免费的学习资源,传授查阅资料的方法,使学生掌握技术应用的关键点。学生在老师的全程引导和帮助下,一步步实现该软件项目各个模块功能的开发。从而使得学生通过现实的例子,理解并掌握该门编程语言中各个对象、组件等知识点的具体应用。通过这种任务驱动、老师引导、学生跟做的方式,激发学生的学习兴趣,培养其的自学能力。
而对于项目需求调研、系统分析、代码测试、文档编写、团队协作等方面的能力培养,则放在课程设计项目环节进行。课程设计项目主要由学生通过分组,以小组为单位独立完成整个项目的需求调研、设计和编码。老师则事先提供必要的软件项目实施过程指导,以及编码规范、软件项目文档范例等方面的资料。
3.3 教学过程实施
本课程的授课时间大约为18周,前12-13周用于课堂训练项目,接着用4周时间进行课程设计项目的开发实践,最后1-2周进行课程考核和总结。在课堂训练项目教学环节,因为真正的课堂教学时间有限,为了让学生在课堂中得到更多的锻炼,我们会事先将每个任务的编程操作过程录制成视频,放在网上供学生随时观看,老师尽量不占用课堂时间进行演示。为了及时掌握学生的真实学习情况,还要求学生每次课都提交本次课对应的项目任务的代码,并在下次课针对普通存在的问题进行讲评。课程设计项目由学生自由进行分组,每个小组4-5名学生,并推选出组长1名,负责项目进度的推进以及与其他小组、老师的联系。
3.4 考核方式
为了更好地锻炼学生的综合能力,课程的考核主要采取“平时成绩+课程设计项目答辩成绩”的评分方式。其中平时成绩占30%,课程设计项目答辩占70%。平时成绩主要通过学生平时提交的课堂作业进行评定。课程设计项目成绩则通过现场答辩来进行,答辩时邀请3位老师作为评委,每个小组答辩时间为10分钟,其中6分钟用于演示系统,4分钟用于回答问题。答辩前各个小组需要提交项目需求说明书、系统详细设计报告、用户使用手册、小组成员分工说明书等必要的文档资料。答辩老师通过小组的现场演示情况和文档资料,以小组为单位进行评分,小组评分的考核依据如表2所示。最后任课老师根据小组成员的具体分工,为每个小组成员打分。
4 综合能力培养
4.1 软件项目的系统分析能力
在课程设计项目锻炼环节,要求学生通过查询文献、实地调查等形式,切实开展需求调研,并通过小组讨论,进行必要的需求分析、系统设计,使得所开发的项目的需求、系统构架、技术选择等具有一定的合理性、先进性,避免闭门造车。
4.2 文档撰写
同样是在课程设计项目环节,要求各个小组必须撰写和提交项目需求说明书、系统详细设计报告、用户使用手册、系统实施总结报告等一系列文档资料,并选取这些相关文档的范例供學生参考。
4.3 高质量编码和良好编程习惯
良好的编程习惯是高质量编码的保障,为此,我们在课程教学中,设置了编码规范的课程,并通过提供规范编码和不规范编码的一些示例代码段,培养学生养成良好的编码习惯。同时,在课程考核标准中,代码的质量也是评分的标准之一。
4.4 团队协作
我们通过在课程设计项目环节引入小组合作实施来培养学生的团队协作意识,在实施中,老师引导小组成员发挥各自的能力和性格优势,合理分工和协作,争取学生在项目的功能实现、界面效果、文档编写、小组答辩等方面都能够兼顾,争取各个成员都能发挥自己的作用。
5 总结与展望
通过在《PHP Web开发》课程中采用项目化教学法,我们发现学生的学习主动性和积极性有了较大的提高,这种以项目任务为驱动、以学生动手探索为主、老师引导为辅的教学方式,不仅锻炼了学生的动手编程能力,同时通过在课程实践中加入需求调研、系统设计、软件测试等项目实施能力的锻炼,对提高学生的专业综合素质起到了良好的推动作用,我们会在以后的教学实践中进一步完善和推广。
【参考文献】
[1]赵玲玲,孙巧云,邵秀凤.PHP程序设计课程教学改革研究[J].教育教学论坛,2016,46:85-86.
[2]伍春香,刘斌,李小红.基于能力培养的软件工程教学实践[J].计算机教育,2017,08:38-41.
[3]钱存阳.项目化教学培养大学生系统实践能力[J].高等工程教育研究,2015,2:187-192.