主页 > 计算机 >

谋略机专业学生肯定要学好这几门课!

浏览1574 好评 0 点赞105

  很多程序员,包括计算机专业出身的程序员,也包括通过自学成为程序员的非科班同学,在工作一两年后甚至更久后,基本上都会碰到技术瓶颈,由此可能产生很长一段时间的迷茫期。

  在这个迷茫期,很多程序员都在思考类似自己是不是适合做程序员、是否要做一辈子程序员、是否要转行到其他职业,比如产品经理等问题。如果不能很快地得到这些问题的答案,那么这些程序员就会一直被这些问题所困扰,举步难行,浪费大好光阴。

  这篇文章的题目可以更改为程序员必须认真学习的课程,但题目之所以没有这样定,一是因为这些课程基本上都是计算机专业本科所教授的课程,所以计算机专业的学生学好这些是有必要的,但同时非计算机专业出身的程序员也是非常有必要学习好这些课程的;二是以计算机专业的学生要学好的课程为题,更能体现这些课程的价值,也能在一定程度上激起非计算机专业程序员的兴趣来学习这些课程。

  几乎所有的程序员,刚开始学习编程时,都是先从具体的编程语言开始学起的。由于早期还没有高级语言出现,所以很早之前的程序员所能接触到是汇编语言、机器语言,甚至是直接操作电子电路来编程;而近几十年,由于高级编程语言的出现,程序员首先接触到的都是这些高级语言,比如Python、Java、C++等等。

  当然,程序员需要学习的还有更多,不过这里列出的都是计算机本科期间学习到的课程,并且这些课程都非常重要。估计很多同学像我一样,大学本科期间忙着学习高级编程语言,而无暇顾及这些课程,或者当时根本就听不懂或者不知道学习这些课程有什么用。不过,我认为现在是时候来好好认识下这些课程了。

  高级语言则是之前提到的Python、Java、C++等编程语言,对于很多程序员学习的技术基本上都是在这一层。不过高级语言想要运行在机器上,一般都会经过编译器进行编译,或者通过解释器进行解释执行,而编译器和解释器则是在计算机编译原理这门课中讲述的,之前提到过的语法糖等概念也是在这里介绍的。

  以上这些课程的学习并不是一朝一夕能够搞定的,也不是在大学期间就能够完全学懂的,不过如果有可能,还是尽自己全力能掌握多少就掌握多少,剩下的不是特别明白的,需要在以后的工作中慢慢体会、慢慢理解。

  因此,无论是对于大学生还是对于已经工作的同学,都不能急于求成,需要持续不断地学习,这个过程可能持续三至五年,甚至更久。同时,为了加快大家对这块知识的理解和掌握,下面简单推荐一些笔者正在学习和已经学习过的一些资料,希望能够带给大家一些帮助。

  说实话,数字电路是完全被低估的一门计算机基础课,其他大学笔者并不清楚,不过笔者的大学至少没有严肃地来对待这门课,导致笔者在大学期间基本上只了解了一下基本的逻辑门电路,对于更高级的知识则知之甚少。

  另外,有关数字电路的书籍也很难找出比较出众的,适合初学者或者计算机专业读的书籍,所以这里也不打算推荐有关数字电路的书籍。

  最后需要重点介绍的是《深入理解计算机系统》这本书,这本书是从程序员的角度来看待整个计算机系统的,所以是非常适合程序员的。但是这本书不仅仅包含了计算机硬件的相关知识,同时还包含了包括操作系统、计算机网络等相关知识,因此需要读者具备相关的知识才能学得更好,不过从零开始也是可以的,不过可能会比较吃力些。

  一个好消息是国外一些大学在使用这本教材来教学,并且有教学视频和实验课程,比如我看过的华盛顿大学的视频:

  离散数学个人认为对于计算机学生而言是非常重要的一门课,可惜的是由于在本科期间对计算机认知的不够,导致在学习这门课的时候只是把它当做一门数学来学习,并且也没有花太大的精力来学习,相信对于大部分的计算机专业的同学来说也是这样的。

  不过我认为如果有时间和精力最好还是再重新学习这门课或者在大学期间就好好学习,并持续不断地来复习这么课中提到的知识,直到掌握为止。

  相信无论是已经毕业的同学还是正在学校学习的同学,都或多或少地被数据结构与算法这门课给折磨过。数据结构与算法这门课开篇就讲了一个非常重要的概念:程序 = 数据结构 + 算法,对于初学者可能还不能完全地理解这句话,不过对于已经工作两三年的同学相信对这句话是深信不疑的。

  对于数据结构与算法的学习,我个人认为应该分层三个步骤:首先先大致了解什么是算法,可以通过一些科普读物来入门,这个过程我称之为

  实践阶段;最后去了解数据结构与算法背后的相关数学原理等,这个过程我称之为原理阶段。那么对于这三个阶段,我分别分享两本本人在读或者读过的书,大家可以参考和借鉴。

  我推荐的是《数据结构(Java版)》,由于本人是从Java开始学起的,大家可以根据自己学习的语言找来对应的实践书籍来学习。通过实践过程,大家可以一方面学习书中各种数据结构的实现原理和算法的设计思路,同时可以对照着编程语言中这些数据结构的实现原理,比如可以对照Java中对于链表是如何实现的,这样不仅可以了解数据结构与算法是怎么回事,同时也对自己学习的编程语言进一步做了深入的研究。

  其实,对于理论部分还有一套读起来特别费劲的书籍,这里没有做推荐,是因为我觉得对于大部分的程序员,可能没有太大必要去研究它。这里之所以提及,是觉得大家如果有空闲时间,闲来无事翻翻也行。这套书叫《计算机程序设计艺术》,作者是唐纳徳·E. 克努特(Donald E.Knuath,中文名高徳纳),目前已经出到了第四卷上卷,书中大量的数学推理,所以数学比较好,并且爱好钻研的同学可以尝试读读。

本站文章于2019-11-21 15:51,互联网采集,如有侵权请发邮件联系我们,我们在第一时间删除。 转载请注明:谋略机专业学生肯定要学好这几门课!
已点赞:105 +1

上一篇:

下一篇:



关于我们

  • 关于我们
  • 品牌介绍
  • 诚聘英才
  • 联系我们

学生/家长

  • 帮我选学校
  • 帮我选专业
  • 投诉/建议

教育机构

  • 如何合作
  • 联系方式

其他

  • 投稿合作
  • 权利声明
  • 法律声明
  • 隐私条款
全国统一客服电话
4006-023-900
周一至周六 09:00-17:00 接听
IT培训联盟官方公众号
扫描访问手机版
家电维修|北京赛车pk10