「cmu15-445」初见
cmu15-445是一门非常著名的数据库课程, 之前一直很想看看, 但是一直没太多时间, 今天花点时间来做一下第一次的作业project-0, 并记录一下流程, 课程要求不能展示源代码, 故这里就给出一个环境配置的流程2333, 也当是一次记录吧
课程相关资源:
「课程主页」: https://15445.courses.cs.cmu.edu/fall2020/
「b站视频」:https://search.bilibili.com/all?keyword=15-445&from_source=webtop_search&spm_id_from=333.851
「youtube」: https://www.youtube.com/watch?v=oeYBdghaIjc&list=PLSE8ODhjZXjbohkNBWQs_otTrBTrjyohi
「知乎讨论组与简介」:https://zhuanlan.zhihu.com/p/366484273
「课程代码仓库」: https://github.com/cmu-db/bustub
「gradescope(交作业)」: https://www.gradescope.com/courses/163907/
1 | 关于project0
官网上是这么说的——
All the programming projects this semester will be written on the BusTub database management system. This system is written in C++. To ensure that you have the necessary C++ background, we are requiring everyone to complete a simple programming assignment to assess your knowledge of basic C++ features. You will not be given a grade for this project, but you are required to complete the project with a perfect score before being allowed to proceed in the course. Any student that is unable to complete this assignment before the deadline will be asked to drop the course.
意思是就是测试一下你是否具备了完成该课程必要的c++基础, 借此机会也熟悉一下整个作业的完成和提交流程
首先为了按照作业上的介绍来完成, 需要:
- 在gradescope上注册一个账号并加入该课程, 用于提交作业
- 由于需要使用课程提供的脚本
sudo ./build_support/packages.sh
, 需要linux环境, 或者windows使用WSL, 具体见课程要求https://github.com/cmu-db/bustub/blob/master/README.md, 我这里使用的是开着虚拟机用win下vscode连接, 主要是因为linux下敲代码懒得装环境+搞配置了~, 我是如何配置的具体见vscode连接ssh或本地虚拟机
2 | 作业完成与提交流程
1 | 首先clone下git仓库
git clone https://github.com/cmu-db/bustub.git
2 | 用提供的shell脚本安装必要的环境
sudo ./build_support/packages.sh
3 | 按照project0中描述找到p0_starter.h
文件
You will only need to modify a single file:
p0_starter.h
You can find the file in the BusTub repository atsrc/include/primer/p0_starter.h
.
4 | 按照project0的提示和程序中的注释修改p0_starter.h
文件
5 | 配置环境
1 |
|
6 | 编译文件并做测试
1 |
|
7 | 必要的格式检查
1 |
|
8 | 完成三个测试与检查后按照格式压缩成project0-submission.zip
文件并提交到gradescope
9 | 查看结果..
第一次提交:
第二次提交:
nice!!!
3 | 总结下project0的知识点
- linux的基本操作指令
- c++的基本面向对象编程(虚函数, 继承, 构造函数, 析构函数)
unique_ptr
和std::move()
template <T>
模板
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!