0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

哪个行业的平均工资最高?为什么要学好CS?

电子工程师 来源:lq 2018-12-10 09:50 次阅读

哪个行业的平均工资最高?

计算机。

国家统计局的数据显示,2016 年信息传输、软件和信息技术服务业年平均工资为 122478 元,首超金融行业,并于 2017 年再次夺魁。

在互联网和人工智能浪潮的推动下,一大批年轻人选择了 CS(计算机科学) 专业,这里面还包括各种转专业的学生。

此前营长也给大家推荐过很多学习资源,但是大多都是单个资源,比较零散。其实,很多读者需要的是建议,而不仅仅是资源。

特别是对于自学的小伙伴来说,为什么要学习 CS?应该学习什么?如何选择教材或者视频课程?都是让人困扰的问题。

现在,营长特意为这些小伙伴准备了一套大餐,希望能帮你厘清方向,消除困惑。

为什么要学好 CS?

首先,为什么要学习 CS?

我们知道,任何行业的从业人员的专业水平都是参差不齐的。有人将软件工程师也分成了两类:一类是对 CS 这门学科理解透彻,可以胜任各种挑战性和创新性的工作;另一类则仅仅是对一些高级工具比较熟悉而已。

虽然两者都自称为软件工程师,而且一开始的起薪都差不多,但是第一类工程师显然有更大的发展空间。

比如 WhatsApp 一天要处理 420 亿条信息(2016 年 2 月),但当时 WhatsApp 只有 57 名工程师,要完成这个挑战靠第二种类型的工程师是不太可能的。

因此,如果你想成为第一种类型的软件工程师,踏踏实实学好 CS 才是正途。

怎样学好 CS?

在回答了为什么要学习 CS 这个问题之后,接下来要怎么学?

其实 CS 不只是编程,还涉及到很多知识。本文将重点介绍编程、计算机架构、算法和数据结构、数学、操作系统、计算机网络、数据库、计算机语言和编译器、以及分布式系统。接下来我们一一分析。

编程

大多数的 CS 本科课程都是从介绍计算机编程开始的。营长推荐 Structure and Interpretation of Computer Programs 这本书。

视频则推荐伯克利大学 Brian Harvey 的 SICP 课程。建议至少学完 SICP 的前三章,并把练习题做完。如果你觉得 SICP 的课程太难,可以选择 How to Design Programs。

传送门:

https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html

https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter

http://www.htdp.org/

计算机系统结构

计算机系统结构是最容易被自学者忽略的,但是它其实非常重要。营长推荐 The Elements of Computing Systems 这本书,建议至少看完前 6 章并完成相应的作业。不过这本书并不是完全免费,因此也可以选择伯克利大学的 CS61C 课程:Great Ideas in Computer Architecture,而且可以下载之前的讲义。

传送门:

https://www.nand2tetris.org/

http://inst.eecs.berkeley.edu/~cs61c/sp15/

算法和数据结构

学好算法和数据结构,将有助于培养你解决问题的能力。营长推荐 The Algorithm Design Manual 这本书,但是真的很贵。不过,这本书的作者很慷慨把这本书的配套视频免费共享到了网上。如果你想练练手,则可以选择刷 Leetcode。

传送门:

http://www3.cs.stonybrook.edu/~algorith/video-lectures/

https://leetcode.com/

数学

虽然很多人对畏惧数学,但是“计算机之父”冯·诺依曼曾经说过:如果人们不相信数学有多简单,那是因为他们没意识到生活有多复杂。

图片来源:AZ QUOTES

跟计算机最相关的数学知识当属“离散数学”以及“线性代数”。

如果你想学好离散数学,可以阅读匈牙利的数学家 László Lovász 关于离散数学的课程讲义。如果你还想更进一步,则可以选择麻省理工的 Mathematics for Computer Science,而且有配套的视频课程。

至于线性代数,则建议从 Essence of linear algebra 视频系列开始,然后是麻省理工的相关视频课程。

传送门:

http://www.cs.elte.hu/~lovasz/dmbook.ps

https://courses.csail.mit.edu/6.042/spring17/mcs.pdf

https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/

https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/

操作系统

关于操作系统有很多经典书籍,比如 Operating System Concepts和 Modern Operating Systems,但是都价格昂贵,这里营长给大家推荐一本免费的作为替代:Three Easy Pieces。

传送门:

http://pages.cs.wisc.edu/~remzi/OSTEP/

计算机网络

计算机网络是 CS 学科里最有价值的领域之一。营长推荐 Computer Networking: A Top-Down Approach 这本书以及搭配的练习题,不过这本书实在太贵。你也可以选择斯坦福的在线课程:Introduction to Computer Networking。想要学好计算机网络,最重要的是多做项目。

传送门:

http://www-net.cs.umass.edu/wireshark-labs/

https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about

数据库

自学数据库还是比较难的。营长建议自学者不要直接看教材,而是通过在线视频来学习,比如伯克利的 CS168 课程。那些想了解 RDBMS(关系型数据库管理系统)的读者,一定要看一下 Architecture of a Database System 这篇论文。此外,Readings in Database Systems 也值得一读。

传送门:

https://archive.org/details/UCBerkeley_Course_Computer_Science_186

http://db.cs.berkeley.edu/papers/fntdb07-architecture.pdf

http://www.redbook.io/

计算机语言和编译器

对于自学者,营长推荐斯坦福的在线课程:Compilers。关于练手项目,营长建议你从 Make a Lisp 开始。

传送门:

https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about

https://github.com/kanaka/mal

分布式系统

分布式系统的教材可以选择 Distributed Systems, 3rd Edition,而且是免费的。同时你也可以选择麻省理工的在线课程:6.824。而且营长还准备了一份论文清单,供你参考。

传送门:

https://www.distributed-systems.net/index.php/books/distributed-systems-3rd-edition-2017/

https://www.youtube.com/watch?v=hBWfjkGKRas&list=PLkcQbKbegkMqiWf7nF8apfMRL4P4sw8UL

http://dsrg.pdos.csail.mit.edu/papers/

其他

现在 AI 确实很火,营长以往也给大家推荐过不少学习资源,今天再给大家推荐几个:

人工智能:伯克利的 Intro to AI 在线课程,以及教材 Artificial Intelligence: A Modern Approach(很贵)。

机器学习:吴恩达的机器学习和深度学习课程。(《感动!有人将吴恩达的视频课程做成了文字版》)

计算机图形学:伯克利的 CS184 在线课程。

传送门:

http://ai.berkeley.edu/

http://inst.eecs.berkeley.edu/~cs184/fa12/onlinelectures.html

写在最后

有人可能会问,应该从那一门开始学起?然而这并不是最重要的,克服拖延症,行动起来才是关键,而且每一门都需要全身心投入至少 100~200 小时的时间。

2018 即将过去,大家共勉。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CS
    CS
    +关注

    关注

    0

    文章

    54

    浏览量

    24491
  • 计算机网络
    +关注

    关注

    3

    文章

    336

    浏览量

    22117
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49043

原文标题:如何自学CS?

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Sak-C167CS和Sak-xc167c这两种微控制器读写是否兼容?

    你好,我有读取英飞凌 Sak-C167CS 微控制器的资源,但我实际上需要读取 Sak-xc167c 微控制器,这两种微控制器读写是否兼容? 感谢您的支持。 这就是我读取的微控制器: 这就是我有资源可以读取的微控制器: 如果您能指导我在论坛的
    发表于 07-04 07:43

    STM32G030K8T6如果要使用外部有源晶振如何配置、接哪个脚?

    使用了32脚封装的STM32G030K8T6, 该封装并没有外部无源晶振引脚,如果要使用外部有源晶振如何配置、接哪个脚?
    发表于 07-03 07:48

    ecp32-c3-mini-1-n4ct-nd SPI的MOSI,MISO,cs和SLK分别对应哪个管脚?

    你好,请问一下这个芯片SPI的MOSI,MISO,cs和SLK分别对应哪个管脚?IO4和IO5是默认做GPIO使用吗,还是做中断使用?
    发表于 07-01 08:28

    使用Cubemonitor查看变量的变化,使用哪个版本的STLINK硬件可以达到最高的采样率?

    请问使用Cubemonitor查看变量的变化,使用哪个版本的STLINK硬件可以达到最高的采样率? 可以达到多少? 我的STLINK V2更新频率是4ms太低了
    发表于 05-20 07:58

    CS1237/CS1239 问题集

    的读写寄存器时序中的无命令执行的空CLK 可以为了节省运行的复杂度而删除吗?还是一定要发送完整的46个CLK 才能读写寄存器?直接读AD数据发送46个CLK 吗? 答 :CS1237 读写寄存器不可以
    发表于 03-27 17:48

    最高可输出68W高效D类音频功率放大电路CS8676E数据手册

    概要CS8676E是--款2x33W立体声;在单声道使用的情况下;最高可输出68W高效D类音频功率放大电路。先进的EMI抑制技术使得在输出端口采用廉价的铁氧体磁珠滤波器就可以满足EMC要求
    发表于 03-11 16:00 2次下载

    阿里云全线降价 平均降价幅度超20%

    似乎降价的风已经全面刮起来了,今天看到消息阿里云全线大降价;平均降价幅度超过20%,最高的产品降幅高达55%。据悉这是阿里云史上最大力度的一次降价,覆盖到了计算、存储、数据库等所有核心产品。  
    的头像 发表于 02-29 18:17 1175次阅读

    画好PCB,先学好信号完整性!

    画好PCB,先学好信号完整性! 在电子设计领域,高性能设计有其独特挑战。 1 高速设计的诞生 近些年,日益增多的高频信号设计与稳步增加的电子系统性能紧密相连。 随着系统性能的提高,PCB设计
    发表于 02-19 08:57

    电工为什么学习PLC的四大理由

    懂PLC编程电工和不懂PLC编程电工薪资肯定是不一样的,学好PLC技术可以让你的工资和职位都蹭蹭蹭往上涨,这个工控行业很简单,技术就是最重要的一张闪亮名片。
    的头像 发表于 01-24 10:50 1204次阅读

    CS5343 CS5344低功耗立体声模数转换器

    CS5343 CS5344低功耗立体声模数转换器高性价比的 CS5343/44 可执行采样、数模转换和抗混叠滤波,可在串行格式下以每声道最高 108 kHz 的采样率为左右输入生成 2
    发表于 01-03 15:37 0次下载

    CS5340 ADC立体声模数转换器

    CS5340 ADC立体声模数转换器立体声模数转换器CS5340 可执行采样、数模转换和抗混叠滤波,可在串行格式下以每声道最高 200 kHz 的采样率为左右输入生成 24 位值。CS
    发表于 01-03 15:32 4次下载

    平均电流控制和峰值电流控制的区别

    在电力电子领域,电流控制是实现高效、稳定和安全运行的关键技术之一。电流控制的方法有多种,其中平均电流控制和峰值电流控制是最常见的两种。本文将详细介绍平均电流控制和峰值电流控制的区别,包括其工作原理
    的头像 发表于 12-14 15:37 4616次阅读

    AD7356的ADC开始转换是以SPI接口的CS信号的下降沿开始的,cs信号有没有最大时间间隔要求?

    问题:AD7356的ADC开始转换是以SPI接口的CS信号的下降沿开始的。根据adc的采样率5MHz要求,cs信号有最小时间间隔要求,是200ns。那么cs信号有没有最大时间间隔要求?比如,通过
    发表于 12-14 06:10

    2023光学和光子学领域薪资大揭秘,差距有点大!

    薪酬报告》,统计分析了关于光学工程、电气工程、物理学和其他光学相关领域不同职业阶段的薪资水平。 结果显示,专业人员的全球平均工资在工作初期为66569美元,中后期平均工资增长到91138美元(职业早期是指毕业后工作5年的研究生,职业中期是指工作
    的头像 发表于 12-07 09:56 748次阅读

    移动平均滤波的原理和C代码

    移动平均滤波是一种简单有效的平滑信号的方法,它通过计算一系列数据点的平均值来减小信号中的波动。基本的移动平均滤波方法有两种:简单移动平均(SMA)和指数加权移动
    的头像 发表于 12-04 08:00 1721次阅读
    移动<b class='flag-5'>平均</b>滤波的原理和C代码