当前位置 博文首页 > MopTrain的博客:作为计算机专业学生,最应该学习的课程前五位是

    MopTrain的博客:作为计算机专业学生,最应该学习的课程前五位是

    作者:[db:作者] 时间:2021-07-28 11:55

    http://www.zhihu.com/question/19628851#answer-100293


    对于目前排在首位的兵哥哥的答案,不敢苟同。

    本人软件工程专业。

    关于计算机专业和软件工程专业,实际上还是大相径庭的,远不是别人所说的软硬件的偏重问题。计算机专业本科应该不需要读人月这类的东西吧,然而出门就业又是相通的,这是大环境我们就暂且不表。

    回到主题说书/课程。

    课程其实说实在的,如果不是顶尖的如同兵哥哥的高校,老师教授对你的指导只能是方向性的,大方向。小的角度还需要自己去花费大量的时间去琢磨。这里我有针对性的来说吧,每个学校的培养计划不会一样,如果是课余自学的话,以下的参考一定对你有用。一定。以下按照重要性排列。

    1. 计算机底层
    这实际上就是兵哥哥说的《计算机组成原理》,我推荐的书是 《深入理解计算机系统》,1000%的会比你的课本给你更多的东西。不管是写程序做软件还是搞科研发论文,不对底层有一个清晰的认识,你的整个前进道路都是模糊不清的。而只对体系结构的了解是远远不够的,深挖才是归途,为什么现在很多解析内存CPU技术的博文博客火呢?因为大家都忽略啊!又因为大家都知道这是多么有用啊!不做底层的分析,你怎么去精准的定位问题呢?怎么去写出切合真实计算逻辑的简单而又高效的优秀代码呢?别闹了。我同意一个观点——读优秀的代码,从OS开始。读这些就是你学习认知底层的过程,就是在站在巨人肩膀上远眺的历程。

    2. 数学
    过硬的数学功底使得你能看到一些新技术的出现而不茫然,看到的旧的技术能快速的跟进上手。这就是所谓“知识”和“技能”的关系,将工具运用到纯熟的地步,你会发现别人遇到的很多问题在你这里都不是问题了,看起论文来也得心应手啦,这就是潜移默化和下意识的作用。

    3. C/C++
    排在第三位是因为我觉得不是极其重要了。当然,C语言是基本功我就不在赘述。
    一门语言对你的作用是认识到计算机的“思考方式”与人类的不同,想要更加精确简单( KISS原则)的实现自己的想法,就要按照这个逻辑思路去执行。而选择C语言是因为它是成熟的,是最为值得探究的语言,也是你今后可能进入 Unix,Linux,嵌入式,甚至于IOS方向的基石。

    4. 算法设计
    依托数学的知识,在算法上的成绩应该不会太次。 《算法导论》是要看的没错。如果时间少的话, 《编程珠玑》《编程之美》《APUE》,这些书是要接触的。

    5. 英语/(日语)
    不得不承认美帝和倭寇就是比我们先进。
    学习英语的好处不言而喻,打破这层壁垒就会让你感受到真正的世界的样子,去那些纯英文的编程网站,BBS,讨论组,个人博客,增长见识的同时是你在逐步的认清这个世界,知道外面的人在做什么在想什么,现如今的潮流是什么(为什么不提媒体我觉得你应该懂得),更进一步你未来的发展方向是什么,是否和大环境有冲突,这是你这一生究竟能达到多大成就的一个很重要的潜在因素,也是为你今后走出校园做一些非常必要的知识储备和心理预备役。
    日语的问题,是在英语之后的一个可选项,IT方面的日企非常多,待遇也非常好,我们怀抱着“师夷长技”的心态去学习就好了。

    题外话------------------------------

    同在长沙,我不黑科大的同学啊,可实际上的情况是:科大内部,自己的本科生多数都会变成军官而较少的参与到实际的操作中去,如果兵哥是这其中的异类那算我抱歉了;科大的研究僧,外来的基本上也是理论派,实践能力不敢苟同,内部的同本科生。这样的情况导致了一个现象是:每年在科大的项目异常之多,但是能做的人又异常之少,很多都只能外包给“比邻而居”的另外两所985高校的学生,我有几个学弟就在同科大合作项目,前两年吧,还有个总装备部的项目——军用直升飞机的模拟训练系统(这尼玛听着就不像是学生能做的东西吧),经费印象中是8位数,是顶级了。越是去做项目,越会发现基础的重要性,越是需要在每一个必要的档口回到校园时代那种求知若渴的状态去阅读那些众人早已不屑的基础。

    不匿,求批。cs