此篇博文笔记部分来自北京理工大学的金旭亮老师微博和博客。
一 自学方法框架
二 具体课程路线
三 计算机科学专业课科目及教材(不完全)
此部分具体见博文《计算机专业知识结构课程与书籍、职业路径技能树汇总(持续更新)》
四 软件学习具体实践步骤(Learn By Doing)
先想好要做什么(创意阶段)如没有创意,就克隆现有的软件功能。
在纸上列出所有想实现的功能清单,画出界面草图,想好别人会如何用你的软件,……,一句话:勾勒出你心目中“理想”的软件模样。
依据功能清单开始一条条地问:这功能怎么实现?不能回答的,就到 Stack overflow、Google 等找到资料,读写一些小的 Demo,验证它确实可以解决问题,把这些代码保存起来,以便后面再用。如果可能的话,直接把这些代码封装为可重用的组件。
在这个过程中会发现,要实现功能 A,需要使用技术 B,要掌握技术 B,你得先懂 C,……,OK,继续追下去吧,这实际上就是主动学习的过程。
最后一步把前面所做的工作“装配”起来,不断地“编码–>测试–>集成–>发布–>反馈–>修改”,最后得到真实可用的软件。学了 N 多知识,培养了相应的开发技能,能完成一个完整的软件,也带来极大的成就感。