学习的方式:
对于基础性知识,指定几本教材,大家轮流学习,学习完成后给其他讲解。对于较难的知识,由我或者请其他有经验的人讲解。集中学习时间定在周三晚上。
第一阶段:
目标:熟悉常见的算法和调试方法,培养良好的编程风格,从而提高编程 能力。
时间:8周
内容:
1. 编程规范
2. 双向链表
3. 调试方法与调式工具的使用
4. 动态数组
5. 快速排序/归并排 序/堆排序/二分查找
6. 状态机
7. 下推自动机
8. 嵌入式软件开发
9. Unicode基本知识
第二阶段:
目标: 学习如何阅读和改进别人的代 码。
时间: 4周
内容:
1. 代码阅读方法
2. 代码重构
第三阶段:
目标:自动测试
时间:2周
内容:
1. 测试理论
2. 常用的自动测试框架
第四阶段:
目标:软件设计和文档编写
时间:12周
内容:
1. 面向对象的设计与分析
2. 契约式编程
3. 设计模式
4. 软件架构编档
5. 了解常见的软件过程: XP/RUP等
第五阶段:
目标:学习一种脚本语言,能自动化的工作尽量让计算机去做,从而提高 工作效率。
时间:4周
内容:cygwin + bash 或者 python 或者 perl 或者vbscript。
第六阶段:
目标:综合应用所学的知识,完成一个模块的设计、编程、测试。
时间:4周
内容:待定
这个培训坚持了半年,收到一些效果,但是不够理想。主要原因是这个培训计划追求大而全,加上大家工作很忙,还没有消化就进入了下一个阶段。现在来 看,这个计划完全可以作为一个程序员的三年学习计划了。