您的位置首页百科知识

如何学习大学计算机基础?

如何学习大学计算机基础?

题主说的大学计算机基础应该是指计算机导论之类的课程。

首先, 计算机导论在大多数学校都是一门水课 ,所以很多同学会听得云里雾里,但是学不好的不用焦虑。

因为这门课程主要是帮大家了解一下计算机是什么,仅仅是抛砖引玉,等之后大二、大三时还会深入学习,到时候才能真正理解。

如果想要认真学一下,建议可以在 慕课看国防科大的《大学计算机基础CAP》 : 大学计算机基础CAP_国防科技大学_中国大学MOOC(慕课)

或者也可以先去B站上看看这个视频—— 《计算机科学速成课》。

是来自 YouTube上非常热门的计算机课程 ,然后被翻译到了B站,非常适合 入门计算机,建立基础概念 。

总共40集,包含计算机早期历史、中央处理器、编程原理、计算机网络、 计算机安全 等分类,概括了计算机的大部分内容。

每节课都控制在 12 分钟左右,总计 8 小时,基本上花一个白天的时间就能看完。这门课程通过生动形象的讲解方式,向普通人介绍了计算机科学相关的基础知识。因为每一集比较短,也不容易产生枯燥的感觉。

看过的小伙伴都在评论区说好:

新晋厕所排队经典读物:

我把课程目录贴一下:

这个课程可以帮助你建立起对计算机的基本认知,培养学习兴趣,零基础非常适合。

然后,冲着题目点进来的,应该还有很多是为了 系统学好计算机基础课程 的,下面来分享一下我自己学习计算机基础的经验。

计算机核心基础内容可以总结为6个部分:

下面来详细介绍下每个部分需要重点学习的内容:

1、操作系统(Linux)

2、计算机组成原理/系统结构

(1)计算机基本结构。

冯·诺伊曼结构,计算机执行指令的过程。

(2)指令系统体系结构。

(3)算数逻辑单元。

逻辑运算,二进制加减法运算,ALU的实现

(4)乘法器和除法器。

(5)单周期处理器。

(6)流水线处理器。

(7)存储层次结构。高速缓存,主存。

(8)中断和异常。

中断与异常的异同,中断处理的过程。

(9)输入和输出设备。

基本的输入输出控制方式,常用的输入输出设备类型。

3、计算机网络

网络的分层、TCP 拥塞控制 等等。

常见面试题有下面这些:

4、数据结构

典型的数据结构:数组、队列、栈、堆、树、哈希表、 并查集 、字典树, 原理要知晓和理解 。

并且队列、堆、栈、树这种典型数据结构 能手写代码自己实现 。

5、算法

排序:冒泡、插入、快排、归并、插排

分治

动态规划

搜索

回溯

这几个典型的算法一定要能熟练掌握原理并能运用,举一反三,解决实际的问题。

7、数据库

另外,学习计算机一定不要想着速成,没有什么捷径和超能力。 要下苦功夫去啃那些经典书和源码,然后自己动手写 ,所有技术大佬都是一行行代码敲,一本本书啃出来的。

我在大学期间,为了把专业学好,看了大量经典的专业书籍,整理了这份 计算机必读的高分经典书籍 :

这份书单对于CS学习的同学帮助非常大且十分系统,这些书籍的电子版已经整理好了。

需要的直接戳这里领 : 计算机必看经典书籍(附pdf下载),请注意查收~

推荐 视频课程+书籍结合 的方式,千万不要抱着大块头的书从头啃到尾。

看视频课程会比纯看书更生动,更容易理解。

课程平台推荐:

关于课程,这里同样推荐 入门版+进阶版 2个版本。

这里帮大家进行了归类整理,并且把 具体课程对应的视频资源也给找到了 ,可以直接用哈。

(1)数据结构算法

浙江大学-《数据结构》,课程评价非常不错。

配套书籍-入门推荐

《 大话数据结构 》

《啊哈!算法》

这两本书均是以幽默风趣的风格来讲述数据结构和算法,相对而言不会很枯燥,适合入门。

建议通过 可视化的方式学习算法和数据结构 ,能很容易看出其基本原理、各种操作是怎么实现的。

数据结构和算法可视化学习网站这里强烈推荐:

visualgo: https:// visualgo.net/zh

Data Structure Visualizations: https://www. cs.usfca.edu/~galles/vi sualization/Algorithms.html

(2)操作系统

推荐哈工大-《操作系统》

https://www. icourse163.org/course/H IT-1002531008

堪称操作系统课程的神作!!! 李治军 老师把操作系统讲的每个故事都浅显易懂,真正的 深入浅出 。

课程包含了进程设计与实现、虚存设计与实现、外设驱动与实现在内的12个配套实验,通过丰富的实践环节,使学生真正掌握设计、实现和分析完整操作系统的能力。

实验课资料: https:// github.com/hoverwinter/ HIT-OSLab

另外,学习操作系统一定会学Linux,Linux入门推荐鸟哥的私房菜-基础学习篇:

(3)计算机组成原理

华中科技大学-《计算机组成原理》: https://www. icourse163.org/course/H UST-1003159001

我母校的课程必须上榜了!!!这真的是理论讲得最深入浅出,实践课也让人手痒的优秀课程。

被评为国家精品资源共享课和国家一流线上课程,是计算机专业系统能力培养核心课程。

(4)计算机网络

哈工大-《计算机网络》: https://www. icourse163.org/course/H IT-154005

本课程分为三个单元:“计算机网络之网尽其用”、“计算机网络之探赜索隐”和“计算机网络之危机四伏”。分别介绍了计算机网络基础、计算机网络内部原理以及网络安全威胁相关知识。

(5)数据库

人大-王珊教授《数据库》: https://www. icourse163.org/course/R UC-488001

王珊教授是国家十二五本科规划教材《数据库系统概论》的作者,本课程也是国家精品课程。

数据库讲道理国内优秀课程不多 ,王珊老师的这个课程算是矮子里面拔高子,或者可以 直接看我下面推荐的国外精品课 。

另外这里强烈推荐网上的经典公开课,这些公开课 久经考验,有深度,评价非常高 ,并附 有详细的lecture和代码案例 。

可能一开始会觉得比较难,尤其是国外大学课程,英文讲解,而且通常比国内学校讲的有深度,但是只要坚持,收获还是非常不一样的。

为什么推荐国外顶尖大学的公开课?

下面是standford大学CS346数据库系统实现课程的内容,需要每个人实现一个数据库系统,考核分数也是project占大头。

基础课程推荐的视频课程和书籍有:

1、操作系统

(1)MIT6.268

课程官网: https:// pdos.csail.mit.edu/6.82 8/2018/schedule.html

youtube视频链接:

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

网友的一些homework实现:

https:// github.com/SmallPond/MI T6.828_OS/tree/master/xv6-public

https:// zhuanlan.zhihu.com/p/74 028717

MIT6.828 是一门公认的硬核课程,一直以来都有很高的知名度,也广受好评,是理论与实践相结合的经典。

建议是在上过学校的OS课,或者阅读过操作系统导论类再来学习这门课 。最好在开始之前熟悉C和汇编,也对 计算机组成 有一定了解。

然后只要你跟着项目一步一步走,做完 6 个实验,就能实现一个简单的操作系统内核。

lab是这门课的重点:

书籍推荐-进阶版:

《Unix环境高级编程》

《 深入理解linux内核 》

2、计算机网络

推荐standford课程cs144

课程链接: https://www. scs.stanford.edu/10au-c s144/

https:// cs144.github.io/

视频: https://www. youtube.com/playlist? list=PLvFG2xYBrYAQCyz4Wx3NPoYJOFjvU7g2Z

不能翻墙的B站也可以看: https://www. bilibili.com/video/BV1T t411s7ei/

进阶书籍推荐: 《 计算机网络-自顶向下方法 》

学有余力可以读下TCP/IP详解: 《TCP/IP详解卷1:协议》

这位芝士回答大佬 @ 胡津铭 有一个专栏讲如何自己实现一个TCP,强烈推荐: https:// zhuanlan.zhihu.com/p/17 5998415

实战的话推荐 《Wireshark网络分析就这么简单》 ,可以亲手尝试抓包分析数据报文的信息。

3、数据库

(1)standford CS145/CS245/CS346逐步递进的学习。

课程链接:

CS145:Introduction to Databases 偏基础入门。

课程信息:

http:// infolab.stanford.edu/~j unyang/cs145/info.html

https:// cs145-fa20.github.io/

https:// online.stanford.edu/cou rses/cs145-data-management-and-data-systems

视频链接(YouTube):

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

CS245:Principles of Data-Intensive Systems

https:// web.stanford.edu/class/ cs245/

CS346:Database System Implementation

高阶教程,这门课程会带你从底层实现一个数据库!

https:// web.stanford.edu/class/ cs346/2015/

(2)伯克利的 数据库导论

https:// www2.eecs.berkeley.edu/ Courses/CS186/

https:// cs186berkeley.net/

视频:

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

(3)CMU的 数据库系统

数据库系统设计域实现,涵盖数据模型、存储模型、查询语言、存储架构、事务处理、恢复、并发架构等等,并结合开源和商业数据库给出案例讲解。

https:// 15445.courses.cs.cmu.edu /fall2020/

视频:

FALL 2021:

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

FALL 2020:

https://www. youtube.com/watch? v=vyVGm_2iFwUlist=RDCMUCHnBsf2rH-K7pn09rb3qvkAstart_radio=1rv=vyVGm_2iFwUt=33

配套书籍 《 数据库系统概念 》

4、数据结构与算法设计

(1)MIT 6.006 Introduction to Algorithms

MIT 6.006 是经典的数据结构和算法入门课程,涉及到排序、哈希、图论、动态规划。Lecture非常翔实,伪代码可读性强,在辅以专门的practice,用py实现的。

课程链接:

https:// ocw.mit.edu/courses/ele ctrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/

上面直接放出了视频:

https:// ocw.mit.edu/courses/ele ctrical-engineering-and-computer-science/6-006-introduction-to-algorithms-spring-2020/lecture-videos/index.htm

(2)书籍: 《算法》

内容全,源码示例多。

如普林斯顿大学教材使用的就是这本书,然后有配套的教程网站,上面有很多文档和demo:

https:// algs4.cs.princeton.edu/ lectures/

视频:

https://www. youtube.com/watch? v=1QZDe28peZklist=PLRdD1c6QbAqJn0606RlOR6T3yUqFWKwmX

5、计算机组成原理

推荐公开课:

CMU:《Introduction to Computer Architecture》

YouTube上有系列视频课程: https://www. youtube.com/watch? v=zLP_X4wyHbYlist=RDCMUCnoYy1k6I5gLIxhlNiStrdQstart_radio=1rv=zLP_X4wyHbYt=65

观看次数非常多,非常受欢迎:

配套进阶书籍推荐: 《 深入理解计算机系统 》

本书畅销全球40多个国家,被400多个高校用作教科书。提供了大量实验课程,含实验环境、ppt、习题以及对应源代码、视频解读等。

我的下面这些回答如果感兴趣的话也可以一起看看:

1、计算机专业如何 高质量的走完大学四年? 毕业成为offer收割机?

2、给 计算机大一新生的建议 ,获得了 7900+赞和收藏:

3、关于 大学四年的专业课学习规划 ,我之前写过一个2万+字的回答,非常之详细:

4、 阿里老学长的血泪经验贴,看完你肯定会有所收获 :

5、 大厂校招计算机专业学生最看重的5点:

6、学习语言的话,首先 多看专业书籍 ,另外就是多实战,熟能生巧。

以Java为例, Java技术栈 的学习路径可以按照下面来安排:

如果是 C++ ,可以按照下面的学习路径: