diff --git a/CMU15445数据库系统设计/fall2020-WangAShao.md b/CMU15445数据库系统设计/fall2020-WangAShao.md new file mode 100644 index 0000000..d83d226 --- /dev/null +++ b/CMU15445数据库系统设计/fall2020-WangAShao.md @@ -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著名开源项目,适合对分布式,数据库等感兴趣的同学。 \ No newline at end of file diff --git a/StanfordCS231N神经网络/README.md b/StanfordCS231N神经网络/README.md new file mode 100644 index 0000000..a65bede --- /dev/null +++ b/StanfordCS231N神经网络/README.md @@ -0,0 +1,44 @@ +课号:[Stanford CS231N](http://cs231n.stanford.edu/) + +教授:Feifei Li等 + +评论贡献者:[Zhang-Each](https://github.com/Zhang-Each) + +- [x] Videos:B站上到处都是,还有字幕 +- [x] Assignment * 3,每个Assignment工作量都比较大,可以分割成更小的 +- [x] AutoGrader:每个notebook中自带一些测试用例,足够验证代码的正确性 +- [x] Slides & Reading:见课程网站 + +## 课程信息 + +- 深度学习导论课程,非常经典的入门课,从机器学习开始一步步讲到深度学习,神经网络,从MLP逐渐扩展到CNN,RNN,LSTM,GAN,Transformer等模型,对于深度学习中的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 图机器学习(实际上是图神经网络导论) \ No newline at end of file diff --git a/UC BerkeleyCS61B数据结构Java/README.md b/UC BerkeleyCS61B数据结构Java/README.md new file mode 100644 index 0000000..b2d11bb --- /dev/null +++ b/UC BerkeleyCS61B数据结构Java/README.md @@ -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/) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index eb262d6..9464643 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,3 +1,7 @@ site_name: 名校公开课程评价网 theme: readthedocs -repo_url: https://github.com/conanhujinming/comments-for-awesome-courses/ \ No newline at end of file +repo_url: https://github.com/conanhujinming/comments-for-awesome-courses/ +markdown_extensions: + - def_list + - pymdownx.tasklist: + custom_checkbox: true diff --git a/requirements.txt b/requirements.txt index b854bca..9a8a4ca 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -mkdocs \ No newline at end of file +mkdocs +mkdocs-material