刚结束的一个ASP.NET 1.0 + SQLServer2000培训回顾

刚结束了为期10次课程的ASP.NET 1.0 + SQLServer2000培训。
参加培训的是工作了一年多的ASP+SQLServer2000程序员,他们自己也粗略看过ASP.NET的一些书和例子。

回过头来总结一下这次培训的问题:
我提交过去的课程安排是这样的。
1.建立团队开发环境,介绍帮助的安装和使用。讲ASP.NET的开发方式。
讲解ASP.NET页面构成、作用。粗略讲解服务器控件,初步建立面向对象概念、事件驱动概念。
拿一个具体的程序和ASP对比讲代码分离,HTML代码,后台代码。
介绍C#开发规范,规范大家代码的编写和注释。
征求意见,看大家的期望和重点。课后让大家去熟悉常用控件。

2.数据库连接的几种方式,区别。讲SqlHelper的使用。
根据大家对控件的疑问讲解控件。详细介绍DataGrid,Table等控件和DataTable的用法。
课上完成目标项目的一个有代表性的页面。
课后按照一个项目组的分工,分配大家任务实现各个页面的数据库访问的功能。

3.根据大家完成情况,如果没有实现功能,在课上答疑,帮助其实现。
如果实现了功能,察看代码,指出缺点,提出优化方案。

4,5.课上实现目标系统中未完成的功能中有代表性的地方,
介绍开发中的一些细节,小技巧,介绍使用cookie,Session,ViewState讲一些JavaScript。
课后安排实现其他部分。(可能需要两次课)

6.介绍AJAX。让大家学会用AJAX的方式思考问题。
然后让大家提出目标系统中那些地方可以用AJAX实现。
课上实现一个例子。课后给大家分配任务用AJAX优化系统。

7.介绍用户控件和自定义控件的使用和创建。方法,属性,委托,事件。
课上实现一个带有事件的自定义控件。
然后让大家提出目标系统中那些功能可以抽象为用户控件自定义控件。
由我给出控件的大体框架,该在哪些重载函数中写什么告诉他们清楚,
课后给大家分配任务用用户控件和自定义控件优化系统。

8.介绍分层的概念:表现层,业务逻辑层,数据访问层。
在课上再次比较ASP.NET和ASP,然后我讲解并实现数据访问层。
课上让大家完成部分代码的修改,剩余的课下完成。

9.答疑,简单介绍WebServer和XML的使用,做一个demo。简单讲一下系统的部署。
10 .回顾:对以往课上提出的概念进行总结,简述,深入。答疑。

基本上是按照这个顺序来的,只是面向对象是在最开始试讲的时候就讲了。
系统的分层,我觉得对初学编程的人来说,只需要了解就行了,别陷进得太深,
真在作一个项目的时候,把精力用在分层上对他们来说是不划算的。
他们应该学习的是怎样用控件和程序语言把用户的需求实现出来。侧重点是数据的操作和控件的使用和控制。
讲系统分层一来是他们那边的具体要求,二来我也觉得对他们进一步学习和看微软给的demo有帮助。
XML他们实际没有用到,只是简单的提了一下。WebServers我觉得必要深入进去,会写和调用一个简单的WebServer就足够了。
用户控件和自定义控件的学习我觉得对他们理解系统控件有很大帮助。
所以我让他们实现了一个组合自定义控件和一个继承自DropDownList的自定义控件。控件里面封装了一定的业务逻辑。
----------------
因为他们是ASP转过来的,所以Web的开发方式,他们自己有基础,程序基本代码比较熟悉,不用从While for 开始讲解。
他们用的SQLServer 2000 所以数据库这边也不用讲解。
省去了很多事情。
如果没有ASP的基础,就算有时间讲while for 和数据库维护,SQL语句的操作,对于新手来说,能实际运用到开发中,
作为后面课程的基本技能,还是有一定困难的。

课程每次是4小时+,一般是先讲理论,然后给他们讲我作的demo。demo中留有一些待完善的地方。
讲完后,给他们demo。让他们自己作出来。因为人不多,所以在他们作的时候我能一个一个的答疑解惑。
我对他们的要求是,你先看demo的运行效果,然后你根据课上的讲解和自己对控件的理解实现出效果来。
如果不知道怎么作,那么你看demo的代码是怎么写的。
然后照抄代码,注意是“抄”不是copy。一段一段的抄,抄的时候得理解demo中代码的某行是具体干什么的。
如果不明白,马上问我。
抄完后,编译,运行,如果运行通过了。OK,从整体结构上了解代码。重写一个。自己写,偶尔看demo的代码。
运行通过,ok,实现demo中未实现的部分。
一般说来,抄的代码一般都是不能运行的。那你就比较demo中代码和你代码的区别。
这样你就能知道一些语句的作用。
如果比较两个的代码你都不能找到原因,问我,或者那么把demo copy过来,先在自己机器上编译运行,
这个时候如果编译通不过,运行不了,问我,我帮你解决。
如果运行起来了,那你去掉某块代码,运行看一下效果,知道某部分的代码具体是干什么的。
然后将自己写的那块代码替换过来,看能不能运行。如果不能运行就知道自己错误的原因了。
待有人完成demo后,指导他完成demo中遗留的问题。demo遗留问题解决后,这时候有的人可能demo还没有完成。
没有关系。让第一个完成的人帮忙去协助完成,等待第二个完成demo的人。当有第二个demo完成的人后,
让第一个完成demo的人,去帮助第二个人,因为第一个人是在我的帮助下完成demo的,所以他虽然完成了,
但是可能还是有些不会的地方,让他帮别人解决问题便于发现自己不会的问题,如果碰见确实是没有出现过的问题我协助其解决。
待第二个人完成以后,课程一般也就可以结束了,让他们课下实现,不懂的就问会的两个同学或者问我,
如果还有剩下的时间就针对前几次课程的问题答疑。还有就是和他们聊天:给他们讲解一个软件从想法到寻找客户,到签单,
然后是需求确认,开发,需求反复,开发,最后验收的过程。

出现的问题:作业的完成,因为他们那边也有自己的工作,而工作的内容还不是ASP.NET的所以实际动手的机会不是很多,
真正按照进度完成作业的不多。发现不了很多问题,能问我的也不多。
所以如果可能一定要一起作一个小项目。用项目促进他们写代码的能力。
demo的设计很重要。我的有些demo就不是很好,控件中我主要讲了DataGrid的很多用法。
别的控件都是一带而过,因为我觉得会了DataGrid其他的也就触类旁通了。
应该是在讲解的时候用一个demo。作的时候让他们作另一个demo。这个demo可以根据讲的内容适当的简单或容易。
PPT,技术PPT确实是一个很麻烦的问题,没有讲解业务的PPT做得精彩。因为好多东西都得用代码说明问题。

路过的朋友有什么批评或建议,尽管提出来,下次改进。

 

posted @ 2006-11-06 17:12  破刀  阅读(528)  评论(5编辑  收藏  举报