计算机组成原理:

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. NOI2008 志愿者招聘

    文化课 + 竞赛双废物又来水题解了. 首先,对于题干中的人,很像网络流中的流量,但是他有一个每天人数的下限,我从网上借鉴(chaoxi)到了两种思路: 把下界限制转化为一条边的流量下界,这样就是最小费 ...

  2. 在github上删除项目或某个文件(两种方式)

    一.使用命令删除 首先先上传一个文件到远程仓库,测试一下 输入命令git rm -r --cached 文件名 删除本地跟暂存区的文件,如下图 再输入命令 git commit -m "删除 ...

  3. MISC-吹着贝斯扫二维码

    题目 [安洵杯 2019]吹着贝斯扫二维码 解压附件,有36个文件和一个压缩包,压缩包带密码和备注 分析 文件类型 随便打开一个不明文件,是jpg图片啊(FF D8 FF) 改一个试试,有一个小块二维 ...

  4. vue+axois 封装请求+拦截器(请求锁+统一错误)

     需求 封装常用请求 拦截器-请求锁 统一处理错误码 一.封装常用的请求 解决痛点:不要每一个模块的api都还要写get,post,patch请求方法.直接将这些常用的方法封装好. 解决方案:写一个类 ...

  5. Graphql Tutorials(Episode 01)

    1.前言 最近认识到Graphql,它是一个基于DSL的api.我曾接触过一个pos机刷卡系统,它是基于JSON-DSL语言开发的框架,很有趣.可是后来,没有机会深入研究.直到最近我认识了Graphq ...

  6. Error while instantiating 'org.apache.spark.sql.hive.HiveSessionStateBuilder': —— windows 开发环境使用spark 无法访问hdfs 问题解决

    ## 错误: ## 解决方案: 下载 hadoop 的可执行tar包,解压放在windows 本地,并配置环境变量. 在 解压后的文件夹的bin目录下放入两个文件: winutils.exe, had ...

  7. js上 七、表达式

    (1).什么是表达式 任何有值的内容都是表达式 一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如a=3中的3就是一个表达式,a=3整体也可以作为一个表达式. 常见表达式有如下几种: ü 原 ...

  8. WebSocket实现站内消息实时推送

    关于WebSocket WebSocket是HTML5 开始提供的一种在单个TCP连接上进行全双工通讯的协议.什么是全双工?就是在同一时间可以发送和接收消息,实现双向通信,比如打电话.WebSocke ...

  9. pandas的学习1-基本介绍

    ''' Numpy 和 Pandas 有什么不同 如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签,而 Pandas 就是字典形式.Pandas是基于N ...

  10. $$ PHP 的含义

    php中两个$也就bai是$$用来定义可变变量. 所谓可变变量,就是一个变量的名,又是一个变量.