Assignment title: Information
2. Assessment Brief
2.1 Retrieving live Data from London Stock Exchange
Stock research and analysis is much different than it was decades ago. Back then, investors and analysts had access to very limited amount of stock data mainly in print formats. Hoverer, these days, there is a seemingly unlimited amount of data available in digital format publicly.
There are countless software tools offering a wide variety of trade, research, and analysis functions using various sources as their inputs.
London Stock Exchange (LSE), the largest stock exchange in Europe, publishes various indices online through their website at http://www.londonstockexchange.com.
These indices contain numerical data that are the basis of almost all software tools developed for stock research and analysis.
In this coursework assignment, you are required to develop a software tool using the Python programming language (V 3+) to extract publicly available data form LSE website.
The followings are the list of tasks for this coursework assignment:
Task I: Retrieving and Displaying Data (30 Marks)
Write a program to:
1. Read data from "SUMMARY" table on FTSE 100 index web page (see Fig 1) then save them into your Python code (as a list or any other appropriate ways of choice).
Fig 1: The screen shot of FTSE 100 index web page indicating "SUMMARY" table.
4
2. Display the saved data on the Python console. The output of your program should look like Fig 2.
Fig 2: A sample output of Task I
Task II: Retrieving Data from LSE Indices Web page by User Interaction (25 Marks)
1. Extend your program to prompt user to enter the name of an index from the list of Indices available from LSE Indices web page ( e.g. FTSE4Good Global ), then display the names and values for the index entered by the user on the Python console in the same format as Fig 2.
2. If the user enters a name of an index which is not listed on LSE Indices, an error message should be shown and the user should be asked to enter the name of a valid index.
Task II: Documentation (40 Marks)
You are required to produce program documentation with no more than 1000 words (excluding references and appendices) for your program and should include the following sections and information:
1. Introduction (5 Marks)
An introduction explaining the problem definition and an overview of the solution detailed in the following sections.
2. Program Execution, Input and Output (5 Marks)
In this section, explain in detail the algorithm and implementation including:
what types of inputs will be supplied to the program? the outputs of the program
the functionality of the program.
3. Program Structure (10 Marks)
This is the "technical manual" of the program. An overall structure of the program should be given. Then, each part of the program (modules, functions, etc.) should be explained in sufficient detail such that the reader can understand. The data structures (data types, variables, etc.) should also be explained.
4. Difficulties Encountered (5 Marks)
Introduction to Programming– Assessment Brief -January 2017 5
Explain clearly the difficulties encountered during program development. The difficulties due to the programming language, due to the nature of the problem, etc. Also, the effects of these difficulties (forcing to use different ways, abandoning some planned features of the program, etc.) should be explained.
5. Improvements and Alternative Methods (15 Marks)
In this section, evaluate the parts of the program and propose one improvement and one alternative methods in terms of implementation (e.g. functions, Python modules, etc.).
6. Appendices
A thoroughly commented program source code must be included as an appendix. (0 Marks)
2.2 Assessment Submission Structure
The assessment will be submitted via Turnitin online access.
You are required to submit:
1. Source code (thoroughly commented) named with your SRN number e.g. [123456.py]
2. Documentation named with your SRN number e.g. [123456.docx] or [123456.pdf]
Introduction to Programming– Assessment Brief -January 2017 6
2.3 Assessment Marking Scheme (Student Version)
The assignment is marked out of 100. The following table shows the mark allocation and the approach required.
Assignment Approach Mark
Part
Task I: 1. Read data from "SUMMARY" table on FTSE 100 index web
Retrieving and page (see Fig 1) then save them into your Python code (as a list 30
Displaying Data or any other appropriate ways of choice).
2. Display the saved data on the Python console. The output of
your program should look like Fig 2.
Fail – The program doesn't run or there are syntax errors
Pass – The program runs and displays outputs
Excellent performance - The displayed output properly
formatted using Python's formatting tools.
Task II: 1. Extend your program to prompt user to enter the name of an
Retrieving Data index from the list of Indices available from LSE Indices web
from LSE
page (e.g. FTSE4Good Global ), then display the names and
Indices Web
values for the index entered by the user on the Python console
page by User in the same format as Fig 2. 25
Interaction
2. If the user enters a name of an index which is not listed on
LSE Indices, an error message should be shown and the user
should be asked to enter the name of a valid index.
Fail – The program doesn't run or there are syntax errors
Pass – The program runs and data is displayed on the Python
console
Excellent performance – The output is in tabular format and
the warning message should identify the reason for warring
message.
Task III: 1. Introduction (5 marks)
Documentation An introduction explaining the problem definition and an
overview of the solution detailed in the following sections.
2. Program Execution, Input and Output (5 marks)
In this section, explain in detail the algorithm and
implementation including: 40
what types of inputs will be supplied to the
program?
the outputs of the program
Introduction to Programming– Assessment Brief -January 2017 7
the functionality of the program.
In this section, explain in detail the algorithm and
implementation. This section also covers what types of inputs
will be supplied to the program, what are the outputs of the
program, what is the functionality of the program.
3. Program Structure (10 marks)
This is the "technical manual" of the program. An overall
structure of the program should be given. Then, each part of
the program (modules, functions, etc.) should be explained in
sufficient detail such that the reader can understand. The data
structures (data types, variables, etc.) should also be explained.
4. Difficulties Encountered (5 marks)
Explain clearly the difficulties encountered during program
development. The difficulties due to the programming
language, due to the nature of the problem, etc. Also, the
effects of these difficulties (forcing to use different ways,
abandoning some planned features of the program, etc.) should
be explained.
5. Improvements and Alternative Methods (15 marks)
In this section, evaluate the parts of the program and propose
one improvement (7 marks) and one alternative methods (8
marks) in terms of implementation (e.g. functions, Python
modules, etc.).
Fail – No documentation or incomplete sections
Pass – All the sections of the documentation are provided
Excellent performance – The documentation is supported with
code examples from developed program/Python
documentation or other referenced sources.
Structure and Up to 5 marks can be awarded for the entire task for overall 5
referencing structure and use of language.
Total 100
Introduction to Programming– Assessment Brief -January 2017 8
Appendix A - General Grading Criteria
PASS FAIL
Criterion 80-100% 70-79% 60-69% 50-59% 40-49% 30-39% 0-29%
Knowledge & (a) Deep knowledge of the (a) Thorough, explicit (a) Very good (a) Good, (a) Basic and often (a) Inadequate or (a) Very poor knowledge or
Understanding topic, explicitly related to knowledge & knowledge and increasingly explicit implicit knowledge of poor knowledge or understanding of topic issues.
a)Systematic comprehensive knowledge of understanding of the understanding of knowledge and central topic issues. understanding of
Understanding the discipline(s). topic. Clear central topic issues understanding of Partial understanding. topic issues.
understanding of and explicitly identified. central topic issues. (b )Significant gaps in the
(b) Excellent usage of recent explicit links to some Some appreciation of Some appreciation of understanding of the practices
aspects of a wider field. and explicit links to a a wider field. (b) Some evidence of the (b) Not a clear or related to the discipline
emerging thought and/or wider field. understanding and precise indicated
practices from a range of thoughts and practices understanding of the
appropriate disciplines
(b) Some application of (b) Some clear (b) Clear evidence of related to the discipline thoughts and
recent emerging thought evidence of the an indicated. practices related to
b) Emerging Thought or practices from the application of understanding of the required
discipline thoughts and practices thoughts and practices discipline indicated.
at the forefront of the at the forefront of the
discipline discipline
Argument (a) High level of ability to (a) Can present a coherent (a) Can present a (a) Can decisively (a) Some evidence of (a) Work is (a) Work wholly descriptive
analyse critically using a critical argument coherent significant analyse a limited range essential awareness but descriptive and and uncritical.
a) Analysis, range of perspectives. demonstrating the ability argument of information within much reliance on uncritical. Contains Contains many generalisations,
Synthesis & Excellent synthesis of to synthesise concepts, demonstrating the minimum guidance. description and some generalisations, unsubstantiated assertions and
Evaluation elements of the argument theories and practice in a ability to form a Can select analytical assumption. unsubstantiated exaggeration.
including contrary views. critical argument. defendable methods appropriate to May be some difficulty in assertion and
judgement. Some use the task balancing and exaggeration. (b) Numeric analysis is almost
(b) Numeric analysis that of contrasting
substantiating points. non-existent and also incorrect
(b) Numeric is complete and mostly perspectives. (b) Numeric analysis (b) Numeric analysis
analysis that is complete and free from errors with that is complete and (b) Numeric analysis that is that is incomplete or
free from errors with fluent and appropriate (b) Numeric analysis mostly free from contains errors
mostly complete but
b) Numerical Analysis application of methods that application of methods. that is complete and significant or critical which have critical
contains errors with
may be insightful or original mostly free from errors with appropriate effect, or methods
significant effect, or
errors with relevant application of methods that are applied
methods that are applied
and effective (c) Evidence of an inappropriately
inappropriately.
(c) Extremely strong and application of overall convincing
methods. argument but may have c) Totally lack of consistency or
consistent argument that (c) Evidence of a consistent (c) Lack of
convincingly addresses (c) Evidence of an weaknesses, gaps or argument but may have structure in the argument. Very
(c) Extremely strong and argument that is inconsistencies. Clear consistency or
Introduction to Programming – Assessment Brief -January 2017 9
consistent argument making a issues including generally convincing use of information weaknesses, significant structure in the serious weaknesses in the
convincing whole with uncertainties and with a good internal gathered but may have gaps or be unconvincing. argument. integration of evidence and no
evidence of originality. conflicts. Excellent use of consistency and some weaknesses in Clear use of information awareness of the limitations or
Impressive ability in the use information gathered addresses most issues. the integration into the gathered but may not be weaknesses of the research.
of information gathered to which to support and Very good use of argument. sufficient to sustain the
support the argument. further the argument. information gathered argument. d) Over reliance on d) Generally only a very
c) Argumentation to support the very restricted range
argument. (d) Appropriate use of of personal or restricted range of personal
(d) Evidence of an innovative (d) Substantial research a wide range of (d) Evidence of a consistent secondary research research which is not evaluated
or original use of extensive personal research argument but may have much of which may and is not directly related to the
personal and evidence of an (d) Clear evidence of which is critically weaknesses or be not be evaluated and question.
innovative use of a wide considerable personal evaluated for key unconvincing. Clear use of may not be directly
range of personal research and the use conceptual issues information gathered but related to the
research with clear and of a diverse range of although this may not may not be sufficient to question
consistent conceptual appropriate sources be consistent sustain.
evaluation. but may contain throughout.
problems with
consistency in the
d) Independent conceptual evaluation.
Research
(a) Excellent structure and (a) Excellent structure and (a) Good structure (a) Adequate structure (a) Adequate structure and (a) Poor structure (a) Extremely poor structure
presentation. presentation. and presentation. and presentation. presentation. and presentation. and presentation
(b) Precise, full and (b) Full and (b) Good references (b) Competent references (b) Poor references (b) Very limited or nil
Presentation (b) Precise, full and and notes but may contain
appropriate references and appropriate references and appropriate references and notes with minor inconsistencies, errors or and notes with referencing with numerous
a) Structure
notes. notes. and notes with minor or insignificant errors omissions. multiple errors and omissions
b) Referencing or insignificant errors or omissions. (c) Generally inconsistencies,
(c) Precise use of errors or omissions (c) Extreme errors in use of
(c) Subtle use of language understandable use of
language expressing (c) Clear and precise (c) Generally clear use language and an extreme lack
expressing a high degree of language but significant
complex thought with use of language of language sufficient (c) Serious errors in of clarity
c) Use of Language thought with clarity and errors in expression
clarity, accuracy and allowing a complex for arguments to be the use of language
precision to a level affecting overall clarity.
precision which furthers argument to be easily readily understood and which makes
appropriate for submission
and enhances the understood and followed. meaning unclear or
for publication.
argument followed. imprecise