首页
编程语言
数据库
网络开发
Algorithm算法
移动开发
系统相关
金融统计
人工智能
其他
首页
>
> 详细
讲解CSC1002 、辅导SQL server 数据库、辅导UML、代画UML设计图 解析SPSS|解析Haskell程序
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
Data Visualization – Part I
(Interactive Query)
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:
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
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:
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
SPECIAL SKILLS
? Data Visualization: using “Bokeh” to construct the web-based GUI to interface with the end
users for online query
? Relationship Database: constructing simple SQL statements to extract the relevant information
from a database.
? Using data visualization tool to turn raw data into interactive 2-D graphics such as lines, scatter
plots, bar graphs, stacked bars and so on.
? Using pymssql to interface the SQL server
? Using widgets to capture user responses: text input, radio buttons, button groups, tables,
dropdown list and so on.
SCOPE – GENERAL
NOTE:
? Keep your entire source code in ONE SINGLE file.
? Use only standard python modules
? Use pymssql to connect SQL server
? Use bokeh to design the GUI
? In your design stick ONLY to functions, in other words, no class objects of your own.
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
SCOPE – TAB PANEL
1. Using bokeh tool to construct a multi-tab panel for the home page:
a. First panel as “Course Info”
b. 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.
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
SCOPE – COURSE INFO
4. Using bokeh widgets & layout to construct the web-based interactive query screen.
a. refer to the given template file (ui.py) for information.
5. 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.
6. 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.
a. 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.
b. Ex: “begin with…” with input “bio”, courses such as “biology”, “bioinformatics” are
shown.
7. The “and”-“or” radio button-group indicates whether or not to search on title and department
as a group (“and”) or separately (“or”).
8. 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”.
a. sp_help “lgu.course” to view its structure (refer to session “Database – Info”)
9. It is required that the program execute “efficient” SQL statement to fetch only the data needed.
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; it’s therefore best practice to use SQL query effectively to fetch
only the information needed. You should also take advantages of SQL group-by function to
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
reduce as much as data possible to minimize the network traffic between the server and your
program.
Examples:
? “begins with…” with “bio” as Title
? “…contains…” with “bio” as Title
? “…ends with” with “bio” as Title
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
? “…contains…” with “bio” as Title and “finance” as Department, with “and” option
? “…contains…” with “bio” as Title and “finance” as Department, with “or” option
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
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:
? sp_help “lgu.course”
? SQL connection:
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
SCOPE – STATISTICS
1. Using bokeh widgets & layout to construct the web-based interactive query screen.
a. 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
a. 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.
a. Students are from class of 2015, 2016 & 2017 (year)
b. As illustrated, GPA counts are stacked in chronological order, each with a unique color
c. 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:
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
STARTUP OPTIONS
“bokeh serve --show
”
SKILLS - PYTHON
In this assignment, you will be trained on the use of the followings:
Standard Python Object:
? Standard objects (strings, numbers & lists)
? Control statements to interact with users
? Variable Scope
? String formatting (method style)
? Functions for program structure and decomposition
DELIVERABLES
1. Design documentation (A2_School_StudentID_Design.doc/pdf)
2. Program source code (A2_School_StudentID_Source.py)
where School is SSE, SME, HSS, or FE and StudentID is your 9-digit student ID.
Zip all files above in a single file (A1_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
5% will be deducted if any files are incorrectly named!!!
For the design document kindly refer to section “Design Documentation” for details.
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
DESIGN DOCUMENTATION
For the design document provide write-up for the following sections:
1. Program structure and flow
a. Describe the main process in turns of the overall program flow, that is, your solution to
the problem presented by this assignment.
2. Python objects (global variables)
a. Usage of core python objects (purposes)
3. Functions
a. Describe usage of all your newly defined functions, including details of parameter(s)
4. Output
a. Show samples of output from your program
TIPS & HINTS
? For executing and debugging “bokeh”, refer to the uploaded file “launch.json” and “tasks.json”.
? For general information on “Bokeh”, refer to the following link:
https://bokeh.pydata.org/en/latest/docs/user_guide.html
? For adding widgets (text input, list box, button groups, tables ..etc), refer to the following link:
https://bokeh.pydata.org/en/latest/docs/user_guide/interaction/widgets.html
? For reference guide, refer to the following link:
https://bokeh.pydata.org/en/latest/docs/reference.html
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
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.
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
SAMPLE OUTPUT
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
CSC1002 – Computational Laboratory
CSC1002 – 2019 Term 2 By Kinley Lam
MARKING CRITERIA
? Coding Styles – layout, comments, white spaces, naming convention, variables, indentation.
? Documentation – Design + Test Plan
? Program Correctness – logic, program structure, functions with appropriate parameters
? User Interaction – how informative and accurate information is exchanged between game
player and host.
? Readability counts – programs that are well structured and easy-to-follow using functions to
breakdown complex problems into smaller cleaner generalized functions are preferred over a
function embracing a complex logic with nested conditions and sub-functions! In other words, a
design with clean architecture with high readability is the predilection for the course objectives
over efficiency.
? KISS approach – Keep It Simple and Straightforward.
? Balance approach – you are not required to come up a very optimized solution. However, take a
balance between readability and efficiency with good use of program constructs.
CHALLENGES
Completed by due date
DUE DATE
April 7th, 2019
联系我们
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-21:00
微信:codinghelp
热点文章
更多
program讲解 、辅导 c++,java...
2024-05-15
program讲解 、辅导 c/c++,ja...
2024-05-15
辅导 cpt206、java程序设计讲解...
2024-05-15
讲解 infs 2042、java程序设计...
2024-05-15
辅导 csci-ga、讲解 java编程语...
2024-05-15
program辅导 、讲解 matlab语言...
2024-05-15
讲解 econ20120 homework 1讲解...
2024-05-15
辅导 bpln0025: business case...
2024-05-15
讲解 600543 current issues i...
2024-05-15
辅导 lh physical iiib / 03 3...
2024-05-15
讲解 ecs776p image processin...
2024-05-15
讲解 bit233: network design ...
2024-05-15
辅导 eecs 111: system softwa...
2024-05-15
辅导 ematm0067 text analytic...
2024-05-15
讲解 projectile motion assig...
2024-05-15
辅导 finance 251: financial ...
2024-05-15
讲解 acc202 literature revie...
2024-05-15
讲解 econ20120 homework 2讲解...
2024-05-15
讲解 instruction for ca3 gro...
2024-05-15
讲解 comp814 text mining讲解...
2024-05-15
热点标签
math5007
2702ict
bff3121–
comu7000
stat6118
comp814
acc202
ematm0067
bit233
ecs776p
600543
fina864
csys5020
busi4412
bpln0025
econ0051
ecmt2150
econ20120
comp3400
inf6028
bman30702
math0002
msci242l
cpt210
econ2101
mgt11001
com00177m
bman71282
fit2001
econ7030
159.342 ‐ operating
mang6134
math1005/math6005
geog5404m
comp1710/6780
infs 2042
159.341
econ7310
comp3221
comp10002
cpt206
ecmt1010
fit3094
finm081
econ2005
cpt202
socs0030
data7201
data2x01
mn-3507
mat246h1
ib2d90
ib3j80
acc207
comp90007
compx518-24a
fit1050
info1111
acct2201
buad801
compsci369
cse 332s
info1110
math1033
scie1000
eeee2057
math4063
cmt219
econ5074
eng5009
ec333
econ0001
csse2310/csse7231
cpt204
elec4630
dts104tc
ma117
comp2017
640481
csit128
eco000109m
finc5090
ggr202h5f
nbs8295
4ssmn902
chc6171
dsa1002
ebu6304
csci-ua.202
ma416
mec206
comp1021
com6511
iom209
bism7202
idepg001
comp1212
ecom209
cpt106
math1062
mn-3526
5aaob204
citx1401
econ0028
bsan3204
comp9123
fnce3000
fmhu5002
psyc10003
fina2222
be631-6-sp/1
finc2011
37989
cmt218
itp122
qbus6820
ecmt1020
bus0117
soft3202/comp9202
basc0057
mecm30013
aem4060
acb1120
comp2123
econ2151
ecmt6006
inmr77
com 5140
ocmp5328
comp1039
had7002h
cmt309
asb-3715
elec373
cpt204-2324
be631-6-sp
econ3016
mast10007
comp30023
buss6002
comp4403
finm1416
csc-30002
6qqmn971
fin668
mnfg309
inft2031
cits1402
comp2011
eecs 3221
ebu4201
ct60a9600
com336
8pro102
comp8410
comp3425
econ7300
comp222
finm8007
comp2006
comp26020
comp1721
eeen3007j
cis432
csci251
comp5125m
com398sust
finm7405
econ7021
fin600
infs4205/7205
mktg2510-
32022
mth6158
comp328
finn41615
2024
mec302
mgmt3004
mgt7158
com160
as.640.440
rv32i
eecs 113
comp1117b
cs 412
f27sb
comp 315
ecs 116
fit5046
comp30024
acs341
econ1020
isys3014
acc408
comp1047
csc 256
cs 6347
comp5349
ecx2953/ecx5953
联系我们
- QQ: 99515681 微信:codinghelp
© 2024
www.7daixie.com
站长地图
程序辅导网!