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.1 C#语言学习任何一门编程技术,无论是手机 APP开发、嵌入式开发还是网站开发,语言都是必须掌握的基本功。C#语言专门用于 ASP.NET 开发,可以分为衍生自 C 语言的面向过程编程和衍生自C++的面向对象编程两部分。
面向过程编程就是分析出解决问题所需要的步骤,然后用函数实现这些步骤,使用的时候依次调用。通过面向过程的学习,使学生养成从计算机程序的视角来分析问题,然后用C#语言解决问题。
面向对象编程是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是描述其在整个解决问题中的行为。很多学习过面向对象编程的学生往往认为面向对象就是类和对象,而不理解它是一种分析问题、思考问题的方式。因此,教学时应首先从宏观上把握面向对象的“思想”,然后才是具体技术的实现,包括类、封装、继承等。
1.2 简单的 WinForm在用控制台项目讲解C#语言时,由于程序运行在一个类似 DOS系统的控制台界面上,容易使学生失去兴趣,体验不到编程的快乐和成就感。因此,在学习了C#语言之后,应该做一些“生动”的例子 来 加深 对语 法的理 解,这 时 可 以 用 简单的WinForm 程序达到此目的。WinForm 程序是常用的 Windows窗体应用程序,诸如 QQ、阿里旺旺、计算器、坦克大战等.通过这些程序可以提高学生的兴趣,巩固所学知识,为下一步的学习打好基础。
这一阶段的 WinForm 程序重点应放在对前面所学知识的练习上,无需讲解 WinForm 底层较难的技术,例如消息队列、多线程、socket通讯和界面渲染等,是所谓的“借壳学习”.
1.3常用。Net Framework类无论是开发控制台程序、WinForm 程序还是ASP.NET程序都会用到相同的操作,比如打开一个文件或者访问数据库,这时无需程序员自己编写代码实 现,而是调 用。NetFramework 中 提 供 的类。在这个阶段把常用的。Net Framework类掌握了,同时也是对面向对象编程里关于“类”的实例的学习,对后续阶段的学习非常有帮助。这些类包括:IO 类 (FileStream、File、Path)、Math 类、String-Builder类、集合类 (HashTable、List<T>、Dic-tionary<K,V>)、StopWatch类等。
1.4 SQLSQL(Structured Query Language)是结构化查询语言的缩写。对于大多数应用程序来说,存储和检索数据都是核心功能,针对数据库的开发已经成为软件开发的一种必备技能。常用的数据库管理系 统 有 Access、MySQL、MSSQLServer、Oracle等,虽然这些不同的数据库对于数据库管理员来说使用方法各异,但对于开发人员来说区别不大,因为都是使用统一的操作语言SQL.
1.5 ADO.NETADO.NET 是。NET 中用来访问数据库的技术。在讲解 ADO.NET时,很多教材均是讲解相关的SqlDataSource等数据控件,基于这些控件自动生成增删改查代码,完成对数据库的访问。这样虽然可以使学生快速地入门并看到效果,但学生也只会照葫芦画瓢拖拽控件,而实际上工程应用中很少甚至不用SqlDataSource,因为它会生成大量冗余的代码,效率不高。培养学生自己手写数据库的连接代码和增删改查代码,有助于学生理解 ADO.NET原理,在不同的应用场景比如数据库切换也能够应对自如。
1.6 HTML、JavaScript、DomWEB前端工程师和 ASP.NET 程序员是两类职位,很多同学误以为学习 ASP.NET 就不需要掌握前端的 Html、JavaScript、Dom 等技术了,把两者割裂开来。其实两者是相辅相成的。开发动态网站的主流服务器端技术有 ASP.NET、JAVA和PHP等,无论哪种服务器技术,在响应浏览器请求时,都是传输基于HTTP协议的数据包,即浏览器能够解释执行的JS脚本、HTML 代码、CSS样式表等。因此需要在学习 ASP.NET 程序之前先掌握前端相关技术。
1.7 ASP.NETASP.NET 是开发动态网站的服务器端技术,主要有WebForm 和 MVC两种开发模式,目前授课内容多以 WebForm 为主。在讲授 WebForm开发时,大多是利用 VS开发环境中提供的各种控件开 发 网 站。这 样 的 教 学效 果往往 是学 生不懂HTTP协议、“请求→响应”模型等网络原理就可以开发出一个“能用”的网站,而在开发访问量大、性能要求高的网站时无法应对,甚至有的开发场合根本不允许使用控件。MVC开发模式就很少使用控件,因此学生在从 WebForm转到 MVC时,会遇到很大困难。在教学和实践的基础上,总结出以下的学习内容和顺序:使用一般处理程序完成单表增删改查、使用 WebForm结合服务器控件完成增删改查、使用AJAX技术完成增删改查、使用 MVC完成增删改查。这样可以使学生充分理解 WEB开发原理,并能熟练使用 WebForm和 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.