Merge branch 'main' of github.com:conanhujinming/comments-for-awesome-courses

This commit is contained in:
Jinming Hu
2021-06-20 18:21:31 +08:00
5 changed files with 154 additions and 2 deletions

View File

@@ -0,0 +1,55 @@
课号:[CMU 15445 Fall 2020](https://15445.courses.cs.cmu.edu/fall2020/)
教授Andy Pavlo
评论贡献者:[WangAShao](https://github.com/WangAShao)
- [x] [Project x 4 & HomeWork x 5](https://15445.courses.cs.cmu.edu/fall2020/assignments.html)
- [x] [AutoGrader](https://www.gradescope.com/courses/195440)
- [x] Videos [bilibili](https://www.bilibili.com/video/BV1q741127SQ), [youtube](https://www.youtube.com/watch?v=oeYBdghaIjc), [simviso中文翻译-付费](https://www.simtoco.com/#/albums?id=1000013)
- [x] [Complete Notes & Slides](https://15445.courses.cs.cmu.edu/fall2020/schedule.html#)
## 课程信息
数据库系统设计CMU的神课是讲数据库底层原理的课程是在CMU开发的一个供教学的数据库系统bustub上面添加更多功能的支持。如果你想深入数据库的底层那么这门课非常适合你。即便你以后做的是后台开发了解数据库底层原理也对你大有裨益。Andy Pavlo也是数据库领域非常有名的教授课堂效果很好。
这么课程的精髓在实验下面简单介绍一下project主要做什么内容
Project1实现一个BufferPoolManager难度简单。主要考察数据结构以及对数据库的理解。具体来说是实现LRU替换算法和内存池管理器来管理内存另外要求支持并发。预计用时2~3天。
project2实现B+树难度困难。首先实现B+树的数据结构然后在此数据结构之上支持插入查询删除迭代器并发控制等。这一部分测试用例非常强劲。预计用时7~10天。
peoject3实现Query Exeution的支持难度中等。实现系统目录来跟踪有关数据库的元数据然后实现像`SEQUENTIAL SCAN``INDEX SCANS`等一系列的执行子使用的是火山模型。预计用时3~5天
project4支持并发的查询执行难度中等偏难。主要包括三个任务锁管理器死锁检测以及并发查询执行。预计用时4~6天。
## 适合人群
这门课程有一定的难度需要有一定的代码能力如果要量化一下的话个人认为难度比MIT6.s081高一些。
## 课程评价
视频我看过讲的挺不错的如果有时间的话推荐看一下每一个lec对应的notes就是对上课内容的总结没时间看视频直接看notes也行。
这门课的作业是小事难度不大可以用来复习一下上课讲到的算法而且作业提供了标准答案。重点在于project上面难度很大非常的painful...尤其是第project2 B+树,本来难度就大,测试用例还非常强劲。
这门课虽然提供了自动测试但是gradescope是限时开放的gradscope的邀请码可以在课程主页中的FAQ里面找到。
项目采用C++语言但是并没有用到很复杂的语法之前没学过C++也不用太过担心可以边做边学。另外project之间存在依赖后面的project依赖于前面project的正确性。
最后的碎碎念想要真的搞懂这门课最重要的是一定要做Project在达到了正确性之后还可以去刷排行榜尽可能提升自己程序的性能用到上课讲到的优化策略。
## 非官方资料推荐
1. [CMU15445交流群](https://zhuanlan.zhihu.com/p/366484273)的piazza里面有大量优质问答
2. 一份整理的很不错的[CMU15445笔记](https://zhenghe.gitbook.io/open-courses/cmu-15-445-645-database-systems/relational-data-model)
3. 我自己也记录了一点[笔记](https://www.zhihu.com/column/c_1389608400238546945)里面除了LRU之外基本没怎么贴代码所以可以放心观看。LRU这一Part之所以贴了代码是因为毕竟是第一个task如果读者跟着做最后看到了这个任务点的测试通过一定会感到大受鼓舞那么后面会做的更加有动力。
主要记录的是我印象比较深刻的坑点以及一些小技巧还有一些我认为比较难想清楚的地方。目前这篇笔记写得还比较捞,考完试之后我会花时间润色一下。
## 后续课程推荐
- [CMU15-721](https://15721.courses.cs.cmu.edu/spring2020/)同样是Andy教授教学是445的进阶课程
- [PingCAP tinysql](https://university.pingcap.com/talent-plan/implement-a-mini-distributed-relational-database)PingCAP著名开源项目适合对分布式数据库等感兴趣的同学。

View File

@@ -0,0 +1,44 @@
课号:[Stanford CS231N](http://cs231n.stanford.edu/)
教授Feifei Li等
评论贡献者:[Zhang-Each](https://github.com/Zhang-Each)
- [x] VideosB站上到处都是还有字幕
- [x] Assignment * 3每个Assignment工作量都比较大可以分割成更小的
- [x] AutoGrader每个notebook中自带一些测试用例足够验证代码的正确性
- [x] Slides & Reading见课程网站
## 课程信息
- 深度学习导论课程非常经典的入门课从机器学习开始一步步讲到深度学习神经网络从MLP逐渐扩展到CNNRNNLSTMGANTransformer等模型对于深度学习中的CV和NLP均有所涉猎
- 3个assignment的工作量比较大使用Python和Jupyter Notebook完成**大部分内容都是基于numpy从底层开始实现**少部分任务可以直接使用pytorch等深度学习框架每个lab的具体内容主要有
| Assignment编号 | 具体内容 |
| -------------- | ------------------------------------------------------------ |
| 1 | 实现SVM和线性分类器算法实现KNN算法实现神经网络全连接层和激活函数层的前向传播和反向传播算法并搭建一个两层的MLP |
| 2 | 实现卷积层、池化层、标准化层和Dropout层的前向传播和反向传播并组成一个有标准化层的MLP和一个有三层的CNN使用pytorch或tensorflow实现一个CNN测试的task都是图片分类 |
| 3 | 实现RNN和LSTM层的前向传播和反向传播并组成循环网络测试在Image Caption任务中的表现实现Transformer模型的关键组件并测试Transformer模型在Image Caption任务中的表现实现GAN并测试其在手写数字生成任务中的表现实现深度学习可视化相关的一些函数 |
- 同时作业**配备了相当数量的测试点**,基本每写一个关键函数都会提供一个单元测试来判断有没有写错,一般误差在标准范围内就可以放心进行下一步了
## 适合人群
- 深度学习入门并且具有一定的数学基础和Python编程能力的人(主要是numpy等库的api需要掌握的比较熟练)
## 课程评价
- 个人认为**深度学习入门神课这一称号当之无愧**上课内容是一个方面我认为这门课最大的价值在于它的3个assignment做完之后不仅对课上讲到的各种概念有了更底层的理解也非常锻炼Python编程能力并且能帮助你掌握numpy和pytorch等库中的关键api
- 实现一系列神经网络中的经典模型是一件比较有成就感的事情这些assignment做的过程也非常愉快
- 同时notebook中配备的大量测试点也可以提供及时的反馈信息我认为要完成这些作业很重要的一点就是要将slides中将的公式和实际代码相结合并且反向传播部分的作业中需要进行大量的求梯度推导个人认为需要一定的数学能力
## 非官方资料推荐
- 深度学习中的经典论文,详情见课程网站
- Github上也有很多公开的课程笔记可以选择性使用
- 给自己的[博客](https://zhang-each.github.io/)引个流博客中的【手写神经网络】系列的博客是我在完成assignments时的一些心得体会和公式推导希望能够帮到您
## 后续课程推荐
- CS224N 基于深度学习的自然语言处理
- CS224W 图机器学习(实际上是图神经网络导论)

View File

@@ -0,0 +1,48 @@
课号:[*UC* Berkeley CS 61B](https://sp18.datastructur.es/)
教授:[Josh Hug]()
评论贡献者:[sfumecjf](https://github.com/SFUMECJF)
- [x] Videos[Youtube](https://joshhug.gitbooks.io/hug61b/content/chap1/chap11.html), [B站](https://www.bilibili.com/video/BV1SW411P7hX?from=search&seid=15304785161712085954)
- [x] [LabHW x 40](https://sp18.datastructur.es/)
- [x] [AutoGrader](https://gradescope.com/)
- [x] [Slides & Reading](https://docs.google.com/presentation/d/12Fp-hjYhdFL7EcVqpNGpFb2BdCL2gr1SFOS5E6pyohg/edit#slide=id.g3ad1dc4a7_00)
## 课程信息
数据结构。教授一步步从零开始实现各个数据结构,并且慢慢优化到最良好的结构。这门课程非常适合任何完全零基础的小白以及跨专业补基础的同学,学扎实的话,起码面试都会受益无穷。
## 适合人群
零基础想学习数据结构的人群(可以没有任何编程基础)。
## 课程评价
学了一定不会后悔的课程也许有其他很好的课但是cs61b的学习人数以及课程质量一定不会差。视频语速适中能听懂。可以按照主页的介绍一步步来学习,[如何在主页开始学习](https://github.com/SFUMECJF/cs61b-study-guide/blob/main/1-autograder%E9%85%8D%E7%BD%AE.md)。
- 优点:
- 课程lab/HW/Project任务多而指导详细也许是缺点
- 所有资料都在网上并且和本校学生一模一样
- 从小的数据结构开始填充,便于理解
- 缺点:
- 有些guide的讨论或者问题没有答案
视个人基础大概需要100到200小时左右的学习时间。
## 需要注意的坑点
基本没有坑点,只是[配置autograder]((https://github.com/SFUMECJF/cs61b-study-guide/blob/main/1-autograder%E9%85%8D%E7%BD%AE.md))麻烦一些。
一起找小伙伴组队学习,可以加入[cs61b学习交流群](https://mp.weixin.qq.com/s/oZDGkY34wLGW5KxCGYcWgA)了解。
## 非官方资料推荐
暂无
## 后续课程推荐
- [cs170](https://cs170.org/)

View File

@@ -1,3 +1,7 @@
site_name: 名校公开课程评价网
theme: readthedocs
repo_url: https://github.com/conanhujinming/comments-for-awesome-courses/
repo_url: https://github.com/conanhujinming/comments-for-awesome-courses/
markdown_extensions:
- def_list
- pymdownx.tasklist:
custom_checkbox: true

View File

@@ -1 +1,2 @@
mkdocs
mkdocs
mkdocs-material