Question Details

[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

 

as downloaded from https://www.divvybikes.com/data. Feel free to build from your F# solution to HW #4, or

 

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 & Q2 data?. Unzip, extract folder of data, and copy this

 

folder into your bin\Debug and bin\Release folders. Load the stations and ridership data. Your first operation

 

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 => 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 >= 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 >= 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

 

grade

 

submitted.

 

going to give much thought to partial credit.

 

- You must use Visual Studio 2015 Policy

 

- No pre-processing of the data; your app must work with the raw data as downloaded

 

-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,

 

is adone

 

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

 

of academic

 

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

 

of academic

 

dishonesty

 

enough

 

so we can

 

what?scopying-pasting

 

going on (data code

 

structures,

 

algorithms,

 

Is itineasy

 

to

 

include emailing

 

your program

 

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

 

on a homeworkread,

 

assignment,

 

allowing

 

a tutor,

 

TA,answer

 

or another

 

write then

 

an answer

 

forshake

 

you. our

 

heads

 

and

 

not

 

grade

 

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

 

http://www.uic.edu/depts/dos/studentconductprocess.shtml . Grading

 

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

 

Q2 Data? or ?2015 Q1 & 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
Answered
QUALITY
Approved
ANSWER RATING

This question was answered on: Sep 18, 2020

PRICE: $15

Solution~0001005096.zip (25.37 KB)

Buy this answer for only: $15

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)

Pay using PayPal (No PayPal account Required) or your credit card . All your purchases are securely protected by .
SiteLock

About this Question

STATUS

Answered

QUALITY

Approved

DATE ANSWERED

Sep 18, 2020

EXPERT

Tutor

ANSWER RATING

GET INSTANT HELP/h4>

We have top-notch tutors who can do your essay/homework for you at a reasonable cost and then you can simply use that essay as a template to build your own arguments.

You can also use these solutions:

  • As a reference for in-depth understanding of the subject.
  • As a source of ideas / reasoning for your own research (if properly referenced)
  • For editing and paraphrasing (check your institution's definition of plagiarism and recommended paraphrase).
This we believe is a better way of understanding a problem and makes use of the efficiency of time of the student.

NEW ASSIGNMENT HELP?

Order New Solution. Quick Turnaround

Click on the button below in order to Order for a New, Original and High-Quality Essay Solutions. New orders are original solutions and precise to your writing instruction requirements. Place a New Order using the button below.

WE GUARANTEE, THAT YOUR PAPER WILL BE WRITTEN FROM SCRATCH AND WITHIN YOUR SET DEADLINE.

Order Now