Skip to content

Commit

Permalink
add gradescope agreement and update readme (#597)
Browse files Browse the repository at this point in the history
* add gradescope agreement and update readme

Signed-off-by: Alex Chi <[email protected]>

* Update README.md

Co-authored-by: Xu <[email protected]>

---------

Signed-off-by: Alex Chi <[email protected]>
Co-authored-by: Xu <[email protected]>
  • Loading branch information
skyzh and xzhseh committed Aug 27, 2023
1 parent 599044a commit 735cab3
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 118 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#==============================================================================#
# This file specifies intentionally untracked files that git should ignore.
#==============================================================================#
/GRADESCOPE.md

#==============================================================================#
# File extensions to be ignored anywhere in the tree.
Expand Down
18 changes: 0 additions & 18 deletions Dockerfile

This file was deleted.

84 changes: 84 additions & 0 deletions GRADESCOPE.md.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# BusTub Non-CMU Gradescope

To create a fair learning environment for all students and avoid potential
Academic Integrity Violations within CMU, we ask you to AVOID making your
BusTub repository public on GitHub. If you are not a student from CMU, you will
need to sign this document before submitting to Gradescope.

Please sign this document by filling your information in the form and include
this file along with your submission. Firstly, run the following command to copy
this file:

```
cp GRADESCOPE.md.template GRADESCOPE.md
```

Then, please read the following agreement and fill in the signature below.

```plain
I hereby agree to the terms outlined in this agreement ("Agreement"). By
signing this Agreement, I acknowledge that I have read, understood, and will
comply with the following terms and conditions:

1. Respect for System Security: I understand and acknowledge that the Gradescope
system, which is used for the submission and grading of assignments, projects,
and examinations, is a secure platform. I agree to respect the security measures
implemented by Gradescope and will not engage in any activities that could
compromise the integrity, functionality, or security of the system.

TL;DR: DO NOT try to retrieve private test cases from the autograder. They are
not meant to be used by students in their local development environment.

2. Academic Integrity: I affirm that the work I submit for assessment,
including assignments, projects, and examinations, is my original work. I
understand that cheating, plagiarism, or any form of academic dishonesty is
strictly prohibited by the School/Organization's policies, and any violation
will result in appropriate disciplinary action, which may include academic
penalties and sanctions.

TL;DR: DO submit your own work.

3. Prohibition on Publishing: I agree not to publish, upload, or otherwise make
available any solutions, code, assignments, projects, or related materials
provided by the School/Organization that are designated as confidential or
proprietary to any public repositories on GitHub or any other online
platforms accessible to the public. This includes but is not limited to
personal repositories, organizational repositories, public gists, and forums.

TL;DR: DO NOT publish your project solution anywhere. You may publish blog
posts on your general approach and ideas about the project, but DO NOT
publish it before the CMU deadline for that project, and DO NOT publish code.

4. No Official Help: I understand and acknowledge that the School/Organization
does not offer official assistance or support for technical, academic, or
non-academic matters. This includes, but is not limited to, help with
assignments, projects, technical troubleshooting, academic advising, and
administrative inquiries.

TL;DR: This is an unofficial Gradescope for 15-445/645 course. DO NOT submit
issues to the BusTub repo regarding Gradescope issues. There is an
unofficial Discord server, but neither TAs or professors will actively
monitor it. See the course FAQ for the Discord link.

===BEGIN SIGNATURE===
Student's GitHub ID:
Student's Legal Name:
Student's Organization/School Name:
Student's Email:
Date:
=== END SIGNATURE ===
```

* Note: Your email should be the same as your Gradescope email. Please use the email
from your academic affiliation if possible.
* Note: If you do not have a GitHub account, please fill in N/A.
* Note: If you are not affiliated with any organization, you can fill in
the third line with N/A.

The `make submit-pX` command will automatically include this file (TBD) and the
grader will grade your submission. Thank you for your interest in the BusTub
project, and thank you for helping us create a fair learning environment.

[id]: bustub-non-cmu-gradescope-23333

<!-- Hopefully GitHub can index the above slug and we can easily find BusTub repos with GitHub search. -->
66 changes: 6 additions & 60 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ We suggest working on your projects in separate branches. If you do not understa

## Build

We recommend developing BusTub on Ubuntu 20.04, Ubuntu 22.04, or macOS (M1/M2/Intel). We do not support any other environments (i.e., do not open issues or come to office hours to debug them). We do not support WSL.
We recommend developing BusTub on Ubuntu 22.04, or macOS (M1/M2/Intel). We do not support any other environments (i.e., do not open issues or come to office hours to debug them). We do not support WSL. The grading environment runs
Ubuntu 22.04.

### Linux / Mac (Recommended)
### Linux (Recommended) / macOS (Development Only)

To ensure that you have the proper packages on your machine, run the following script to automatically install them:

Expand Down Expand Up @@ -102,66 +103,11 @@ This enables [AddressSanitizer](https://github.com/google/sanitizers) by default

If you want to use other sanitizers,


```
$ cmake -DCMAKE_BUILD_TYPE=Debug -DBUSTUB_SANITIZER=thread ..
$ make -j`nproc`
```

### Windows (Not Guaranteed to Work)

If you are using Windows 10, you can use the Windows Subsystem for Linux (WSL) to develop, build, and test Bustub. All you need is to [Install WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). You can just choose "Ubuntu" (no specific version) in Microsoft Store. Then, enter WSL and follow the above instructions.

If you are using CLion, it also [works with WSL](https://blog.jetbrains.com/clion/2018/01/clion-and-linux-toolchain-on-windows-are-now-friends).

### Vagrant (Not Guaranteed to Work)

First, make sure you have Vagrant and Virtualbox installed
```
$ sudo apt update
$ sudo apt install vagrant virtualbox
```

From the repository directory, run this command to create and start a Vagrant box:

```
$ vagrant up
```

This will start a Vagrant box running Ubuntu 20.02 in the background with all the packages needed. To access it, type

```
$ vagrant ssh
```

to open a shell within the box. You can find Bustub's code mounted at `/bustub` and run the commands mentioned above like normal.

### Docker (Not Guaranteed to Work)

First, make sure that you have docker installed:
```
$ sudo apt update
$ sudo apt install docker
```

From the repository directory, run these commands to create a Docker image and container:

```
$ docker build . -t bustub
$ docker create -t -i --name bustub -v $(pwd):/bustub bustub bash
```

This will create a Docker image and container. To run it, type:

```
$ docker start -a -i bustub
```

to open a shell within the box. You can find Bustub's code mounted at `/bustub` and run the commands mentioned above like normal.

## Testing

```
$ cd build
$ make check-tests
```
There are some differences between macOS and Linux (i.e., mutex behavior) that might cause test cases
to produce different results in different platforms. We recommend students to use a Linux VM for running
test cases and reproducing errors whenever possible.
40 changes: 0 additions & 40 deletions Vagrantfile

This file was deleted.

0 comments on commit 735cab3

Please sign in to comment.