Assignment Chef icon Assignment Chef

[Solved] Data Visualization Part I (Interactive Query) Solution

5.0 1 customer review Digital download

Digital download

$25.00

Availability
In stock
Checkout
One item

Need a hand?

Message us on WhatsApp for payment or download support.

WhatsApp QR code

OVERVIEW

In this assignment, you are asked to design and develop a Data Visualization application to provide school administrators and students with a web-enabled interface to perform online query on school information, such information as course description, student GPA, course location, instructor name and so on; based on the responses from the users, the application then generates a SQL statement to fetch the data needed; based on the data returned from SQL server, the screen will be refreshed with the requested information shown in a tabular format or as graphical plot. The application will be composed of 3 primary components: Graphical User Interface (GUI), SQL Interface and Graphical Tool depicted as follows: The GUI component will be composed of 2 web pages, one for online course query and the other for statistical information on student GPA distribution. The format of the query page is shown as follows: Whereas the format of the statistics page is shown as follows: SPECIAL SKILLS

COPE TAB PANEL

  1. Using bokeh tool to construct a multi-tab panel for the home page:
    1. First panel as Course Info
    2. Second panel as Statistics
  2. The panel Course Info holds the online course query page, refer to corresponding section for more details.
  3. The panel Statistics holds the statistics page, refer to corresponding section for more details.

COPE COURSE INFO

  1. Using bokeh widgets & layout to construct the web-based interactive query screen.
    1. refer to the given template file (ui.py) for information.
  2. The A-Z button group, when clicked, will display all courses with title beginning with the letter of the clicked button, the result will be displayed in the data table shown on the bottom of the screen.
  3. Two sets of begin with .-contains-ends with button-groups, one for the course title and the other for department name. They behave as radio buttons. They are used together with the two corresponding text inputs, namely Title and Department respectively.
    1. These 3 buttons indicate whether or not the given string will be used as prefix, infix or suffix match respectively. If begins with is selected, courses will be matched with title beginning with the given text; if contains is selected, title containing the given text will be matched.
    2. Ex: begin with with input bio, courses such as biology, bioinformatics are shown.
  4. The and-or radio button-group indicates whether or not to search on title and department as a group (and) or separately (or).
  5. When the button Refresh is clicked, the actual search will take place and the result will be displayed in the data table. The search is based on a database table called lgu.course.
    1. sp_help lgu.course to view its structure (refer to session Database Info)
  6. It is required that the program execute another SQL statement to fetch the whatever the data requested. It is NOT supposed to cache the entire course table in memory and avoid further database request. Though the size of the course table for this exercise is small in size, however, in reality, it can be potentially large in size; its therefore best practice to use SQL query to fetch only the data needed.
Examples:

DATABASE INFO

Using Visual Studio Code, create a file of type sql, make a database connection to csc1002 and perform a query execution with the following statement:

SCOPE STATISTICS

  1. Using bokeh widgets & layout to construct the web-based interactive query screen.
    1. refer to the lab materials for more information
  2. On the right side of the page is a stacked bar chart, showing the GPA distribution by department, further categorized by class year.
  3. On the left side of the page is a selection list displaying the list of all departments
    1. It is used to select the department for which the chart is created
  4. When a new department is selected, the chart will be updated to refresh the corresponding information.
  5. The stacked bar chart shows student GPA distribution based on the selected department.
    1. Students are from class of 2015, 2016 & 2017 (year)
    2. As illustrated, GPA counts are stacked in chronological order, each with a unique color
    3. Legend (upper right) is shown to display the color of the classes
  6. The database table to use is lgu.student and the structure is shown as follows:
STARTUP OPTIONS bokeh serve show <a2.py>

SKILLS PYTHON

In this assignment, you will be trained on the use of the followings: Standard Python Object:

DELIVERABLES

  1. Design documentation (A2_School_StudentID_Design.doc/pdf)
  2. Program source code (A2_School_StudentID_Source.py)
  3. Output (A2_School_StudentID_Output.doc/pdf)
Zip all files above in a single file (A2_School_StudentID.zip) and submit the zip file by due date to the corresponding assignment folder under Assignment (submission) For instances, a SME student with student ID 119010001: A2_SME_119010001.zip: o A2_SME_119010001_Design.doc/pdf o A2_SME_119010001_Source.py o A2_SME_119010001_Output.doc/pdf 5% will be deducted if any files are incorrectly named!!!

DESIGN DOCUMENTATION

For the design document provide write-up for the following information:
  1. Design:
    1. Describe the general structure of the program (functions, variables and program flow).
  2. Test Plan:
    1. Refer to assignment 1 for information.

TIPS & HINTS

DEBUGGING

VSC TASKS

Note: replace IP (20.20.12.68) with your own local IP. 5006 is the http port, do not need to change it.

SAMPLE OUTPUT

MARKING CRITERIA

CHALLENGES Completed by due date