基于ASP.NET的WEB开发方向教学内容优化研究
2015-03-13崔仲远卢欣欣
崔仲远,卢欣欣
(周口师范学院计算机科学与技术学院,河南 周口 466001)
基于ASP.NET的WEB开发方向教学内容优化研究
崔仲远,卢欣欣
(周口师范学院计算机科学与技术学院,河南 周口 466001)
当前大多数教材的教学内容侧重基于ASP.NET控件进行WEB开发,与企业级项目的实际要求差距较远.通过对此多年教学和开发经验的总结,提出将教学内容区分为C#、WinForm、.Net Framework、SQL、ADO.NET、HTML、JavaScript、Dom、ASP.NET等部分,分别对每部分的教学形式、教学内容等方面进行研究,培养学生具备企业所需的WEB项目开发能力.
WEB开发;ASP.NET;教学内容
WEB开发方向包括信息管理系统和网站,是计算机软件相关专业的主要就业方向,社会对WEB开发工程师有着巨大的需求.当前,各高校普遍开设WEB开发类课程,涉及的技术方向主要有ASP.NET、JAVA、PHP等[1-2].ASP.NET是微软推出的创建动态WEB页的一种强大的服务器端技术,很多学者、教师对相关的教学模式、教学方法进行了研究,而对教学内容的探讨却寥寥无几[3-6].笔者结合ASP.NET课程现状及学生认知规律,研究如何优化教学内容,以期提高教学质量,培养出更加适合社会需求的应用型人才.
1 教学内容
笔者通过查阅大量ASP.NET教材发现,大多数的教学内容均用大量篇幅讲解控件的使用,然后基于控件的拖拽来完成管理系统的开发,而忽略了WEB开发的原理,比如WEB开发所基于的HTTP协议.对这样的教学内容,很多同学认为“不用懂太多东西,拖拖控件、设设属性、绑定一下,写几个Onclick事件就掌握WEB开发了”.因此导致人才市场上到处充斥着“只会拖控件的ASP.NET开发人员”,在性能需求较高的WEB开发情境下变得无从下手,与社会用人单位的需求脱节.
在教学内容的组织与安排上,笔者邀请企业工程师、已就业学生进行交流,围绕应用型人才的培养目标,总结设计了如图1所示的教学内容体系.只有遵循由浅入深的原则,通过正确的循序渐进的方式学习,才能明白封装控件的内部原理.当控件无法满足业务需求时,程序员可以自己实现相应功能,还可以进一步封装成第三方控件供他人使用.
图1 基于ASP.NET的网站开发教学内容体系图
1.1 C#语言
学习任何一门编程技术,无论是手机APP开发、嵌入式开发还是网站开发,语言都是必须掌握的基本功.C#语言专门用于ASP.NET开发,可以分为衍生自C语言的面向过程编程和衍生自C++的面向对象编程两部分.
面向过程编程就是分析出解决问题所需要的步骤,然后用函数实现这些步骤,使用的时候依次调用.通过面向过程的学习,使学生养成从计算机程序的视角来分析问题,然后用C#语言解决问题.
面向对象编程是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是描述其在整个解决问题中的行为.很多学习过面向对象编程的学生往往认为面向对象就是类和对象,而不理解它是一种分析问题、思考问题的方式.因此,教学时应首先从宏观上把握面向对象的“思想”,然后才是具体技术的实现,包括类、封装、继承等.
1.2 简单的WinForm
在用控制台项目讲解C#语言时,由于程序运行在一个类似DOS系统的控制台界面上,容易使学生失去兴趣,体验不到编程的快乐和成就感.因此,在学习了C#语言之后,应该做一些“生动”的例子来加深对语法的理解,这时可以用简单的Win Form程序达到此目的.Win Form程序是常用的Windows窗体应用程序,诸如QQ、阿里旺旺、计算器、坦克大战等.通过这些程序可以提高学生的兴趣,巩固所学知识,为下一步的学习打好基础.这一阶段的WinForm程序重点应放在对前面所学知识的练习上,无需讲解WinForm底层较难的技术,例如消息队列、多线程、socket通讯和界面渲染等,是所谓的“借壳学习”.
1.3 常用.Net Framework类
无论是开发控制台程序、Win Form程序还是ASP.NET程序都会用到相同的操作,比如打开一个文件或者访问数据库,这时无需程序员自己编写代码实现,而是调用.Net Framework中提供的类.在这个阶段把常用的.Net Framework类掌握了,同时也是对面向对象编程里关于“类”的实例的学习,对后续阶段的学习非常有帮助.这些类包括:IO类(FileStream、File、Path)、Math类、StringBuilder类、集合类(Hash Table、List<T>、Dictionary<K,V>)、Stop Watch类等.
1.4 SQL
SQL(Structured Query Language)是结构化查询语言的缩写.对于大多数应用程序来说,存储和检索数据都是核心功能,针对数据库的开发已经成为软件开发的一种必备技能.常用的数据库管理系统有Access、MySQL、MSSQLServer、Oracle等,虽然这些不同的数据库对于数据库管理员来说使用方法各异,但对于开发人员来说区别不大,因为都是使用统一的操作语言SQL.
1.5 ADO.NET
ADO.NET是.NET中用来访问数据库的技术.在讲解ADO.NET时,很多教材均是讲解相关的SqlDataSource等数据控件,基于这些控件自动生成增删改查代码,完成对数据库的访问.这样虽然可以使学生快速地入门并看到效果,但学生也只会照葫芦画瓢拖拽控件,而实际上工程应用中很少甚至不用SqlDataSource,因为它会生成大量冗余的代码,效率不高.培养学生自己手写数据库的连接代码和增删改查代码,有助于学生理解ADO.NET原理,在不同的应用场景比如数据库切换也能够应对自如.
1.6 HTML、JavaScript、Dom
WEB前端工程师和ASP.NET程序员是两类职位,很多同学误以为学习ASP.NET就不需要掌握前端的Html、JavaScript、Dom等技术了,把两者割裂开来.其实两者是相辅相成的.开发动态网站的主流服务器端技术有ASP.NET、JAVA和PHP等,无论哪种服务器技术,在响应浏览器请求时,都是传输基于HTTP协议的数据包,即浏览器能够解释执行的JS脚本、HTML代码、CSS样式表等.因此需要在学习ASP.NET程序之前先掌握前端相关技术.
1.7 ASP.NET
ASP.NET是开发动态网站的服务器端技术,主要有Web Form和MVC两种开发模式,目前授课内容多以Web Form为主.在讲授Web Form开发时,大多是利用VS开发环境中提供的各种控件开发网站.这样的教学效果往往是学生不懂HTTP协议、“请求→响应”模型等网络原理就可以开发出一个“能用”的网站,而在开发访问量大、性能要求高的网站时无法应对,甚至有的开发场合根本不允许使用控件.MVC开发模式就很少使用控件,因此学生在从WebForm转到MVC时,会遇到很大困难.在教学和实践的基础上,总结出以下的学习内容和顺序:使用一般处理程序完成单表增删改查、使用Web Form结合服务器控件完成增删改查、使用AJAX技术完成增删改查、使用MVC完成增删改查.这样可以使学生充分理解WEB开发原理,并能熟练使用Web Form和MVC两种模式开发.
2 小结
“欲速则不达”,速成的结果就是以后浪费更多的时间,只有按照正确的学习顺序才能更好地掌握ASP.NET进行WEB开发.通过笔者总结的教学内容,可以使学生掌握.NET开发扎实的基础知识,要走向高手之路还有Entity Framework、面向接口编程、Nhibernate和Silverlight等企业级高级技术需要学习,还需要在项目开发中将这些基础知识进一步综合应用.
[1]王冬.“Web网络编程”课程建设探索与实践[J].长春师范学院学报,2014,33(1):137-139.
[2]张建平,马芳,马利.“动态网站-ASP.NET技术”课程教学改革探索[J].中国电力教育,2014(6):92-93.
[3]卫国标.基于CDIO模式的ASP.NET课程教学研究[J].安庆师范学院学报:自然科学版,2014,20(1):115 -118.
[4]何力.ASP.NET课程教学内容和方法探索[J].企业科技与发展,2010(24):135-136.
[5]任亮,唐林.基于任务驱动的ASP.NET高级应用开发课程改革探索[J].教育探索,2013(4):22-23.
[6]吴华洋.ASP.NET程序设计课程教学方法改革研究[J].黑龙江教育,2011(12):77-78.
Research on optimizing content of WEB development teaching based on ASP.NET
CUI Zhongyuan,LU Xinxin
(School of Computer Science and Technology,Zhoukou Normal University,Zhoukou 466001,China)
Most of current teaching contents of WEB development are based on ASP.NET controls,it can't meet the requirement of the enterprise project.This article put forwards the teaching content is divided into C#,WinForm,.Net Framework,SQL,ADO.NET,HTML,JavaScript,Dom,ASP.NET and other parts,and discusses how to optimize the teaching content mentioned above,so that the students have the ability to develop the real WEB project based on many years of experience in teaching and developing of WEB development.
WEB development;ASP.NET;teaching
G642
:A
:1671-9476(2015)05-0134-03
10.13450/j.cnkij.zknu.2015.05.034
2015-05-07;
:2015-06-05
周口师范学院教学改革项目(No.J201425)
崔仲远(1982-),男,河南濮阳人,讲师,硕士研究生,研究方向为计算机应用与开发.