首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
辅导ELEC362程序、辅导Electronics编程语言、讲解C++程序 讲解SPSS|辅导R语言程序
项目预算:
开发周期:
发布时间:
要求地区:
Department of Electrical Engineering and Electronics
ELEC362
Project
Linear regression application
Module ELEC362
Coursework name Project
Component weight 50%
Semester 1
HE Level 5
Lab location personal computers/laptops, university remote computer
Work Individual
*Estimated time to finish 40 hours (coding and testing)
Assessment method Individually
Submission format Online via VITAL
Submission deadline 11.59 pm on the 17th January, 2021
Late submission Standard university penalty applies
Resit opportunity None except for extenuating circumstance
Marking policy Marked and moderated independently
Anonymous marking No (the marker needs to link the code to the report)
Feedback via VITAL GradeMark® / Turnitin Feedback Studio
Expected release of marks date 15 business days from the deadline
Learning outcomes LO2: Using C++ to implement GUI-based software.
LO3: Using online documentation for self-learning.
*Note: This estimate may vary based on the need to debug your application. Make sure
you start working on the project as soon as possible.
Page 2 of 5
The project
Task 1: Design and implement a Qt-based GUI linear regression application. The application reads a
file of data points, given by two columns one for x coordinates and one for y coordinates, then
calculates the best linear fit of the form:
𝑦 = 𝑎𝑥 + 𝑏
Where “a” and “b” are parameters to be determined by the application. You are requested to work
on the GUI only. The regression part of the application will be done by GSL library. Binaries for linking
Qt to the library will be provided for both Windows and Mac OS on VITAL. The documentation of the
linear regression part of the library can be found in this link. You are not asked to study the theory
behind linear regression. All what you are expected to do is to know how to implement the function
from the library into your application, and how to display its return or output to the user.
The application will be used to do linear regression for one file at a time.
In addition to the core functionality mentioned above, the application:
- Should plot the data and the fitted curve on a single graph in the application.
- Should allow the user to choose the thickness and the colour of the plotted curve using 3
different means.
- Should give the user the option to do the fitting with and without a constant term.
- Should be validated, in the report, by using a test dataset as an input to the application
obtaining the fitted line, then comparing the fit to a linear fit by another programme such as
MATLAB or MS EXCEL (No linking to EXCEL or MATLAB is required in the application).
- Should be able to deal with potential run-time errors, which the developers should identify.
Task 2: Modify the application to have a bilinear fit mode, where the fit of the dataset should be
done using a piecewise function of the form:
𝑦 = {
𝑎1𝑥 + 𝑏1 𝑥 < 𝑥0
𝑎2𝑥 + 𝑏2 𝑥 > 𝑥0
The application should calculate (a1,b1,a2,b2) in additional to automatically identify the point x0
which gives the best possible fit. This part if meant to be as a challenge and as a result no hints will
be given on how to do this part. An example of a bilinear fit is shown in figure 1.
It is an expectation from everyone to consult Qt documentation to find any functions or classes that
might be useful for the implementation of this project. Finally, you should make the programme as
professional as possible. Imagine this project as a real-life project given to you.
Approach to be followed
The following steps will help you to have a good design and implementation of the application:
– Start by conducting a background overview of the available programs that for linear
regression and how they are used. This will give you a feeling of what a professional design is
Page 3 of 5
and a better understanding of the core functionality. Make sure the practical notes given in
the lectures ae taken into consideration in your design and implementation.
– Follow the incremental model by breaking the implementation of the application into smaller
parts, where every part is designed, implemented and tested before other parts are
implemented.
– Make sure your application is working perfectly before moving to task 2.
Note for Mac OS users: You can develop the application and write the report based on Mac version
of the app. The application will be tested and marked on a Windows machine. You are strongly
recommended to verify that your app works as it should on a windows machine before submission,
to avoid any potential cross-platform issue, if you have any problems, please let me know.
Figure 1: Example of a bilinear fit for data.
The deliverables
Every submission should consist of the project’s files + brief report (Do NOT submit GSL library’s files
as I will compile your project with local GSL files on my machine). The report must have the student’s
name and ID number. The report does not need an introduction or a conclusion, it must have a cover
page, and includes the following sections:
• How the programme works (explain the idea of the algorithm, include a block diagram).
• User instructions (how should the user use it)
• Testing and verification attempts.
• Overall notes (optional): in this section you can highlight any special features in your design
or implementation of the application. Or you can mention any major issue you faced how
you overcome it. If you left this section empty you will not lose any marks.
• Appendix: headers+ source files (must be in machine readable format).
X0
a2 , b2
here
a1 , b1
here
Page 4 of 5
Industrial Relevance
Designing a GUI for a C++ library is a routine task for software developers at MATLAB (where some
linear algebra packages are embedded), National Instruments (MultiSim where libraries for solving
ordinary differential equations are embedded), ANSYS (where all their products such as Fluent and
CFX include libraries related to meshing and nonlinear solvers), CST studio suite, and the list goes on..
Many software development projects are entirely based on building GUI to famous libraries,
examples include Elmer FEM software, Gmsh, and ParaView.
Mapping the project to modules’ material:
Aspect Where it is covered
Creating child windows or child dialogs. Lecture 16, Lecture 18
Linking external library in Qt Lecture 13, instruction videos, the
tutorial
Saving object in vectors in Qt Week 8 lab, the tutorial
Loading and saving files Lecture 18, week 9 lab
Error handling week 9 lab, the tutorial
Implementing mouse functionality Lecture 16, the tutorial
Handling drawings Lecture 17, the tutorial
Implementing a functionality using different methods Lecture 16, week 8 lab
Controlling the style, layout and GUI design Lecture 15, the tutorial
Implementing buttons and other input widgets functionality Lectures 14-15, week 7 lab
Online documentation https://doc.qt.io
Page 5 of 5
*Marking Criteria
Criteria
(weight %) What does it mean?
Indicative characteristics
Adequate / pass
(40%)
Very good / Excellent
Algorithm and
design of the
programme
(task 1) (20%)
Does the application
do what it is designed
to do? Does the
application handle
memory efficiently?
• The programme does
what it designed to do
with clear
shortcoming.
• The use of memory is
completely inefficient
but is working.
• The programme does what it
designed to do without any
flaws an in an efficient way
• The memory management is
very efficient.
Code and GUI
implementation
(task 1) (20%)
Is the code well
organised? Are the
variables named
properly? Is the code
well commented?
Does it use the most
suitable datatypes for
the variables? Is the
GUI user friendly?
• The code shows the
steps but is difficult to
understand what it
does.
• Poorly commented
code.
• The naming of the
variables is arbitrary
and does not give any
idea on what the
variables are used for.
• The GUI is difficult to
handle and is
unorganised.
• Layout of the GUI is
not set.
• The code is written in very
organised way that is easy to
follow.
• The code is very well
documented.
• The variable naming is
appropriate and follows
professional naming rules.
• The GUI is very easy to work
with.
• The data structure used are
the most appropriate for the
purpose they are used for.
Verification and
Error-Handling
(task 1) (20%)
Has the application
been validated and
verified? What does
the programme do if
there is a run-time
error?
• The application was
tested for one case
only.
• The application
contains minimal
error handling.
• The application has been
thoroughly tested.
• Error handling has been done
professionally for a number
of potential run-time errors
and user input errors as well.
Task 2 (15%) Does the application
provide bilinear fitting
mode? Does it
determine X0
automatically?
• The bilinear mode
works with many
shortcomings.
• The bilinear mode works
automatically in a fully
functional manner without
any flaws.
Report
(25%)
Is the report clear and
descriptive? Does it
have all sections? Are
the user instructions
given clear?
• The report is
understandable but
contains many errors.
• The length of some
sections is
inappropriate – either
too short or too long.
• The source codes are
given in the appendix
but they are not
machine readable.
• The report is well written,
and all the relevant
information it should contain
are clearly stated.
• The report is concise.
*If you have a feedback query after the marks are released make sure you contact me
within 2 weeks, after that the marks are finalised and sent to the SSO.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!