计算机组成原理:

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. AGC043 B题题解

    有的时候,碰到一道题,要给自己先设立部分分,再去想如何把部分分推广到一般情况.这题就是绝佳的例子. 不妨将\(a_i\)用\(a_i - 1\)替代,这样就变成了\(a_i \in \{ 0, 1, ...

  2. django 初始化项目 和modelviewset 使用

    django初始化项目 1.初始化项目结构└─shiyanlou_project │ .gitignore│ README.en.md # 英文│ README.md # 中文项目简介│├─celer ...

  3. js上 十四、对象

    十四.对象 #1.初识对象 什么是对象? 在js中,一切皆是对象. 对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象. 桌子,笔记本,手机,人. 在日常生活中,我们是如何来描述这个对象 ...

  4. numpy和pandas-数据分析模块

    应用:1.数据分析 2.深度学习 3.机器学习 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本. 消耗资源少:采用 ...

  5. 精尽Spring MVC源码分析 - LocaleResolver 组件

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  6. 第一个开源控件:Google 官方下拉刷新控件 SwipeRefreshLayout 强化版,支持上拉刷新

    最近比较闲,所以趁着这时间撸了个SwipeRefreshLayout的加强版,Github地址. 原版只支持下拉刷新,强化之后支持上拉刷新和一进入页面就加载刷新,整个控件的加载动画是一致的,毫无违和感 ...

  7. [leetcode]29. Divide Two Integers不用除法实现除法

    思路是不断将被除数分为两部分,每次分的一部分都是尽量大的除数的倍数,然后最后的商就是倍数加上剩下的部分再分,知道不够大. 递归实现 剩下的难点就是,正负号(判断商正负后将两个数都取绝对值),数太大(将 ...

  8. [leetcode]120.Triangle三角矩阵从顶到底的最小路径和

    Given a triangle, find the minimum path sum from top to bottom.Each step you may move to adjacent nu ...

  9. [LeetCode]501. Find Mode in Binary Search Tree二叉搜索树寻找众数

    这次是二叉搜索树的遍历 感觉只要和二叉搜索树的题目,都要用到一个重要性质: 中序遍历二叉搜索树的结果是一个递增序列: 而且要注意,在递归遍历树的时候,有些参数如果是要随递归不断更新(也就是如果递归返回 ...

  10. 【探索之路】机器人篇(5)-Gazebo物理仿真环境搭建_让机器人运动起来

    如果完成了前两步,那么其实我们已经可以去连接我们的现实中的机器人了. 但是,做机器人所需要的材料还没有到,所以我们这里先在电脑平台上仿真一下.这里我们用到的就算gazebo物理仿真环境,他能很好的和R ...