diff --git a/docs/数据库系统/CS346.md b/docs/数据库系统/CS346.md new file mode 100644 index 00000000..193b298b --- /dev/null +++ b/docs/数据库系统/CS346.md @@ -0,0 +1,27 @@ +# Stanford CS 346: Database System Implementation + +## 课程简介 + +- 所属大学:Stanford +- 先修要求:无 +- 编程语言:C++ +- 课程难度:🌟🌟🌟🌟🌟 +- 预计学时:150 小时 + +RedBase 是 cs346 的一个项目,实现了一个简易的数据库系统,项目是高度结构化的。整个项目能够被分为以下几个部分(同时也是 4 个 lab 需要进行完善): +1. The record management component:记录管理组件。 +2. The index component:B+ 索引管理。 +3. The System Management Component:ddl语句、命令行工具、数据加载命令、元数据管理。 +4. The Query Language Component:在这个部分需要实现 RQL Redbase 查询语言。RQL 要实现 select、insert、delete、update 语句。 +5. Extension Component:除了上述数据库系统的基本功能组件,还需要实现一个扩展组件,可以是Blob类型、 网络模块、连接算法、CBO优化器、OLAP、事务等。 + +RedBase 适合在学完 CMU-15445 后继续学习数据库系统中的其他组件,因为其代码量不多,可以方便的根据需要扩展代码。同时代码完全由 C++ 编写,也可以用于练习 C++ 编程技巧。 + + +## 课程资源 + +- 课程网站: +- 课程代码: +- 课程教材:无 +- 课程作业:4 Projects + 1 Extension + diff --git a/docs/编程入门/AUT1400.md b/docs/编程入门/AUT1400.md new file mode 100644 index 00000000..6d646aac --- /dev/null +++ b/docs/编程入门/AUT1400.md @@ -0,0 +1,34 @@ +# Amirkabir University of Technology 1400-2: Advanced Programming Course + +## 课程简介 + +- 所属大学:Amirkabir University of Technology +- 先修要求:无 +- 编程语言:C++ +- 课程难度:🌟🌟🌟🌟🌟 +- 预计学时:50 小时 + +无意中发现的一个 C++ 课程。课程的 homework 质量很高,每个 homework 相互独立结构简单,且有完善的单元测试,非常适合用来学习 C++ 的编程。本课程共 7 个 homework,如下所示: +1. 实现一个 Matrix 类以及相关函数。 + +2. 实现一个模拟加密货币客户端/服务端执行过程的程序。 + +3. 实现一个 Binary Search Tree (BST)。 + +4. 实现 C++ 中的 SharedPtr 和 UniquePtr 智能指针。 + +5. 使用继承和多态实现多个类。 + +6. 使用 STL 库解决 4 个问题。 + +7. 是个 python 项目,有兴趣的可以看看。 + +没找到课程的主页,只有在 github 有 homework 的源码(名字为 AP1400-2-HW 的那几个)。 + +## 课程资源 + +- 课程网站:无 +- 课程代码: +- 课程教材:无 +- 课程作业:7 homework + diff --git a/mkdocs.yml b/mkdocs.yml index dd1f6692..5d14a428 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -152,6 +152,7 @@ nav: - "Stanford CS106B/X": "编程入门/CS106B_CS106X.md" - "Stanford CS106L: Standard C++ Programming": "编程入门/CS106L.md" - "Stanford CS110L: Safety in Systems Programming": "编程入门/CS110L.md" + - "AmirKabir University of Technology AP1400-2: Advanced Programming": "编程入门/AUT1400.md" - 电子基础: - "EE16A&B: Designing Information Devices and Systems I&II": "电子基础/EE16.md" - "UCB EE120 : Signal and Systems": "电子基础/signal.md" @@ -165,7 +166,7 @@ nav: - "UCB CS169: software engineering": "软件工程/CS169.md" - 体系结构: - "Coursera: Nand2Tetris": "体系结构/N2T.md" - - "Digital Design and Computer Architecture": "体系结构/DDCA.md" + - "Digital Design and Computer Architecture": "体系结构/DDCA.md" - "UCB CS61C: Great Ideas in Computer Architecture": "体系结构/CS61C.md" - "CMU 15-213: CSAPP": "体系结构/CSAPP.md" - 操作系统: @@ -186,6 +187,7 @@ nav: - "UCB CS186: Introduction to Database System": "数据库系统/CS186.md" - "CMU 15-445: Database Systems": "数据库系统/15445.md" - "Caltech CS122: Database System Implementation": "数据库系统/CS122.md" + - "Stanford CS346: Database System Implementation": "数据库系统/CS346.md" - 编译原理: - "Stanford CS143: Compilers": "编译原理/CS143.md" - 计算机图形学: