大家好,我是必安。
由于经常写一些编程、计算机相关的学习路线的文章,比如 C++ 的、操作系统的等等。
近期,收到一些小伙伴的私信,想让我讲一下计算机专业应该怎么学。
包括还有非科班转码找工作、非计算机专业考研计算机想补齐 CS 本科课程的同学。
今天,我就来说说计算机专业的学习路线,给想入门计算机或者想夯实自己基本功的小伙伴们一些参考。
按照国内高校CS专业的学习内容和课程安排,把要学的科目做了个简单分类,基本可以分为:基础课、必修课和选修课这三部分。


其实看着很多,概况起来就是(下面只涉及CS专业课):
- 计算机导论 + 编程入门语言(推荐C + Java)
- 算法与数据结构
- 操作系统
- 计算机网络
- 数据库系统
- 深入理解计算机系统( ps: 教材是CSAPP,这是我本科上过最值的课!System Programing
- 编译原理
- 特定领域,如:计算机图形学、AI、安全、System方向、分布式等等
排在越前面的是越应该学习掌握的, 1-6 我觉得是任何方向同学都应该学习的,7-8 可以根据兴趣和需要选择学习。
学习的途径就是:
多看国内外 CS 名校的一些开放课程 + 看经典的书 + 多写代码!!!
毕竟现在 MOOC、Udemy、B站(学习区) 上学习的资源都是很丰富的。
分类列举几个课程:
一、计算机导论
首先建议从计算机导论课程开始,推荐下面这些课程:
- Harvard的CS50 CS50: Introduction to Computer Science :https://online-learning.harvard.edu/course/cs50-introduction-computer-science?delta=0
- Berkeley的CS61A CS 61A: Structure and Interpretation of Computer Programs : https://cs61a.org/
- MIT的6.001 mit-6.001https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/
二、C 语言
随后建议学习一门语言,可以是 C、Java、或 Python,我推荐 C语言(当然,也可以是Python!这不是重点,重点是要多去写,入门时提高对编程的兴趣),提到C语言,我这里推荐国内浙大翁凯老师的课,看过的都说好~
分为两门,第一门是面向高考结束想提前自学一点编程的,叫大学先修课:
- C语言程序设计CAP-大学先修课 : https://www.icourse163.org/course/ZJU-1001614008
虽然叫先修课,但是覆盖了C语言的主要知识点,也适合大一新生~
第二门是
- C语言程序设计进阶 :https://www.icourse163.org/course/ZJU-200001
会带你用C语言完成一些有趣的项目,比如一些图形界面小游戏,先修课学习 C 语言语法基础,进阶课带你项目实操,搭配使用,你就是同学中的大神!
有了语言基础之后建议学数据结构与算法:
三、数据结构推荐:
- Stanford CS106系列
- CS106A: Programming Methodologies : http://web.stanford.edu/class/cs106a
四、算法推荐:
- 6.046(进阶) Design and Analysis of Algorithms - MIT :http://courses.csail.mit.edu/6.046
- MIT的6.006 Introduction to Algorithms :https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/
- Coursera上的Princeton课程
- Berkeley的CS61A 和 CS61B
五、操作系统推荐:
- CMU的15-213
- Berkeley的CS162,
这两个都是有视频有lab的好课
还有一个非常经典的 MIT 6.828,附带一个xv6 lab
课程:6.828: Operating System Engineering
六、 组成原理、体系结构:
- MIT的6.004,
- CMU的15-213
- Berkeley的CS61C
七、计算机网络:
- Stanford的 CS144,lab 很有意思
- 国内如果是学习计网理论的话,可以看哈工大的课程,或者 B 站《计算机网络微课堂》
本科阶段把上面这几门课学好了,做一两个项目,算法题多刷一刷,校招就会容易很多。
不要忽视了基础,大学是最该打基础的时候。
那么如何检验学得如何呢?多问自己一些 Why 的问题,就会发现有些看似懂了的地方,细节一挖就说不清楚了,那么这就是需要学习的地方。
比如,想必你一定听说这个计网面试题:
“从 URL 输入到页面展现到底发生什么?" 说实话,这个问题涵盖了太多内容,包括服务器处理、DNS、计算机网络几层链路、浏览器渲染等等。
还有类似「一个数据包是如何发送到另外一台电脑的」,如果你能完整的说出整个过程,那么计网你一定是学懂了!
这就是为啥面试这么喜欢问这个问题的原因。
又比如 “从代码被写下到程序运行起来到底发生了什么?”
这个问题回答得越详细越好,基本上能说清,你就理解了编译原理、操作系统、组成原理这三座大山。
路线很清晰,剩下的花时间干就完了,冲!
说句题外话
今年很多人都在讨论一个问题:就业形势险峻,毕业生们怎么办?
错过了春招,秋招竞争激励,现在投了几十份简历却还都石沉大海,22/23届同学烦得头都快秃了。

其实你没事多去招聘网站上看看,你会发现不少基础岗位的招聘都写上了对python的技能要求,这也就意味着,会写程序的人会更吃香。
现在的社会,时代已经不同了,它在加速淘汰不会学习的人,所以大学期间多学点东西,不要毫无准备的去接受社会的毒打!


就算是在非专业技术领域python几乎都可以用到,特别是自动化办公和数据处理方面,python有独特的优势。而python入门相对简单,对大学生来说是一门好上手学的编程语言,就算不是找工作,利用python兼职赚点零花钱也不错啊!
如今是一个大数据的时代,Python 在行为收集和数据分析,信息采集等方面的应用已经非常非常普遍,早就不是程序员的专属技能了。就像 office 一样,是Python 已经成为了进入职场的必备技能。不是很意外,但这就是正在发生的大趋势。

Python的特点
1.需求大:百度、新浪、搜狐、淘宝、腾讯QQ等大部门的互联网相关企业都在利用Python,对Python的人才需求很大。

2.开展空间广:在无孔不入的互联网使用情况下,人工智能、大数据等领域非常适合Python的发展,这也就阐明了挑选进修Python将会有很不错的发展空间。
3.简单易学:小学生也可以上手学习的计算机语言。举个例子一个程序用C语言需要1000行的代码,用JAVA需要写100行,但是如果用Python你只需要20行,语法很简洁。
Python岗位薪资水平如何?


Python如何学习?
今天只要你给我的文章点赞,我私藏的Python学习资料一样免费共享给你们,来看看有哪些东西。
Python学习大礼包

Python入门到精通背记手册

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python安装包

Python爬虫秘籍

Python数据分析全套资源

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
👉CSDN大礼包:《python入门&进阶学习资源包》免费分享
Python实现办公自动化全套教程

Python面试集锦和简历模板


Python副业兼职路线

资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓
本文指导了计算机专业学习者如何入门,包括基础课(如计算机导论、C语言)、必修课(数据结构、算法、操作系统、网络)和选修课程的选择。强调动手实践和多途径学习,以及Python在当前就业市场的重要性。

55万+

被折叠的 条评论
为什么被折叠?



