说到计算机专业的小伙伴,提到课程大家都基本上都有一个念头,课程开的太多了,根本就听不懂,或者似乎能听懂点,也是似是而非,到底哪些是重点,那些是可以只是了解下就行。因为根据目前的大学开设的课程所有课程都能搞的很好,几乎很难,所以还是要抽调出重点,识别出如何进行学习。
那么最该学的是哪三门课程?
计算机组成原理,一门编程语言,数据结构与算法
为啥要学好这三门课程?
一.计算机组成原理,放在第一位,很多人觉得很老套,其实再牛的程序也在运行在计算机上,计算机的工作的原理吃透是第一位的,其实很多写了很多年代码的程序员都觉得现在的学生要学习编程还是要把计算机的组成原理搞明白,理解计算机如何存储,为啥内存大了运行起来更加顺畅,CPU原理是什么,内部的原理是啥,其实越是到了大型程序的最好,决定因子还是cpu和内存的问题,举个简单的例子,有些程序的执行效率不高,其实隐含的意思就是你的程序太占用cpu的资源了,还有经常说你的程序太吃内存了,因为现代的计算机,无论多牛内存也是有限制的,不停的吞噬内存,不停的内存泄露就会造成系统运行起来,变得慢悠悠的,大家可能觉得有些机器长时间不关机,机器运行的越来越慢,等全部关机重启一次之后情况会变好多,因为重启意味你的程序内存全部清零,从头开始了,开机了内存处于一个比较理想的状态,当然变慢还有硬件的部分的原因,在这里还是说出来,了解计算机组成原理的重要性。
二.学一门自己比较喜欢的编程语言,在这里不想讨论哪种语言孰好孰坏,小编建议学习c/c++/java其中的一种,这也是目前大学校园开课比较多的语言,C语言几乎是所有语言的鼻祖,也是大学开设课程最多的语言,特别是老谭的C语言程序设计印刷量都破纪录了,其实在这不提倡用老谭的学习编程,当然是如果为了考级用的话,也就另当别论了。C语言学习的难点在指针这块因为指针的存在导致不安全性,也导致在指针管理上面难度大了许多,在内存管理都加大了难度,但是一旦学好了,用起来方便许多,有志于架构师方向的还是建议学好C,
(1). C++ 几乎是面向对象语言里面,语法规定最繁琐的语种,学起来的难度在这三种语言里面也是最大的,但是是很多技术大牛的最爱,泛型编程玩嗨了,觉得特有意思,而且目前很多的比较牛的软件底层实现很多都是基于C++的,大家常见的安卓的底层框架,以及浏览器的内核框架支架基本上是用c++搭建的,因为在效率和框架设计上C++正好是一个平衡语言。
(2). java是目前国内就业范围最广的语言,也是学的最多的语种,就业范围也是变得无处不在。java是一种学起来容易,很难成为顶级高手的语言,学过java框架的小伙伴,都觉得java的一些开源代码框架写的很棒,但是要达到那种级别不是靠年限或者精力能设计出来的,真需要点悟性在其中了。想尽快的就业,学习java是一个不错的选择。
三. 数据结构和算法,为什么单独要单独拿出来说说,因为很多人都觉得学习编程需要逻辑思维,其实逻辑思维更多是在算法上面体现,基本的算法,其实就是数据结构里面,链表,表,二叉树等的删除,插入算法,大型的复杂的算法也是在这个基础上进行延伸,扩展。成为一个合格的程序员,数据结构是必须要掌握的,里面是逻辑思维的集中体现,同时建议刚开始学的小伙伴,先把数据结构基本算法搞定就可以,没必要刻意为了学习算法而去学。
上述讲述了为啥要学好这三门课程,肯定会引来很多的争议,这是做了多年程序写一点感受,表达一下内心的感受而已。大学时光,学点东西才是硬道理,荒废了,岂不可惜。
如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,