建议看看计算机科学速成课,一门很全面的计算机原理入门课程,短短10分钟可以把大学老师十几节课讲的东西讲清楚!整个系列一共41个视频,B站上有中文字幕版。
每个视频都是一个特定的主题,例如软件工程、人工智能、操作系统等,主题之间都是紧密相连的,比国内很多大学计算机课程强太多!
课程目录如下,光看课程大纲都有学习的欲望~
建议关闭弹幕认真观看~
Github疯传!谷歌大佬撰写的算法手册开源了
无论学习什么编程语言,和需要和操作系统打交道。如果对操作系统不熟悉,那么你在未来的学习路上将会遇到很多障碍,比如线程进程调度、内存分配、Java的虚拟机等知识,都会一头雾水。所以只有把操作系统搞明白了,才能够更好地学习计算机的其他知识。
视频教程推荐
由清华大学两位老师向勇、陈渝讲授,同时配有一套完整的实验,实验内容是从无到有地建立起一个小却五脏俱全的操作系统,以主流操作系统为实例,以教学操作系统ucore为实验环境,讲授操作系统的概念、基本原理和实现技术,为学生从事操作系统软件研究和开发,以及充分利用操作系统功能进行应用软件研究和开发打下扎实的基础。
另外推荐另一门MIT操作系统课程:MIT6.268
MIT6.828是一门非常值得学习的课程,广受好评。
只要你跟着项目一步一步走,做完6个实验,就能实现一个简单的操作系统内核。
每个实验都有对应的知识点,学完理论知识后会有相应的练习,学习体验非常棒!
建议在开始学习这门课之前先熟悉C和汇编,对计算机组成有一定了解。
操作系统主要知识点:
计算机组成原理,主要学习计算机的基本组成原理和内部运行机制,并探索硬、软件之间相互作用的关系,以及如何有效利用硬件提高系统性能。
视频推荐
刘宏伟老师主讲,他的课不仅适合考研人,也非常适合初学者,初学者也听得懂。
课程为MIT6.004ComputationStructures,Spring2017,如果英文不错,可以跟着学学,课程质量很高的。
编译原理介绍了编译程序构造的原理与实践,让你明白高级语言都是如何被转换为另外一种语言的。学完编译原理,可以尝试自己去实现一个完整的小型面向对象语言编译程序。
比起很多砖头书和博客,强太多!陈鄞老师的PPT做的很好,讲得也很通俗易懂,课程评价也很高。推荐!
为什么学习数据结构与算法?对于计算机专业的同学来说,这门课程是必修的,考研基本也是必考科目。对于程序员来说,数据结构与算法也是面试、笔试必备的非常重要的考察点。
数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面。数据结构也蕴含一些面向对象的思想,故学好掌握数据结构对逻辑思维处理抽象能力有很大提升。
浙大陈越姥姥的数据结构课程:
浙江大学陈越姥姥和何钦铭教授联合授课,非常经典的课程。姥姥我的偶像!
数据结构与算法主要学习以下内容:
学完感觉还很吃力?可以借助一些刷题网站巩固下。下面推荐几个刷题网站。
牛客网
作为牛客红名大佬,来给牛客宣传一波!(牛客打钱!)
LeetCode
力扣,强推!力扣虐我千百遍,我待力扣如初恋!
我刚开始刷算法题的时候,就选择在力扣上刷。最初刷easy级别题目的时候,都感觉有点吃力,坚持半年之后,遇到中等题目甚至hard级别的题目都不慌了。
不过是熟能生巧罢了。
LintCode
与Leetcode类似的刷题网站。
LeetCode/LintCode的题目量差不多。LeetCode的testcase比较完备,并且LeetCode有讨论区,看别人的代码还是比较有意义的。
LintCode的UI、tagging、filter更加灵活,更有优点,大家选择其中一个进行刷题即可。
计算机网络这门课需要学习计算机网络的概念、原理和体系结构,知道计算机分层结构,物理层、数据链路层、介质访问子层、网络层、传输层和应用层的基本原理和协议,掌握以TCP/IP协议族为主的网络协议结构,并且了解网络新技术的最新发展。
书籍推荐
《计算机网络自顶向下方法》
这本书是经典的计算机网络教材,采用作者独创的自顶向下方法来讲授计算机网络的原理及其协议,自第1版出版以来已经被数百所大学和学院选作教材。书中从应用层讲起,然后展开,摆脱了从物理层开始的枯燥,直接接触应用实例,更能吸引读者的兴趣。而且,书上很多例子举的很好,生动形象。
视频推荐中科大郑烇、杨坚全套《计算机网络(自顶向下方法第7版,JamesF.Kurose,KeithW.Ross)》课程。这门课是2020年秋科大自动化系本科课程录制版,可与中科大学生一起完成专业知识的学习。
计算机网络核心知识点:
互联网应用大多属于数据密集型应用,对于真实世界的数据密集型应用而言,除非你准备从基础组件的轮子造起,不然根本没那么多机会去摆弄花哨的数据结构和算法。
实际生产中,数据表就是数据结构,索引与查询就是算法。而应用代码往往扮演的是胶水的角色,处理IO与业务逻辑,其他大部分工作都是在数据系统之间搬运数据。在最宽泛的意义上,有状态的地方就有数据库。它无所不在,网站的背后、应用的内部,单机软件,区块链里,甚至在离数据库最远的Web浏览器中。