CMU 15-445 | Database Systems 2024 fall
是的,这是卡内基梅隆大学关于数据库管理系统设计与实现的顶级课程。主题包括数据模型(关系型、文档型、键值型)、存储模型(n元组、分解)、查询语言(SQL、存储过程)、存储架构(堆、日志结构)、索引+过滤器(保序树、哈希表、向量索引)、事务处理(ACID特性、并发控制)、恢复(日志记录、检查点)、查询处理(连接、排序、聚合、优化)以及并行架构(多核、分布式)。通过对开源和商业数据库系统的案例研究来阐述这些技术和权衡。这门课程适合那些准备好锻炼系统编程技能的学生。
- 上课时间: 周一/周三 2:00pm-3:20pm ET
- 上课地点: Tepper 1403
- 先修课程: CMU 15-213/513
- 教材: DB System Concepts (第7版)
本课程满足卡内基梅隆大学计算机科学学士课程的软件系统选修课要求。
教育目标
这是一门关于数据库管理系统内部原理的高级课程。这门课程非常注重编程项目。 每节课都有指定的阅读材料、家庭作业和两次考试。 成功完成本课程后,学生应能够:
- 使用关系代数来表达数据库查询。
- 使用 SQL 与数据库管理系统交互。
- 使用函数依赖和范式设计合适的数据库表。
- 实现一个面向磁盘的数据库存储管理器,包括表堆和索引。
- 理解、比较和实现基本的并发控制算法。
- 实现数据库恢复算法并验证其正确性。
- 识别数据库系统技术之间的权衡,并对比在线事务处理和在线分析工作负载的分布式/并行替代方案。
- 解释并批判性地评估数据库系统架构。
所有编程项目都将在 BusTub 数据库管理系统中完成。
评分方案
课程的最终成绩将大致基于以下权重:
家庭作业
学生将在课程期间完成多个家庭作业。 这些家庭作业旨在加强讲座和阅读材料。 家庭作业的截止日期是本网站上发布的日期。
每个家庭作业的总分为 100 分,在计算最终成绩的家庭作业部分时,所有作业的权重相等。
编程项目
学生将在课程期间完成编程项目。 每个作业都是累积的。 也就是说,您需要成功完成每个作业才能完成下一个作业。 我们不会发布编程项目的解决方案或评分测试。
每个项目的总分为 100 分,在计算最终成绩的项目部分时,所有项目的权重相等。
我们不会在本学期教授学生如何编写/调试 C++17 程序。 这是本课程的先决条件。 所有学生都必须在 2024 年 9 月 4 日之前完成入门项目,否则将被要求退课。
考试
课程期间将进行两次考试。 这些考试将涵盖强制阅读材料和课堂上讨论的主题。 第一次是“课堂”期中考试。 第二次是学期末大学期末考试期间的期末考试。
合作政策
我们希望您在家庭作业、项目和考试中的工作都是您自己的。 您不得复制其他学生编写的任何部分解决方案,也不得与其他学生一起开发您的项目或家庭作业解决方案,或者从任何未经授权的来源(例如互联网)复制解决方案。 未经课程工作人员许可,您不得查看其他学生的解决方案,即使您已完成自己的解决方案,也不得故意将您的解决方案提供给其他学生或将您的解决方案留在其他学生可以看到的地方。
以下是一些不当行为的例子:
- 从另一个人或来源复制(或重新输入)家庭作业、项目或考试解决方案,无论是草稿还是最终形式,即使权限设置不正确允许这样做。 即使您对原始来源进行了修改,这种行为显然仍然是不合适的。
- 搜索或查看当前或过去学生的家庭作业、项目或考试解决方案。
- 允许其他人查看或复制您的代码、书面作业、测验或考试,无论是草稿还是最终形式。
- 获得您不完全理解的帮助,或者从您未在您的解决方案中承认的人那里获得帮助。
- 一步一步地指导他人,而他们不理解您的帮助。
- 编写、使用或提交试图更改或擦除评分信息或以其他方式危及课程资源安全的程序。
- 对课程工作人员撒谎。
- 以其他学生(当前或未来)可以访问您的解决方案的方式公开您的作品,即使他人的访问是偶然的或与您的目标无关。
如果您的作品包含任何非您撰写的陈述或代码,您必须清楚地标识派生作品并注明来源。 如果您正在改写您在其他地方阅读的想法,您必须注明来源。 在没有正确引用的情况下使用现有材料是抄袭,一种作弊形式。 如果对材料是否允许有任何疑问,您必须事先获得许可。
澄清作业、讲座、讲义中模糊的要点,或在使用计算机系统、编译器或其他设施方面给予或接受帮助,不被认为是作弊。 您可以与其他学生讨论高级概念(包括算法的高级讨论),但您不得从这些对话中做笔记或在其他人图表或笔记可见的情况下开发您自己的解决方案。 任何违反此政策的行为均为作弊行为。 作弊(包括抄袭)的最低处罚将是整个作业的零分;典型的处罚将是作业的-100%。 在讨论学术诚信问题时(即对课程工作人员撒谎)的不诚实通常会导致课程成绩为“R”。 所有违反此合作政策的行为都将提交给相应的大学纪律委员会,并可能采取额外的纪律处分。 有关更多信息,请参阅大学学术诚信政策。
如果您认为您违反了此合作政策,您可以追溯撤回您的家庭作业、项目或考试解决方案。 如果您在我们以其他方式了解您的行为之前撤回您的解决方案,您将在撤回的作品中获得零分,但我们不会将您的行为视为违反学术诚信的行为。
违反合作政策没有时效性; 即使您已完成课程,也可能会评估处罚(并提交给大学纪律委员会),并且合作政策的一些要求(例如限制您发布解决方案)会超出您完成课程的范围。
如果您对本政策在特定情况下如何适用有任何疑问,请向讲师或助教寻求澄清。