## [answered] Assignment In HW #4, we did some basic Divvy data analysis

use visual studio for ?C# or F# (or both) to perform some additional analyses and operations. Attach with instruction and homework4 solution.

Assignment

In HW #4, we did some basic Divvy data analysis using F#. To refresh your memory, browse to Chicago?s

Divvy analysis dashboard; recall the raw data is available from Divvy @ https://www.divvybikes.com/data.

The assignment here in HW #8 is to use C# or F# (or both) to perform some additional analyses and

operations. You may build a console app or a GUI app, that?s up to you. But you must work with the data files

from our solution. Note that HW #4 assumed a simpler file format than the actual data files, e.g. some fields

were deleted, and missing values were given a default value of 0.

Download a 6-month period of data, e.g. ?2016 Q1 &amp; Q2 data?. Unzip, extract folder of data, and copy this

is to implement ?find nearby stations?. Allow the user to enter their position, and a distance d, and then

output all stations at most d distance away in any direction. Positions will be input as a latitude and longitude, e.g. 41.86 and -87.62; positive and negative are used in place of N, S, E and W. The distance will be

input as an integer in feet, e.g. 1000 feet. For the Chicago area, a latitude difference of 0.0001 is 36 feet, and

a longitude difference of 0.0001 is 27 feet. So given a position of (41.86, -87.62), and a distance of 1000 feet,

you are looking for all stations whose (latitude, longitude) is +/- 1000 feet away, or within the bounding box

denoted by (41.86 +/- 0.0027778, -87.62 +/- 0.0037037). Output the stations in order of distance away,

closest stations first. For each station, output: distance away (in feet), the id, station name, position as

(latitude, longitude), and capacity.

Your second operation is to ?output station information?. Allow the user to input a station ID, and then

output the following:

Station name

Position as (latitude, longitude)

Capacity

Rides from/to this station:

Total:

6-9 am:

Noon-1 pm:

3-7 pm:

When looking at rides during a particular timeframe, consider the start time of the ride; e.g. 6-9am =&gt; any ride

that starts during 6:00-9:00, inclusive.

Once you have operations 1 and 2 working, your third operation is to modify ?output station information?

to include real-time station info from Divvy?s real-time JSON feed, available via the URL

http://feeds.divvybikes.com/stations/stations.json. In particular, output the # of available bikes, # of available

docks, station status, and time of last communication. If the service is unavailable, your program should not

crash, but instead simply output ?unavailable? for each of these values. The Divvy service is easy to call from

C# or F# --- here?s an article from StackOverflow. When it comes time to parse the JSON data, consider using

JSON.net, which is easy to install and use.

The fourth operation ranks each station. When the user asks to ?output station information?, also output

the rank of that station in terms of the # of rides. Output the rank next to each ?ride total?, e.g.

Rides from/to this station:

Total:

12,345 (#16 out of 535)

6-9 am:

6,322 (#23 out of 535)

Noon-1 pm: 46

(#428 out of 535)

3-7 pm:

5,019 (#45 out of 535)

Since we?re computing the rank, we might as well allow the user to output the top N stations. So the fifth

operation is to ?output top N stations?. Allow the user to enter an integer N &gt;= 3, and then output the top N

stations based on total rides from/to the station. Output the station id and their total # of rides; output in

descending order by # of rides.

Finally, the sixth and last operation is to look at trips instead of stations. A trip is a (from, to) pair. What

are the top N trips? Allow the user to enter an integer N &gt;= 3, and then output the top N trips based on total

CS 341 :

http://www.joehummel.net/cs341.html Page 2 of 4 rides. Output (from, to) pairs along with their total # of rides, in descending order by # of rides; the ?from?

and ?to

should beSubmission

station ids.

Electronic

Before you submit, make sure there?s a header comment in the main file, with your name and other

Requirements

background information. Next, delete the input files from your bin\Debug and bin\Release sub-folders. Then

create a .zip of your entire Visual Studio project folder, e.g. by right-clicking on the folder, selecting ?Send to?,

in mind

this assignment

is an (zipped)

opportunity,

and Finally,

so the requirements

may be stricter

than usual. This

and Keep

then the

sub-option

?Compressed

folder?.

browse to Blackboard,

open ?Assignments?,

assignment

requiresand

thesubmit

staff toyour

work.zip

above

and beyond

normally

required,

soasyou

tobefore

make the

then

?Homeworks?,

via ?HW08?.

Youwhat

mayissubmit

as many

times

youhave

want

things

easy

us. Ifthe

welast

runversion

into problems,

we aren?t going to have the time / energy to grade it. We aren?t

due

date;

wefor

submitted.

going to give much thought to partial credit.

- You must use Visual Studio 2015 Policy

-LateYou

areislimited

to whatsince

comes

with are

the over.

language, other than a library for JSON parsing. You

work

not accepted

classes

cannot use additional tools / frameworks, such as existing data analysis frameworks. That said,

viableindividually

option in C#

F# work

because

it?sallowed.

part of the

language.

All workLINQ

is to be

? and

group

is not

While

I encourage you to talk to your

peers and learn from them (e.g. via Piazza), this interaction must be superficial with regards to all work

- Your program must be obvious to run and use. We are going to copy a folder of data files into

submitted for grading. This means you *cannot* work in teams, you cannot work side-by-side, you cannot

your bin\Debug and bin\Release sub-folders, and run --- your program should work. You can

submit someone else?s work (partial or complete) as your own. The University?s policy is described here:

prompt for the folder name / path to folder, but that?s it.

-http://www.uic.edu/depts/dos/docs/Student%20Disciplinary%20Policy.pdf .

You need a reasonably efficient solution. We are willing to wait at most 60 seconds for an

operation to complete (assuming optimized code via ?release? mode). If an operation takes

In particular, note

thatthan

you that,

are guilty

dishonesty

if you

or receive any kind of unauthorized

longer

we will

assume the

program is

stuckextend

in a loop.

assistance. -Absolutely no transfer of program code between students is permitted (paper or electronic), and

We?re

going

to look

at friends,

?how? you

solvedforums.

the problem.

it modular?

Is it commented,

at least

you may not solicit

code

from

family,

or online

Other Isexamples

dishonesty

enough

so we can

what?scopying-pasting

going on (data code

structures,

algorithms,

Is itineasy

to

include emailing

to understand

another student,

from the

internet,etc.)?

working

a group

or does itand

hurt

our eyes?

If the

to anyindividual

of these to

is ?no?,

we may

assignment,

allowing

a tutor,

or another

write then

forshake

you. our

and

not

it.

Academic dishonesty is unacceptable, and penalties range from failure to expulsion from the university; cases

are handled via the official student conduct process described at

When we grade, we are going to download 6 months of data from the Divvy web site, such as ?2016 Q1 &amp;

Q2 Data? or ?2015 Q1 &amp; Q2 Data?. We?ll unzip, extract to a folder, make sure the folder contains a ?Stations?

file and one or more ?Trips? files, and then drop copies of this folder into your bin\Debug and bin\Release subfolders. Then we?ll run your program. You can prompt for the name of the folder or for the complete path;

you can also prompt via a dialog box.

At this point, the program should be up and running, and we should be able to test out the various

features. We are not posting ?correct? answers, you will need to test your program and convince yourself it?s

working correctly. After running and working with your program, we?ll exit the program and review the

implementation. CS 341 :

http://www.joehummel.net/cs341.html

CS

341 :

http://www.joehummel.net/cs341.html Page 3 of 4

Page 4 of 4

Solution details:
STATUS
QUALITY
Approved

This question was answered on: Sep 18, 2020

Solution~0001005096.zip (25.37 KB)

This attachment is locked

We have a ready expert answer for this paper which you can use for in-depth understanding, research editing or paraphrasing. You can buy it or order for a fresh, original and plagiarism-free copy from our tutoring website www.aceyourhomework.com (Deadline assured. Flexible pricing. TurnItIn Report provided)

STATUS

QUALITY

Approved

Sep 18, 2020

EXPERT

Tutor