程序代写代做 database graph CS1013 Programming Project 2020

CS1013 Programming Project 2020
1. Goal
The goal of the project is to construct an application to explore stock market data in processing. The data set we will use is a public dataset obtained from NYSE and NASDAQ. The application will read in data from a file “daily_prices.csv”, render it, and allow the user to interact with it. The data will take the following format (comma separated values):
ticker, open_price, close_price, adjusted_close, low, high, volume, date
For example:
AAPL,218.100006103516,215.460006713867,215.460006713867,215.110000610352,219.1799 92675781,30287700,2018-08-20
Each entry appears on a new line. Varying size datasets will be available from links on blackboard, and the ability to deal with these will depend on the efficiency of your program. The ticker (an alphabetic code) will be mapped to the business name and details in a separate file (stocks.csv). This additional file contains (ticker, exchange, name, sector, and industry), one line for each ticker symbol. You may add additional fields from other data sources if you wish. A local version of the full 2GB dataset will be made available on an SCSS server. You may also pull in other data (e.g. real time stock API’s or stock market news items).
ticker – alphabetic code uniquely identifying the stock, e.g. IBM, AAPL, GOOG, MSFT.
open_price – a floating point number – the opening price for that day
close_price – a floating point number – the closing price for that day
adjusted_close – a floating point number – adjusted closing price which takes into account company actions such as share splits and dividends.
low – a floating point number – the lowest price for that day. high – a floating point number – the highest price for that day. volume – an integer – the number of shares traded that day. date – the date in YYY-MM-DD format.
Fields are not expected to be empty, but it is best to program defensively.
2. Structure
The program will contain the following components:
– code to read in the data from a file and place it in classes.
o ProcessingprovidesbothloadBytesandloadStringscommands
o Asimple(althoughnotparticularlyefficient)solutionwouldbetodefineaDataPointclasswhich
represents a single day for a given stock. There would be one instance of the class for each entry in the
input file.
o Youmaywishtostorethedatainaformatwhichismoreefficienttoaccess.
– code to select a subset of this data.
o Notallthedatawillbeshownonthescreenatonetime,andsoasetofqueriesmustbedefinedinyour
code. At a minimum, the following queries should be implemented:
§ Price of a particular stock over time.
§ The stocks with the biggest percentage changes over some time period. § Browsing all the stocks on a particular exchange.
– code to draw the data to the screen.
o Theresultsofeachquerywillneedtodrawnonthescreen.
o Youareencouragedtousegraphicalrepresentationswhereappropriate(eg.thedatacouldbeona
barchart, or more complex visualisations).
– code to handle user commands.
o Selectingwhatdataistobedisplayed(thequery),thetickerorcompanyname,daterange,sector,etc.
– code to put everything together
o Youareadvisedtohaveanoutlineofthisasearlyaspossible(firstweekofproject).

3. Assessment
The project marks will be allocated according to both your individual effort and the effort you put into the group. This is a group project, and part of the project is to manage the group effort. Each individual will receive a mark based on their own contribution to both the individual and group components. If you make no contribution to individual or group tasks, you will receive no marks.
You will be required to submit and demonstrate the current status of your project every week until the end of the semester. Half of the project marks will be allocated for the weekly submissions. DO NOT MISS THE LABS.
Hence it is not possible to leave the project until the end of the semester.
Code is to be submitted via the subversion revision control system. All code must be commented, and the authors indicated. You must use comments to indicate revisions to the code (eg. ” M. Jones, Added Graph class for displaying results, 8pm, 10/3/2020”. “J. Smith, Updated to show the dates on the chart, 7pm 14/3/2020″, “L. White, Fixed bug which stopped user from going back to homepage, 9pm, 15/3/2020”. etc.). It is in your own best interest to get credit for the code you have written!
Attendance at the labs is mandatory and you will be expected to work in pairs at the labs. The project will take more time than is available at the labs. Remember that CS1013 is marked only on coursework. You will need to schedule time in your groups outside of lab time to work on your assignment / divide up workload.
The assessment will focus on the demonstration of working code; a check on code authorship; a check on quality of code and documentation, progress towards the overall goal of the project, and the features implemented. Your code is to be accompanied by a short report of maximum 5 pages outlining your design and any ways in which your solution goes beyond the original project brief.
You will present your project at the lecture in the last week of term. The best team, as judged by the panel, will win a prize for Best JF Programming Project. If you wish to be considered for best project you must record a version of your demo as a 5-minute video and upload the video to subversion.
4. Assessment Schedule
The following is the schedule for the project, including milestones to demonstrate:
Week 6
Project Handout
Plan project. Start thinking about it. Outline main program.
Week 8
File reading and code outline
Demonstrate reading of data from file and give outline of main program, including major classes, sketch of screens.
Week 9
Initial rendering of data
Graph and textual output of data.
Week 10
Data selection and rendering
Apply user queries to data set and present results on screen.
Week 11
User Interaction
Select different options and change screens
Week 12
(9th April) Demo of project (10th April) Final Submission
Full demo to panel and submission of report – 5 pages MAXIMUM.
The project demo will be from 16:00 to 19:00 on 9th of April. Report due on Friday 10th.
5. Other queries.
– You may use multiple tables.
– You may not use an alternative development environment (IDE) without permission. Such permission will only
be granted if all team members indicate they are happy to do so, and I am convinced that all team members are
fully engaged with the project.
– You must use Subversion rather than any other revision control system. It is used to track individual
contributions.
– If you are using SQL, you must implement a version which uses a local database (with a smaller dataset) so that
your program can be checked independently. Your program must work when downloaded from SVN to a lab machine.