CSDN旗下水之真谛出品(http://blog.csdn.net/FantasiaX)
小序:
最近,应邀为朋友公司新招聘来的新员工进行C#培训,由于项目要人相当紧,可以用于培训的时间不是很多——大概只有2到3周——而且要求员工能够跟着老员工上手写Code。新员工完全是大学计算机相关专业本科毕业,经初步测试,得知水平比较平均。这样的培训对自己也是一种考验。本文的目的是与大家探讨在这样一种情况下学习C#的最快速方法。
正文:
一.培训的时间长度和课时安排
1. 时间长度:3周
2. 课时安排:每周二、五晚上7:00 – 9:00
二.学生情况
1. 学历:大学本科毕业
2. 专业:全部为计算机相关专业
3. 成绩:学习成绩中等
4. 英语水平:较低
5. 编程能力:有C语言基础,个别会Java
6. 性别:男-女 = 2-1
三.培训目标
1. 经过培训后能上手跟老员工一起coding
2. 淘汰率小于30%
四.培训资料
1. Visual Studio 2005 自带MSDN离线版(英文版)
2. Visual Studio 2005 自带C# Language Specification(英文版)
3. 《Beginning C# Objects》中文版(自选)
五.培训方法
1. 培训中贯彻的原则——
i. 抛弃以往从语言本身入手的方法,一切以Class为核心
ii. “三不原则”,不为了学语言而学语言;不为了学控件而在窗体上堆控件;不为了做网页而学习ASP.NET
iii. 业务驱动,从一开始就分析一个即定的业务,学习数据抽象的能力。
iv. 服从架构设计,了解和使用UML和Design Pattern,学会简单的分析架构,更重要的是在给出Class的要求后能够使用C#进行实现,在实现功能时能找到合适的控件;实现完后能正确把程序编译为合适的组件。让学生们养成习惯,拿到一个任务后是先抽象Class和分析架构,然后再动手写程序。
2. 课时技术分配——共6次课
i. IDE的使用;C# Lang Spec的使用;MSDN的使用;Class的核心意义(各种成员的意义)
ii. 给出一个小任务,先分析架构,然后再用C#实现,最后编译(有类库)。任务中,类、成员数据、成员方法、属性(先不讲特性)、委托+事件、继承、多态,都要有体现。
iii. C#与多种项目的接口,如什么时候使用P/Invoke、什么时候使用GDI+、什么时候使用XML和Regex等。同节课讲解Web程序从静态HTMLà客户端脚本àCGIàWeb ServeràASP.NET的进化。
iv. 学习使用C#连接SQL Server。再给出一个任务,先进行架构分析。
v. 使用三层结构和MVC理论,让学生先实现数据层和业务层(学习Web Service),然后再使用WinForm和WebForm来实现表示层。
vi. 分析公司现有项目的从需求到实现,总结三周来学习的内容。如果时间足够,进行验收考试。
六.学生务必具备的四个能力
1. 文档内导航能力:因为C#语言部分需要快速学习,而最快的方法莫过于读grammar productions(第一节课内容),读grammar productions需要很强的、在文档中跳跃的能力,还需要有最基本的“调用展开”和“递归”思想。
2. MSDN内导航能力:从搜索或者Index开始,找到一个类,然后阅读相关类,然后返回主类——要能在MSDN中进退自如。
3. 代码导航能力:在多文件代码中能够快速定位到一个类/成员的声明/定义处,在各种程序元素和作用域中跳跃而不迷失方向并能进退自如。
4. 在网络中快速搜索需要的内容(我会介绍一些优秀的网点给学生)
大家如果有什么好的建议和讨论,也请回复在后面。本文的构成内容就不止是我一个人想出来的,还有阿虎的指导。希望本文这块砖能引出大家更多的“玉”来。