计算机专业大学期间更应该学些什么?

由于经常写一些编程、计算机相关的学习路线的文章,比如 C++ 的、操作系统的等等。

近期,收到一些小伙伴的私信,想让我讲一下计算机专业应该怎么学。

包括还有非科班转码找工作、非计算机专业考研计算机想补齐 CS 本科课程的同学。

今天,我就来说说计算机专业的学习路线,给想入门计算机或者想夯实自己基本功的小伙伴们一些参考。

按照国内高校CS专业的学习内容和课程安排,把要学的科目做了个简单分类,基本可以分为:基础课、必修课和选修课这三部分。

其实看着很多,概况起来就是(下面只涉及CS专业课):

  1. 计算机导论 + 编程入门语言(推荐C + Java)

  2. 算法与数据结构

  3. 操作系统

  4. 计算机网络

  5. 数据库系统

  6. 深入理解计算机系统( ps: 教材是CSAPP,这是我本科上过最值的课!System Programing

  7. 编译原理

  8. 特定领域,如:计算机图形学、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

六、 组成原理、体系结构:

  1. MIT的6.004,

  2. CMU的15-213

  3. Berkeley的CS61C

七、计算机网络:

  • Stanford的 CS144,lab 很有意思

  • 国内如果是学习计网理论的话,可以看哈工大的课程,或者 B 站《计算机网络微课堂》

本科阶段把上面这几门课学好了,做一两个项目,算法题多刷一刷,校招就会容易很多。

不要忽视了基础,大学是最该打基础的时候。

那么如何检验学得如何呢?多问自己一些 Why 的问题,就会发现有些看似懂了的地方,细节一挖就说不清楚了,那么这就是需要学习的地方。

比如,想必你一定听说这个计网面试题:

“从 URL 输入到页面展现到底发生什么?" 说实话,这个问题涵盖了太多内容,包括服务器处理、DNS、计算机网络几层链路、浏览器渲染等等。

还有类似「一个数据包是如何发送到另外一台电脑的」,如果你能完整的说出整个过程,那么计网你一定是学懂了!

这就是为啥面试这么喜欢问这个问题的原因。

又比如 “从代码被写下到程序运行起来到底发生了什么?”

这个问题回答得越详细越好,基本上能说清,你就理解了编译原理、操作系统、组成原理这三座大山。

路线很清晰,剩下的花时间干就完了,冲!

最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 在这里插入图片描述在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 在这里插入图片描述

五、Python练习题

检查学习结果。 在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述在这里插入图片描述

这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 计算机专业大学生职业生涯规划是一个非常重要且值得思考的问题。作为一名计算机专业大学生,我认为在职业生涯规划中,以下几个方面是值得关注的: 首先,要持续学习和提升自己的技术能力。计算机领域的技术日新月异,不断出现新的编程语言开发工具和技术框架。因此,要定期学习新知识,跟随行业的变化,掌握最新的技术趋势。可以通过参加培训课程、自、参与开源项目等方式来提升自己的技术能力。 其次,要注重项目经验和实践能力的积累。在大学期间,可以尽量参与一些与计算机专业相关的实践项目,如校园网站开发、移动应用开发等。通过这些项目实践,可以提升自己的团队协作能力、解决问题的能力和项目管理能力。同时,还可以将这些项目经验写成个人技术博客或者开源项目,用来展示自己的能力。 另外,要积极参加实习和职业拓展机会。在大学期间,可以主动寻找实习机会,通过实习了解行业的实际工作和企业文化。实习不仅可以让自己对所的知识有深入的理解,还可以拓展自己的人脉和职业发展机会。此外,可以参加一些与计算机专业相关的比赛和活动,例如编程竞赛、黑客马拉松等,以锻炼自己的技术能力和解决问题的能力。 最后,要不断完善个人软实力。计算机专业的工作往往需要与他人合作,因此具备一定的沟通能力、团队合作能力和领导能力是非常重要的。在大学期间,可以通过参加社团组织、担任责任岗位等方式来培养这些能力。 总之,计算机专业大学生职业生涯规划需要注重技术能力的提升,项目经验和实践能力的积累,实习和职业拓展机会的把握,以及个人软实力的培养。通过不断努力和学习,相信可以在计算机行业取得一定的成就。 ### 回答2: 计算机专业大学生在职业生涯规划方面,可以借助CSDN(中国软件开发网)这个专业性强的技术社区来获得多资源和指导。 首先,CSDN是一个提供技术文档、开发工具和技术论坛的综合性技术社区。大学生可以利用CSDN的资源来学习和研究计算机领域的知识和技术,不仅提高自身的专业水平,还能拓宽视野,了解前沿的发展动向。 其次,CSDN上有大量的职业发展文章和经验分享,可以帮助大学生们了解计算机行业的就业前景、薪资水平、热门技术等,并提供相关的求职指导和面试技巧。通过阅读这些文章,大学生可以好地为自己的职业生涯做出规划,明确自己的发展目标。 此外,CSDN上的技术论坛是一个交流和学习的平台。大学生可以在论坛上发布自己的问题和困惑,得到其他人的帮助和回答。同时,也可以通过关注一些技术大牛或参与讨论话题,与业界专业人士进行交流和互动,学习他们的思考方式和解决问题的方法。 总结来说,作为计算机专业大学生,利用CSDN这个技术社区可以帮助他们好地进行职业生涯规划。通过学习和研究相关知识、阅读职业发展文章和经验分享、参与技术论坛等方式,他们可以好地了解计算机行业的发展趋势,明确自己的发展目标,同时建立起自己的职业网络和人际关系。这将为他们的未来职业发展铺平道路,提供多机会和可能性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值