在文章的开始之前,首先允许我说一句”他妈的!”.
好吧,言归正传,我学的专业是计算科学与技术,大学几年来常常听到一些师弟学习方向迷罔的无奈感叹。本文主要说下我的学习方法的总结,如果看完了你觉得有所帮助的话,那就是我写这篇总结最大安慰。我就不再说什么水平有限之类的话了,虽然本人的水平确实有限。此文只是说说些我以为的道理。
首先,大学里的学生分三种:
1. 考研型。就是注重学习大学的课程。此类型最为辛苦。付出最多。
2. 专业型。就是毕业后进企业工作的。
3. 其它的。包括考公务员,或毕业后不打算找本专业的工作的。
如果你准备当第一种,请不要往下看了,只会误导了你。想当第三种的也不要看了,抓紧时间作乐吧。
如果你有听说一方面大学生找工作难,而另一方面企业又招不到人的话。你应该能推理得出,大学的教育肯定存在问题。大学的计算机课程是想把你培养成计算机科学型的人才,而我们更多的是想当计算机工程型。
当工程型的,你大学里的课程,不必须样样学得很好。只在好好学好这几门的就可以了,其它的就混过去。
要扎实掌握的有下列几门:
1. C语言程序设计。 (C++的面向对象设计思想“抽象,封装,多态,继承”。)
2. 数据结构。
3. 操作系统。
4. 网络
5. 数据库。
前四门必须下苦功夫,数据库视个人钻研方向而定,像嵌入式方向一般不怎么用数据库。
不要反驳我说学什么C语言,VB这些工具多好用,效率多高,要知道那些普遍的大专生和高中生参加北大青鸟后做的工作。你是大学本科的,好好的学下底层的东西。过程是很辛苦,但很锻炼人的。对你也大有脾益。就算将来工作不用C,用VB,dephi等其它工具。你也能很快上手。程序语言学到最后,你就会明白它们只是个工具,思想才是重要。反过来,如果你只会VB不会C语言。你大概不会有此体会,也没什么向高薪发展的机会。C++语言在大学期间是不可能精通的。如果你的简历里“写精通C++”, 人家一看就知道你是个菜鸟。除非大师,许多用了C++ 十年的程序员,都不敢说精通。不要硬去记C++后期的那些语法,像那些复杂的虚继承,模板类的东西。我就犯下这个错误。花工夫记下了,因为没机会用,过不了几天就忘记了。到用到时,你自然就会。(我的意思是实践中用到了,你就会加深了。)不要以前学熟了课本就以为会了C(其它课程也一样), 还差远了呢。说句令人伤心的话,中国人编写教材要不是从抄外国的,没几本质量说得过去的。推荐书《C++ primer plus》 ,《think in C++》,老谭的《C语言程序设计》。最好三本都读完。弄清指针,数组,二维数组,指针参数传递等等问题可不容易。大一的不要去学什么VC,MFC,只会把你弄晕。
数据结构这大概是专业程序员和业余程序员的最大区别了。前人的经验的结晶,重要性不用我多说。虽然大学里程序设计你也很少用到,不过却不能少下工夫。数据结构和算法基本思想一定要清楚。清华那教材虽说是经典。个人觉得不太适合东莞理工的学生用,里面一般用伪代码。我和我的大部分同学看不明白。直到大四了我才能阅读明白。推荐用C语言版的数据结构,C++的大复杂了。
最艰难的时候到了,操作系统课程一般是在大三学年开设的。上课一般讲的操作系统原理。深入就靠你自己了(再苦也要学,但不要钻研究内核之类的,大深了。还不是时候),东理应该是学linux操作系统。一大堆概念你要清楚。而且极其重要,要不你就很难设计软件了,更不用说写出高水平的程序了。打算弄Linux操作系统的, 推荐《Unix 环境的高级编程》,《unix网络编程》第二卷进程间通信。
打算弄Windows的,推荐《programming windows》。中文版《windows程序设计》written by charles petozld。老老实实地看完这本书(上下册,很厚的),VC,MFC就非常容易了,随便找本有关书就行了。如果想继续深入,《windows核心编程》。
好吧,言归正传,我学的专业是计算科学与技术,大学几年来常常听到一些师弟学习方向迷罔的无奈感叹。本文主要说下我的学习方法的总结,如果看完了你觉得有所帮助的话,那就是我写这篇总结最大安慰。我就不再说什么水平有限之类的话了,虽然本人的水平确实有限。此文只是说说些我以为的道理。
首先,大学里的学生分三种:
1. 考研型。就是注重学习大学的课程。此类型最为辛苦。付出最多。
2. 专业型。就是毕业后进企业工作的。
3. 其它的。包括考公务员,或毕业后不打算找本专业的工作的。
如果你准备当第一种,请不要往下看了,只会误导了你。想当第三种的也不要看了,抓紧时间作乐吧。
如果你有听说一方面大学生找工作难,而另一方面企业又招不到人的话。你应该能推理得出,大学的教育肯定存在问题。大学的计算机课程是想把你培养成计算机科学型的人才,而我们更多的是想当计算机工程型。
当工程型的,你大学里的课程,不必须样样学得很好。只在好好学好这几门的就可以了,其它的就混过去。
要扎实掌握的有下列几门:
1. C语言程序设计。 (C++的面向对象设计思想“抽象,封装,多态,继承”。)
2. 数据结构。
3. 操作系统。
4. 网络
5. 数据库。
前四门必须下苦功夫,数据库视个人钻研方向而定,像嵌入式方向一般不怎么用数据库。
不要反驳我说学什么C语言,VB这些工具多好用,效率多高,要知道那些普遍的大专生和高中生参加北大青鸟后做的工作。你是大学本科的,好好的学下底层的东西。过程是很辛苦,但很锻炼人的。对你也大有脾益。就算将来工作不用C,用VB,dephi等其它工具。你也能很快上手。程序语言学到最后,你就会明白它们只是个工具,思想才是重要。反过来,如果你只会VB不会C语言。你大概不会有此体会,也没什么向高薪发展的机会。C++语言在大学期间是不可能精通的。如果你的简历里“写精通C++”, 人家一看就知道你是个菜鸟。除非大师,许多用了C++ 十年的程序员,都不敢说精通。不要硬去记C++后期的那些语法,像那些复杂的虚继承,模板类的东西。我就犯下这个错误。花工夫记下了,因为没机会用,过不了几天就忘记了。到用到时,你自然就会。(我的意思是实践中用到了,你就会加深了。)不要以前学熟了课本就以为会了C(其它课程也一样), 还差远了呢。说句令人伤心的话,中国人编写教材要不是从抄外国的,没几本质量说得过去的。推荐书《C++ primer plus》 ,《think in C++》,老谭的《C语言程序设计》。最好三本都读完。弄清指针,数组,二维数组,指针参数传递等等问题可不容易。大一的不要去学什么VC,MFC,只会把你弄晕。
数据结构这大概是专业程序员和业余程序员的最大区别了。前人的经验的结晶,重要性不用我多说。虽然大学里程序设计你也很少用到,不过却不能少下工夫。数据结构和算法基本思想一定要清楚。清华那教材虽说是经典。个人觉得不太适合东莞理工的学生用,里面一般用伪代码。我和我的大部分同学看不明白。直到大四了我才能阅读明白。推荐用C语言版的数据结构,C++的大复杂了。
最艰难的时候到了,操作系统课程一般是在大三学年开设的。上课一般讲的操作系统原理。深入就靠你自己了(再苦也要学,但不要钻研究内核之类的,大深了。还不是时候),东理应该是学linux操作系统。一大堆概念你要清楚。而且极其重要,要不你就很难设计软件了,更不用说写出高水平的程序了。打算弄Linux操作系统的, 推荐《Unix 环境的高级编程》,《unix网络编程》第二卷进程间通信。
打算弄Windows的,推荐《programming windows》。中文版《windows程序设计》written by charles petozld。老老实实地看完这本书(上下册,很厚的),VC,MFC就非常容易了,随便找本有关书就行了。如果想继续深入,《windows核心编程》。