计算机组成原理:

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. (原创)docker18.03的安装

    简要说明:docker的安装,官方主要是分为 1.在线yum命令安装: 2.离线安装: 3.安装指定的版本. 备注:官方的安装考虑的是全球区域,说白了就是大陆有一些不能照搬.所以这篇文章我是自己考虑实 ...

  2. UWB硬件设计相关内容

    1.dw1000最小系统 2.器件选择建议: 射频前端  射频前端需要将差分信号转换成单端射频信号,一般使用HHM1595A1(俗称巴伦). 频率参考  晶振一般选择38.4MHZ的TCXO,但是要注 ...

  3. 其它语言通过HiveServer2访问Hive

    先解释一下几个名词: metadata :hive元数据,即hive定义的表名,字段名,类型,分区,用户这些数据.一般存储关系型书库mysql中,在测试阶段也可以用hive内置Derby数据库. me ...

  4. [日常摸鱼]poj1741Tree-点分治

    还有两天就要去FJWC啦- 题意:一颗无根树,$k$为给定常数,求树上距离不超过$k$的点对的数量,多组数据,$n \leq 10^4$. 应该是点分治经典题~ 一般对于无根树我们都可以把它转变成有根 ...

  5. [日常摸鱼]Luogu1801 黑匣子(NOI导刊)

    题意:写一个数据结构,要求滋兹两种操作,ADD:插入一个数,GET:令$i++$然后输出第$i$小的数 这个数据结构当然是平衡树啦!(雾) 写个Treap直接过掉啦- #include<cstd ...

  6. Spring Boot 简单入门案例

    第一:打开idea 找到spring  Initializr 第二:点击Next 在点击下一步 找到web之后勾选第一个spring web 就完成了 在写一个类 点击运行 结果如下:

  7. Spring Data JPA 基础第二篇

    主要调用工具类JpaUtils类 package cn.itcast.utils;import javax.persistence.EntityManager;import javax.persist ...

  8. k8s重器之Service

    Service是k8s的核心,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到各个容器应用上. 目录: Service定义详解 Service基本 ...

  9. Docker - 配置加速器

    https://www.daocloud.io/mirror#accelerator-doc curl -sSL https://get.daocloud.io/daotools/set_mirror ...

  10. 安装简易OpenShift单节点并配置DNS泛域名

    1 楔子 公司有个项目部署在 OpenShift 容器云平台上,出现问题较多,于是萌生在公司环境搭建现场仿真环境,由于资源没有生产环境多,就使用单节点简单模拟下 本文主要内容包括以下: 使用 Dnsm ...