计算机组成原理:

UCB的这门课绝对是不错的资源。

Great Ideas in Computer Architecture (Machine Structures)

B站:https://www.bilibili.com/video/BV1PV411U7Hv?from=search&seid=15452546263176877018

course website:https://cs61c.org/fa20/

网站做的很炫酷有dark mode,LAB的质量也非常高,有详细的文档,介绍每一个lab的objective,还有用到的术语

当我点开这门课的第一个lab之后(第0个,这程序员该死的执著),

这完善,细致的 说明文档,简直让我爱了爱了,

仔细去读,发现条理也很清晰,按照文档一步步做,除了语言障碍,

其他都被摆平了有没有!

不过我看了一下,assignment是需要在另外一个网站上做的,如果不翻墙的话,可能就麻烦点了。。

但总体来说,这门课的质量应该是十分之高的了~

迫不及待想动手去做了呢。

还有一门很多人推荐的课程:

依据基本原理构建现代计算机:从与非门到俄罗斯方块(基于项目的课程)

官方介绍:The materials also support two courses that we now teach in Coursera: Nand2Tetris PartI (hardware projects/chapters 1-6), and Nand2Tetris Part II (software projects/chapters 7-12). These courses are aimed at learners who wish to take the course at their own pace. Here is a two-minute video promo of Part I of the course.

所以说,这门课是有两门的,一门硬件,一门软件。 都在Coursera上可以看到。

还有一位大佬写的答案:https://github.com/woai3c/nand2tetris

使用的书是:《The Elements of Computing Systems》

我顺着线索一直去翻才发现,这门课是神课呀。

课程的作者在TED上还有一个演讲

TED《Shimon Schocken:自组织式计算机课程》:
http://www.tudou.com/albumplay/s_GUUrXO1UQ/C483z4Z_APQ.html

按照他这本书的结构来看,本书从与非门开始教你一步步构建一个完整的计算机(1-5章);从第 6 章开始一直到第 11 章,需要完成三个编译器(汇编编译器、VM 编译器、Jack 语言编译器);最后一章则需要完成操作系统部分功能。

这套课程不仅仅只关于计算机系统,而是从底层出发,到操作系统,编译器。

完成这套课程你将会获得以下成就:

  • 构建出一台计算机(在模拟器上运行)
  • 实现一门语言和相应的语言标准库
  • 实现一个简单的编译器

这可比听老师念课本,然后考试有意思多了!

好心动有没有!!!

书可以从图书馆里借,再去Coursera上上课。

video 短小精悍,还有字幕,降低了语言门槛,英语再差也能学!!

正好我得准备雅思了,趁着这次机会把英语加强一下~

所以寒假回家就把这个课好好玩一玩,开学之后再玩UCB的那个LAB~

至于计算机网络:

这门课程的学习资源没有计算机组成原理那么丰富,

仅仅现成的几门名校课程,我的英语能力属实不太够,

所以要么,就辅助国内的内容来学习,要么就尽快提高自己的英语水平。英语不好真是处处碰壁!

按照胡津铭大神推荐的:

【斯坦福大学】CS144 计算机网络介绍

B站:https://www.bilibili.com/video/BV137411Z7LR/?spm_id_from=333.788.videocard.3

https://zhuanlan.zhihu.com/p/175998415

大神写的笔记:https://github.com/huangrt01/CS-Notes

按照胡津铭大神的介绍,这门课,讲课很枯燥,但是lab不错。

还有我找到的cmu的这门课:

卡耐基梅隆大学 14-740 计算机网络 Fundamentals of Computer Networks(Fall 2020)

B站:https://www.bilibili.com/video/BV1wT4y1A7cd

课程主页(大纲,课件):http://www.ini740.rocks/F20/index.html#videos

第一节课 introduction 就给我干趴下了,后面介绍一点点初级内容的时候就听的雨里雾里的。。词汇量还是太低了!!

我点进课程主页后,发现这门课的lab,homework,reading materials 也十分完善,还有讨论区。

我仔细看了一下lab0,简单介绍了一下这门课的一个工具,packet sniffer ,课程要求是学会使用这个工具。内容还是很充实易懂的。

考虑到计算机网络这门课十分的不讲人话,所以我认为应该配备一本中文书或者通俗易懂的书方便学习的时候查阅。

我慌的一比......

还有一门国内的计网课,如果学到不懂的概念就可以查阅,

计算机网络微课堂

B站:https://www.bilibili.com/video/BV1c4411d7jb

数据库:

在知乎上搜索了很久,

发现了CMU的database system

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

截止到2021年一月 这门课的2020版本还没有放出video和slide,可以等等,或者换19年的版本,应该都差不多。主要还是做lab

下面是某匿名知乎用户的评价:

作者:匿名用户
链接:https://www.zhihu.com/question/57532048/answer/932528413
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

推荐CMU Andy Pavlo的15445(database system). 主要讲关系型数据库的系统实现。课程内容分配合理,从磁盘缓存管理,到索引,到查询引擎实现,各种 join aggregate实现, 查询优化,锁机制,mvcc, 日志恢复,再到分布式数据库架构。在讲解系统实现的同时也会从应用的角度展示各个主流数据库的功能。比如在讲事务隔离级别的时候,Andy会同时开mysql, sqlite和 postgres几个窗口,通过现场写sql, 展示不同数据库对事务隔离的支持。同时有配套的project, 四次project做完基本实现一个简单的存储引擎。可以说上完这门课,对数据库内部各种机制就已经非常熟悉了,同时也能大大的增强你C++并行编程的能力。虽然内容很多,但是Andy真的是很会讲课的那种老师,每个知识点都会讲的很细,ppt配的图例也很清楚。15445所有课程资料都是公开的,最新的上课视频,作业,project,还有笔记都在课程网站公开。可以说对于自学十分友好了。课程网站做的很漂亮,大家直接google CMU 15445就能找到。Andy在每年春季还会开15445的高阶课程15721,重点讲内存数据库的实现和系统优化部分,课程资料同样公开,感兴趣的同学可以了解一下。

还有浙大的非mooc 版本, 对应我们学校的 数据库与数据库实验

数据库系统Database System

https://www.bilibili.com/video/BV1Di4y1g73M?p=10

祝各位学的开心!!

《计算机组成原理 》& 《计算机网络》& 《数据库》 Roadmap for self-taugh student的更多相关文章

  1. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  2. 计算机组成原理往年试题以及答案(tzf!!!)

    计算机组成原理往年试题以及答案(下载链接!!!) 太子妃升职记(1~36) ::http://pan.baidu.com/s/1dDP5Kqd

  3. linux的系统组成和计算机组成原理,linux常用操作

    Linux入门 linux简介   学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...

  4. 计算机组成原理实验之CPU组成与指令周期实验

    (实验五  CPU组成与指令周期实验) 课程 计算机组成原理实验 实验日期 2015 年 12 月  8 日 一.实验目的 1.将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机. 2. ...

  5. day01-编程与计算机组成原理

    什么是编程 编程语言:是人与计算机沟通交流的介质,通过标准化的规则传递信息 编程:就是为了使计算机能够理解人的意图,通过编程语言写出一个个文件,这堆文件完成相应的目的 编程的目的:用计算机取代人完成工 ...

  6. 【0725 | Day 1】计算机编程/计算机组成原理/计算机操作系统

    什么是编程 编程语言:人与计算机交流的手段 编程:通过编程语言编写文件 学习编程的目的:让计算机代替人力,为我们服务 计算机组成原理 计算机由五大部分组成:控制器.运算器.存储器.输入设备.输出设备. ...

  7. 重学计算机组成原理(五)- "旋转跳跃"的指令实现

    CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if-else.for这样的条件和循环存在,这些指令也不会一路平直执行下去. 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CP ...

  8. 重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

    用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面 ...

  9. 重学计算机组成原理(十)- "烫烫烫"乱码的由来

    程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二 ...

随机推荐

  1. 算法——单词拆分 II

    给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. 链接: leetcode. 解题思路 ...

  2. uni-app中封装统一请求函数

    封装统一请求函数有利于项目的维护 整体功能简单实用,但小编遇到一个巨坑,项目中在vue文件使用跳转方法,url参数输入 "/" 后工具提示的路径为 "/pages/log ...

  3. SpringBoot + Mybatis-Plus 实现多数据源简单示例

    1. 简介   在单体项目中,经常出现想要访问多个数据源的情况,或者因为某些性能瓶颈,将大数据量的业务表分离到另一个库等情况.   实现多数据源的方案有很多,Mybatis-Plus提供了非常简单的实 ...

  4. Hive JDBC执行load时无法从本地加载数据

    通过hive-jdcv连接hive server,在应用服务端执行以下命令,报错:Hiver Server节点上找不到data.txt load data local inpath '/home/dw ...

  5. css进阶 07-CSS面试题

    07-CSS面试题 #常见问题 #你是如何理解 HTML 语义化的? 语义化:指对文本内容的结构化(内容语义化),选择合乎语义的标签(代码语义化). 举例:段落用 p,边栏用 aside,主要内容用 ...

  6. 百度实习生,以修仙者的角度聊聊怎么学MySQL,不来看看你的修为如何吗?

    目录 因为我个人比较喜欢看修仙类的小说,所以本文的主体部分借用修仙者的修为等级,将学习旅程划分成:练气.筑基.结丹.元婴.化神.飞升六个段位,你可以看下你大概在哪个段位上哦! 本文目录: 我为什么要写 ...

  7. NET 5 使用RabbitMQ以及Kafka区别

    区别 1.应用场景方面RabbitMQ:用于实时的,对可靠性要求较高的消息传递上.kafka:用于处于活跃的流式数据,大数据量的数据处理上.2.架构模型方面producer,broker,consum ...

  8. Windows安装VsCode 和Nodejs Vue

    一.安装VSCode 1.在官网下载并安装VSCode https://code.visualstudio.com/Download 注意:解压到非系统盘(节约系统盘空间,也方便后面使用) 文件夹最好 ...

  9. Redis 设计与实现:Redis 对象

    本文的分析都是基于 Redis 6.0 版本源码 redis 6.0 源码:https://github.com/redis/redis/tree/6.0 在 Redis 中,有五大数据类型,都统一封 ...

  10. shiro 拦截时序图

    shiro 集成 web 1.第一个过滤器-AbstractShiroFilter subject 是后续动作的主体. 首先构造 subject: WebSubject DefaultSecurity ...