当前位置: 首页 > news >正文

计算机408看不懂?那是你还不知道这套学习方法和资源

前言

《数据结构》、《操作系统》、《计算机组成原理》和《计算机网络》这4门课程(俗称408)对于学计算机的人来说至关重要,不管你是考研还是找工作都会用得到。

不管你现在的开发工作是否用得到它们,这些都是计算机必备的基础,跟计算机打交道这些都是必不可少的。

在这里插入图片描述

但学习的顺序不对,你可能会越看越糊涂,尤其是非科班的人在学习了一门编程语言之后找工作,想弥补自己的短板(培训机构一般不会教),那么如何学习它们将会至关重要。

今天就来给大家讲讲如何学习计算机的408,顺道还给大家推荐了对应的学习资源。


一、学习方法

我们先来讲一下408的学习方法,自学的话建议先去网上找视频把它们都过一遍,因为视频教学能够让你在学习这些抽象的知识时更加形象化,去中国大学MOOC或者B站都能找到很多高分好评的免费课程。

最后再去做针对性学习,建议是看书学习,书本我在后面会给大家做推荐

那么何谓针对性学习

就是你现在或者以后的工作岗位比较偏向于哪些东西?如果是后端开发的话就比较注重操作系统;前端更偏向于计算机网络;硬件方向的话自然就是计算机组成原理了;数据结构建议不管前后端都深入学习一下。

在这里插入图片描述


二、学习顺序

1.数据结构

第一门课都建议从数据结构入手。

业内一直都流传着这么一句话:程序=数据结构+算法

从某种意义上来讲,这也是最粗略区分码农和程序员的一门课。

为什么这么说呢?很简单,同样是玩,当成一个程序,我们的内存是否节省、数据存取是不是足够的高效等等,这些就决定了我们的程序是能跑就行,还是能做得非常优秀,甚至开源给其他人用,这就是我们学习数据结构的意义。

数据结构推荐的书籍有两本:《大话数据结构》和《数据结构与算法分析》,前者相对简单些,那这两本书具体怎么选,可以先到网上去找些电子档来看一看看哪本自己更能接受。

在这里插入图片描述

刷题的话可以去力扣,注意不要直接上手无序题或者这些热门题,先根据标签过知识点,巩固知识点的同时清楚各类结构在什么情况下去使用比较合理,过完一轮之后再去看这些热门题会好很多。

2.操作系统

第二门课建议可以看操作系统。

学操作系统也不是为了自己写一个操作系统,而是为了更好的理解所谓的软件工程思想

操作系统可以让我们更好的知道系统资源调配,编写程序的时候知道问题出在哪儿,知道更多的工程解决思路。

书籍的话推荐《操作系统导论推荐》和《深入理解计算机系统》。前者更适合初学者,后面这本则是盛名已久的操作系统好书,值得一看。

在这里插入图片描述

3.计算机网络

第三门课建议可以学计算机网络,程序数据的传输离不开网络,它的重要性自然不用多说,尤其是在面试的时候也经常会被问到,比如三次握手四次挥手等等,答不上来你可能就被PASS了。

计算机网络的话在之前我也推荐过,看《计算机网络:自顶向下方法》,一本很适合自学的书,讲解细致而富有条理,同时略去了很多细枝末节的信息,从而不至于让初学者无所适从。

在这里插入图片描述

4.计算机组成原理

为什么把它放在最后呢?因为对于大部分程序员来讲都是开发或者研发工作,计算机组成原理对搞硬件的人来说才是比较重要,所以一般你去互联网公司面试都不太会被问到计组。

但它必须得有所了解,因为就算你是个搞软件的,但凡你想有更高深的发展,你就会涉及到调优,那如果你不了解存储器、输入、输出系统、计算机的运算方法和指令系统等等,你如何调优?而这些都是计组的知识,所以必须得学。

书本的话推荐《计算机组成与设计:硬件/软件接口》,你只需一点点c语言和数字逻辑基础就能饮水般流畅得读懂绝大部分内容,读完之后对计算机组成原理的理解必然是清晰透彻的。

在这里插入图片描述


今天的分享到此结束了,如果对你有帮助,欢迎点赞收藏或者转发给有需要的朋友!

在这里插入图片描述

相关文章:

  • 2022国赛C:古代玻璃制品的成分分析与鉴别
  • 【云原生】springcloud12——服务网关Gateway
  • 快速掌握Zookeeper及Java API
  • numpy对数组进行过滤并获取下标
  • AttributeError: ‘HTMLParser‘ object has no attribute ‘unescape‘解决方案
  • 自定义类型:结构体(内存对齐),枚举,联合
  • 【云原生之Docker实战】使用Docker部署Wizard文档管理系统
  • 图书管理系统的设计与实现/ssm的图书管理网站
  • 深度学习pytorch训练代码模板(个人习惯)
  • 盒模型(非要让我凑满五个字标题)
  • OPTEE:TA和TA加载(一)
  • 抽象之美——万物皆可设计
  • steam搬砖项目,2022年详细讲解具体操作流程
  • c语言进阶:指针的进阶(下)
  • 嵌入式开发之驱动测试实践
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Consul Config 使用Git做版本控制的实现
  • es6要点
  • github从入门到放弃(1)
  • input实现文字超出省略号功能
  • JavaScript创建对象的四种方式
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • STAR法则
  • Swift 中的尾递归和蹦床
  • 基于组件的设计工作流与界面抽象
  • 驱动程序原理
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 小程序开发中的那些坑
  • 小而合理的前端理论:rscss和rsjs
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 最近的计划
  • ###C语言程序设计-----C语言学习(6)#
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)80c52学习之旅-起始篇
  • (一)SpringBoot3---尚硅谷总结
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net framework4与其client profile版本的区别
  • .NET Project Open Day(2011.11.13)
  • .NET 回调、接口回调、 委托
  • .net对接阿里云CSB服务
  • .net中生成excel后调整宽度
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [ 蓝桥杯Web真题 ]-布局切换
  • [20190113]四校联考
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [C#]winform部署yolov5-onnx模型
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项