Projects

  • These projects require you to add new code to implement some functionality in BadgerDB, an RDBMS skeleton that is also provided to you.

  • You can work on these projects in a team of 2 or individually (team of 1). Submit this Google Form on your team preferences before 11:59pm PT Mon, Apr 10.

  • You are encouraged to find your own team mate. You can also use Piazza for this.

  • It is okay to discuss about the projects with your peers at a conceptual level. It is also okay to post questions and useful references/pointers on Piazza/Canvas. But do NOT share any code in any form across teams or individuals. Do NOT post you code publicly online on Piazza or wherever else. Also, do NOT look at solution code from elsewhere, whether it is from another team or individual or online. Such forms of unauthorized collusion or cheating are violations of academic integrity. All code a team submits must be entirely that team's own work.

  • It is okay to use GitHub CoPilot, ChatGPT, or similar AI models while coding to assist you. But do NOT post your solution code in large fragments to ChatGPT or similar prompting-driven AI tools online. As part of your submission, include a statement about if/how such AI tools helped you.

  • We will use advanced program analysis tools, as well as manual inspection, to compare your code submissions. If plagiarism is detected in your code, or if any other form of academic integrity violation is identified, you will get zero for that component of your score and get downgraded substantially. I will also notify the University authorities for appropriate disciplinary action to be taken, up to and including expulsion from the University.

  • The TA might also follow up with any team and schedule an in-person interview in which the students must walk through their submitted code and answer potential counterfactual-style questions. The teams to interview will be selected at the TA's discretion based on their assessment of the submitted code

  • The project statements, codebase, and TA talk slides and videos will all be posted on Canvas.

  • Project 1: Buffer Manager.

    • Release date: Thu, Apr 13

    • Talk and discussion by TA: Fri, Apr 14

    • Submission deadline: Tue, Apr 25, 11:59pm PT

  • Project 2: B+ Tree Index.

    • Release date: Thu, Apr 27

    • Talk and discussion by TA: Fri, Apr 28

    • Submission deadline: Thu, May 25, 11:59pm PT