diff --git a/README.md b/README.md index 7e2a6a4d15df3a39d532d6030766340fd12b7468..fda31316ddcfb2b92af9a095bb6a1b64c44ff76b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,41 @@ # spr2021-a1 -starter code for A1 for CMSC828D Spring 2021. \ No newline at end of file +starter code for A1 for CMSC828D Spring 2021. + +Overview of the interface behavior: +* The starter code should produce a histogram visualization (a bar chart with numeric x-axis). +* The attribute being visualized can be controlled by clicking on a given button representing the attribute name (example: `Release\_Date`). +* The histogram can be filtered along the x-axis using a given range slider, to control what range of data values are counted +* The number of bins rendered in the histogram can be controlled using a given total bins slider. + +A1 Goals: +* The goal of A1 is to translate the histogram binning and aggregation from the browser to the server. +* Students need to install PostgreSQL and get it running on their computer. +* The majority of the computation in `index.html` needs to happen in the DBMS PostgreSQL + * see the `index.html` file and `server.py` file for more instructions. + +Notes: +* Students may have to make some modest edits to the button, slider, and histogram visualization code to accept pre-computed data from the server. +* Assignments that do what is asked will get an A- (but given this is more of a training assignment, and a brand new assignment, we may be more lenient on the grading). +* Given that this assignment is largely a training exercise, it's okay to have code that is a bit messy. However, code quality will be considered when determining if a submission has gone "above and beyond" for grading purposes (i.e., to go from A- to A level). + +Grading points (what we will be prioritizing in our grading): +* Can we run the code on our computers with no additional work (except setting up the given username and database for postgresql)? +* Was all computation translated to `server.py`? +* Was all aggregation translated to PostgreSQL queries? (it is ok to calculate bin ranges outside of PostgreSQL, if necessary) +* Was `index.html` updated appropriately to take pre-computed results from the server, instead of the raw data? + * i.e., was the hardcoded fetch request for `movies.csv` replaced with new fetch calls for query results? +* How neat/organized is the submitted code? + +Extras (going into A+ territory, only consider doing these if the points above have been addressed): +* Was there any additional improvement made to the interface? (examples: axis titles, filter slider not reset when bin slider is updated, proper datetime parsing/handling, etc.) + +Submission instructions: +* make sure your submission is SELF CONTAINED in a single folder + * to test, make a copy of your submission in a completely different location on your computer + * try running the copy (if it breaks, you know you were relying on hardcoded files/file paths/parameters somewhere in your submission) +* make a separate file called `cmsc828d\_submission.md` + * include your name and email in `cmsc828d\_submission.md` + * Include any notes/rationale/general comments regarding your A1 submission in `cmsc828d\_submission.md` +* make a zipped version of your submission folder +* submit the zip file to ELMS on the A1 page