C#极限学习方法——挑战C#学习的最快速度

简介:
小序:
         最近,应邀为朋友公司新招聘来的新员工进行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.      在网络中快速搜索需要的内容(我会介绍一些优秀的网点给学生) 
 
        大家如果有什么好的建议和讨论,也请回复在后面。本文的构成内容就不止是我一个人想出来的,还有阿虎的指导。希望本文这块砖能引出大家更多的“玉”来。
 




本文转自 水之真谛 51CTO博客,原文链接:http://blog.51cto.com/liutiemeng/18896,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
1月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
1月前
|
C#
C#学习相关系列之yield和return的区别
C#学习相关系列之yield和return的区别
|
1月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
1月前
|
存储 C#
C#学习系列相关之数组(一)---数组的定义与使用
C#学习系列相关之数组(一)---数组的定义与使用
|
1月前
|
C#
C#学习相关系列之常用符号介绍
C#学习相关系列之常用符号介绍
|
1月前
|
安全 编译器 C#
C#学习相关系列之多线程---lock线程锁的用法
C#学习相关系列之多线程---lock线程锁的用法
|
1月前
|
C#
C#学习相关系列之多线程---ConfigureAwait的用法
C#学习相关系列之多线程---ConfigureAwait的用法
|
1月前
|
C#
C#学习相关系列之多线程---TaskCompletionSource用法(八)
C#学习相关系列之多线程---TaskCompletionSource用法(八)
|
1月前
|
开发框架 .NET C#
C#学习相关系列之Linq用法---where和select用法(二)
C#学习相关系列之Linq用法---where和select用法(二)