use visual studio for ?C# or F# (or both) to perform some additional analyses and operations. Attach with instruction and homework4 solution.
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:
Position as (latitude, longitude)
Rides from/to this station:
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:
12,345 (#16 out of 535)
6,322 (#23 out of 535)
Noon-1 pm: 46
(#428 out of 535)
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?
Before you submit, make sure there?s a header comment in the main file, with your name and other
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?,
is an (zipped)
so the requirements
may be stricter
than usual. This
browse to Blackboard,
we aren?t going to have the time / energy to grade it. We aren?t
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
language, other than a library for JSON parsing. You
cannot use additional tools / frameworks, such as existing data analysis frameworks. That said,
option in C#
part of the
is to be
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.
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
or receive any kind of unauthorized
in a loop.
assistance. -Absolutely no transfer of program code between students is permitted (paper or electronic), and
Is it commented,
you may not solicit
so we can
going on (data code
or does itand
of these to
on a homeworkread,
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 Page 3 of 4
Page 4 of 4
This question was answered on: Sep 18, 2020
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 .
About this QuestionSTATUS
Sep 18, 2020EXPERT
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).
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.