不要把时间浪费在所谓的大学课程上,很多都是没有营养的。
其实软件工程的知识体系也就是那样,各个大学也是照着这个思路编排课程的。
所以,自学的时候直奔主题就可以了。
软件工程。
包含两个部分:软件和工程。
软件是程序员做的,而工程是项目负责人管理、程序员实践的。
软件又包含两部分:语法和算法。
语法,即要掌握某种编程语言。
一般来讲,要想工作中用的上,那么面向过程的语言和面向对象的语言都得掌握。
一般学C、C++、Java、Dephi等等。
面向过程的程序比较好学,条目也很清晰。
而面向对象的编程需要学两方面的内容:语法本身和庞大的类库。
算法,这是编程的灵魂。
一般包括:数据结构和经典算法。
学无止境,一般性的工作话,掌握基本的就够了,如果工作较复杂得多看看算法方面的期刊。
工程。
现代软件越变越大,大型的编写工作动不动就涉及万人。
工程的方法只是为了更好的组织、协调编写过程。
《软件工程》本身就是一本书,很厚的。
主要讲软件的生命周期,比较抽象和繁杂,但是规范的工作方式就是从这本书里来的。
另外关注一些编程习惯的知识。
这也是工程的一部分。
软件只是计算机科学中的一种。
所以,比如计算机基础、计算机系统等等宏观的知识也需要理解。
特别是对于高级程序员,计算机运行的底层知识就更重要了。
操作系统、80x86以及汇编语言是底层知识中的一部分。
软件行业分工很多:网络编程、数据库编程、应用程序编程、游戏编程以及操作系统编程等(中国似乎还没有商业化的操作系统),研究任何一个都挺累人的。
学习完上面的基础知识后,就需要给自己选一个专业方向了。
建议一个学习流程。
如果你什么都没有学。
1】计算机基础知识。
主要是硬件方面(大一水平)2】同时,学习C语言,语法就够了3】透彻的理解C++需要用C语言去编写一个图形化的应用程序,但是,似乎也有一些直接上手的C++教材。
学习语法,简单的类库。
(现在就是大二的水平)4】数据结构,C++表述的。
《数据结构》的书里面会有一些经典的算法的。
5】操作系统、80x86与汇编(大三水平,大四几乎没有几本书要念的。
)6】专业学习。
一方面是专业上的知识,另一方面是类库在专业上的使用。
(我想,应该可以工作了,大学里关于这方面的知识是很浅薄的,仅仅建立一个概念而已。
但是要拿来谋生的话,就需要学多点了,前面所有的积淀都是为了这个目标的)先学着,自己有体会后,就能确定自己应该学到什么程度。
如果一切顺利的话,大概两年多一点就可以完成这个过程。