《网络软件开发》课程标准一、基本信息课程名称:《网络软件开发》教学团队:课程负责人:伍守意;团队成员:潘彪、肖爽、唐姗、付斗平及企业技术骨干;团队结构:平均年龄32岁,高级职称1人,中级职称1人,在读研究生2人,企业技术骨干2人,专任教师经常参加企业实践,有较丰富的项目开发经验,对《网络软件开发》课程在专业人才培养中的地位和作用具有较深入的理解。
适用专业:计算机网络技术、电子商务专业学时标准:112课时,其中实践60课时校内实训基地:有两个实训室和校园网络信息中心,每个实训室的配置如下:计算机120台,多媒体演示机1台,投影仪1台。
安装Windows 2003、SQL Server 2005数据库、Visual Studio 2008。
校外实训基地:要求具有一定规模的、从事软件开发、网页制作等业务的企业,典型校外实训基地有:长沙创发科技有限公司、湖南长沙千家万福文化传播有限公司等。
二、总论(一)课程定位《网络软件开发》是湖南水利水电职业技术计算机网络技术专业的专业核心课,并适合电子商务等相关专业,是培养基于C#技术Web程序员的主干课程。
该课程是一个综合性强、实践性很强的课程,它整合了计算机程序设计语言、数据库技术及项目开发等方面知识。
本课程对于培养学生的专业技能和职业素质具有非常重要的作用。
通过本课程的学习,学生在掌握一定Web编程基本知识的基础上,通过丰富的案例开发实践,逐步具备综合应用计算机软件理论知识从事Web应用开发的能力,并具备一定的项目开发的专业技能和基本素质。
本课程是一门将学生几年所学基础知识综合应用,实现其理论知识与职业岗位能力需求直接对接的课程。
本课程的前导课程为《C#语言程序设计》、《数据库应用基础》、《Dreamweaver 网页制作技术》《PhotoShop图形同像处理》等基础课程。
(二)教学理念《网络软件开发》课程组对课程理念进行深入的研究,借鉴印度、德国等国家的职业教育方法,按照我国软件企业的Web程序员岗位要求,广泛吸纳国内兄弟院校的经验,形成了“以学生为主体”、“以教师为主导”、“以能力培养为主线”、“以工作任务为目标”的教学理念,主要内容包括:(1)“专业+虚拟公司+企业”,实际项目课堂化,设计过程企业化用真实项目驱动教学全过程,形成项目需要、解构、模块设计、知识点的理论分析过程,利用虚拟公司完成项目实践,最后应用到实际中,构建了基于项目的U型逆向循环、点线面体相结合的教学体系。
(2)“MCLA+WORKSHOP+ISAS”的教学方法,个人编程能力与团队合作能力同步提升MCLA是一种基于榜样的学习方法,教师以程序员的职业身份授课,是听众的模仿对象,通过其示范使学生掌握程序员的基本编程技能;构建WORKSHOP(软件工厂)式的实践环境,以项目小组形式(团队)完成项目的研发过程;以ISAS的方式(团队合作)讲解项目,并接受考核小组的考核,程序员职业素质得以养成。
(3)根据WEB程序员职业技能需要确定课程内容本课程主要培养学生基于C#技术的Web开发能力,对应的职业岗位是Web 程序员。
根据WEB程序员的技能需要,应该具备C#、数据库、HTML基础(先导课程内容),且具有标准控件、用户控件、数据源控件、、基本对象及三层程序设计基本思想(本课程的主要内容),能够胜任基于C#的WEB 应用软件开发工作。
(4)以典型任务为载体设计教学环节,以真实项目为参照强化技能训练以实际项目开发的典型工作任务为载体设计教学环节,建立真实工作任务与专业知识、专业技能的联系,增强学生的直观体验,激发学生的兴趣。
每一个实践环节都围绕企业实际项目展开,通过各个环节的技能训练,感受职场环境,实现由学生角色到职业人角色的转变。
(三)设计思路课程设计的总体思路是:在详细的市场调研基础上,对Web程序员的岗位能力进行分析,从而确定Web开发程序员岗位的人才培养规格,再参照印度IT 教育和NIT-PRO课程开发方法,以课程教学理念为总体指导思想,结合Web应用开发技术的具体现状,确定教学内容并编写课程标准,然后进行主教材、案例库,教师指导书、学生指导书以及资源库的开发。
在教学实施过程中通过理论实践一体化的教学模式、通过各种各样的教学方法和教学手段,达到预期的课程目标,培养Web程序员应具备的能力,利用标准化的教学评价手段检验教学效果。
分析存在的不足,持续改进。
因此,课程设计过程是一个循环往复,螺旋式上升图1 课程设计思路在进行课程设计的过程中,应坚持如下几个基本原则:1、以市场需求决定人才培养规格,以岗位能力对应关系确定课程目标;2、坚持工学结合的指导思想,注重学生职业能力和职业素质的培养;3、课程内容的选取要结合职业院校学生的特点和Web技术的现状,要坚持持续不断地改进;4、教学实施过程中要以培养学生的能力为主,注重培养学生分析和解决问题的能力,推行逆向循环教学法、“MCLA+WORKSHOP+ISAS”的教学方法,同时提倡方法多样化;5、遵循考核标准,严格教学评价,并注重结果分析,以此作为课程不断优化改进的基础;6、加强师资队伍建设,不断提高教师职业素质,只有这样才能保证各种教学方法切实有效地实施,提高教学质量;7、加强与企业的合作和联系,花大力气加强校外实训基地建设,为教师和学生的教学实践提供优良场所。
另外,还应探索与行业领先企业的技术交流方式,与大企业建立长期的联系,聘请这些企业的专家来学校讲学或讲座,送老师到这些企业参观学习,提高教师素质,开阔教师的视野。
为课程的不断进步提供支撑和保障。
三、课程目标(一)总目标本课程针对Web应用开发及其相关工作岗位而设置,旨在培养学生应用Web编程理论知识和实践技能完成Web应用系统设计的能力。
使学生能够胜任软件工程师等工作岗位,并为软件工程的高级岗位奠定软件技术理论和实践技能基础。
课程目标应基于工作岗位与能力素质对应表制定。
计算机应用技术及相关专业的课程、岗位、能力素质对应表如下:(二)分目标1、知识目标(1)掌握常用的Web应用开发专业词汇(2)掌握动态网页的工作原理(3)掌握数据库的基本知识和基本原理(4)掌握Web客户端编程基本知识(HTML和JavaScript)(5)掌握C#编程基础知识(6)掌握C#服务器端基本知识2、能力素质目标(1)掌握基本的编程技能(2)掌握运用编程知识和数据库知识编写复杂应用的技能(3)了解项目开发的基本过程和方法(4)提升项目文档能力和语言表达能力(5)培养沟通能力和良好的团队精神(6)培养良好的职业习惯和职业态度四、内容标准 (一)选择方案根据Web 应用开发技术市场调研报告和相关岗位中的对Web 应用开发的技术要求,本课程选用C#技术,以Visual Studio 为教学内容,Visual Studio 是基于C#平台的企业应用开发平台,是运用C#进行Web 应用开发的基础。
(二)课程内容标准借助CDIO 工程教育理念,基于工作任务重构模块式教学内容,根据WEB 应用系统的开发过程,采用基于工作任务和技能需求设计课程模块,如下图2所示。
图2 课程设计模块以技能模块的知识需求为要素组织模块教学内容,坚持理论够用、适用、实用原则。
以项目为中心,以能力为本位,按Web 项目开发流程整合HTML 、JAVASCRIPT 、 、C#等内容形成8个模块教学内容。
整门课程的教学以真实的WEB应用项目为载体,每个教学单元的工作任务都借助于案例进行介绍。
实践教学内容包括:案例模仿、课程实训、真实项目模块设计、综合实训、校内实训、校外实训等多个实践环节:(1)案例模仿:在每个模块单元学习前,教师演示一个实际项目,提出与本单元模块有关的工作任务,让学生自主学习和查询相关资料来完成项目中与本单元有关的功能。
然后教师给学生解释项目功能的关键实现代码,之后由学生模仿完成。
这一步的作用是提高学生的学习积极性,培养学生的自学能力和解决实际问题的能力。
(2)课程实训:学生通过案例模仿学习了最常用最关键的知识和技能,之后教师以点(关键知识点)带面,讲解相关知识,学生通过课程实训加深对知识点的理解,并学会各知识点的应用。
(3)真实项目模块设计:课程实训是个案例,是验证性实验,学完一个模块单位之后,要求学生用本单元的知识解决一个综合性问题(学院项目任务)以巩固本单元所有知识,并提高实践能力。
(4)综合实训:所有模块单元学会之后,3-5个学生组成一组,由兼职教师带或有开发经验的专职教师指导学生完成一个完整的实际项目,这样可以加深学生对所有模块单元知识的理解,并培养学生综合应用所学知识解决实际问题的能力,使学生掌握WEB应用开发流程,积累软件开发经验。
(5)校内实训:这是提高阶段,这个阶段在校内软件公司完成,由有项目开发经验的教师和企业专家指定。
完全按软件公司的规范动作,在一个月时间内,每个项目完成一个实际项目,项目组人数根据项目大小而定。
(6)校外实训(顶岗实习):学生到实习单位,参与实习单位的真实项目,项目由实习单位定。
课程内容安排见下表:五、实施意见(一)教与学1、教学方法本课程采用岗位工作任务驱动的理论与实践一体化教学模式,要求课程组在教学中,不断创新,以实际岗位工作任务为依据、灵活运用多种教学方法,通过多年模式,逐步形成了具有职业教育特色的逆向循环教学法、MCLA+Workshop+ISAS等教学方法。
(1)逆向循环教学法传统教学是以课堂为中心,教师为主体,教学方法一般是先理论后实验实习,这种以课堂为中心的教学不利于学生主体地位的落实和学习积极性的调动,不利于学生主体活泼地健康发展。
职业学校如果还沿用这种传统的普教模式,结果只能是学生越来越厌学,不利于培养学生的职业技能,这一点在市场调研结果中已得到充分体现。
很多毕业生反映,才用这种方式教学虽然学到了很多知识,但对于这些只是与岗位技能要求的对应关系要在毕业工作后很长时间才能体会到,不利于他们的能力发挥。
面向对象大师BetrandMayer从软件认知规律出发,提出了逆向教学的思想,这种教学法与传统的程序设计课程的教授次序完全相反。
传统的次序是自下而上的:从程序的建造单元开始,例如变量与赋值,接着是控制语句和数据结构,再进入模块设计与构造大程序的技术。
这种途径能让学生对程序的基本单元有一个很好的实际理解。
但是它并非总是能教授系统建造的概念,而这点是一个软件工程师要想在专业上成功所必须掌握的。
逆向教学的原则是:学生先作为用户来使用一些工具或部件来建造他们自己的应用系统,然后逐步揭开这些工具或部件的面纱看看他们是怎么做的、并改一改,作一些扩展。
这并非忽略了讲授这种方法的目的是让学生能掌握软件建造的关键概念,特别是抽象。
有效传授这个概念的唯一法门便是通过实例,特别是通过给学生展示出如何复用已存在的千万行代码来编制出让人印象深刻的应用。