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