计算机组成原理:

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. Acwing 393. 雇佣收银员

    算法1: 差分约束 + 枚举 O(Tn2028) 由于牵扯到 \([i - 8 + 1, i]\) 这段区间的和的约束,所以用前缀和更好表达一些. 设 \(num[i]\)表示 \(i\) 时刻有多少 ...

  2. 安装ELK的一些问题

    1.使用的是centos6,其linux内核版本为2.6.而Elasticsearch的插件要求至少3.5以上版本 ,禁用这个插件即可.修改elasticsearch.yml文件,在最下面添加如下配置 ...

  3. 移动端H5微信分享

    移动端H5微信分享功能,可以使项目更好地传播. 微信官方教程文档:  微信JS-SDK说明文档 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置&quo ...

  4. PHP判断字符串所属编码:ASCII、GB2312、GBK、UTF-8、ISO-8859-1

    ASCII: ASCII的编码范围为0-127(十六进制:0x00-0x7F),判断函数: function isasciistr($str){ for($i=0;$i<strlen($str) ...

  5. 【MySQL】Novicat 连接mysql 报错1251的问题处理,Novicat12 破解方法

    1.远程连接时,报错 是因为我们的navicat版本太低 在网上查的是,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是ca ...

  6. 【QT】多个槽函数绑定同一个信号的触发顺序

    目录 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 二.Qt 4.6(包含4.6)版本之后 一.Qt 3.0(包含3.0) - Qt 4.5(包含4.5)版本之前 「多个槽函 ...

  7. 基于Python PIL实现简单图片格式转化器

    基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...

  8. 走进 Python 类的内部

    这篇文章和大家一起聊一聊 Python 3.8 中类和对象背后的一些概念和实现原理,主要尝试解释 Python 类和对象属性的存储,函数和方法,描述器,对象内存占用的优化支持,以及继承与属性查找等相关 ...

  9. 图灵学院java架构师vip课程第二期 完整版课程下载 无加密

    部分目录2020年新图灵学院Java二期架构师教程下载[课程目录]├──一.VIP课程:互联网工程专题├──二.VIP课程:源码框架专题├──三.VIP课程:并发编程专题├──四.VIP课程:性能调优 ...

  10. Java equals方法学习

    通过某个特征值来判断两个对象是否"等价",当这两个对象等价时,判断结果为true,否则结果为false. Object类(Java的"对象世界"的根)中实现的e ...