Program to perform Divvy ride analysis

Assignment Help Programming Languages
Reference no: EM132245250

Programming Languages - Project: Divvy Ride Analysis

Assignment: F# program to perform Divvy ride analysis.

Divvy Bike Sharing -

You've probably seen the blue bikes that are part of Divvy bike sharing system here in Chicago. The Divvy system is a commuting service where users pay a yearly fee ($75?) to use the bikes for free as long as rides are < 30 minutes in duration. Longer rides incur a surcharge. It's a very popular system, with stations throughout the city and some suburbs.

Interestingly, the Divvy folks also make their ride data available as part of Chicago's open data portal.

The goal in this assignment is to input ride data for one day, and perform some analysis of the data: # of rides, the % of riders that identify as male and female, the average ride duration, etc. Here's a screenshot of the program analyzing the divvy1.csv data file:

  • 243 riders
  • 177 identified as male (72.84%)
  • 45 identified as female (18.52%)
  • Average rider's age: 38.99
  • Histogram of ride durations
  • Histogram of starting hour (screenshot on next page)

The program starts by inputting the filename, and then proceeds to input and analyze the data. A skeleton F# program is provided with the code to open the data file and input the data. Your job is to add the analysis.

When computing the average age, use (current year - birth year). To obtain the current year: System.DateTime.Now.Year. When computing the histogram of ride durations, the categories are the following:

0 < duration <= 30 minutes

30 < duration <= 60 minutes

60 < duration <= 120 minutes

120 < duration <= 24 hours

The "Ride Start Time" histogram categorizes the rides based on their start time (0 => midnight, 1 => 1am, ... and 23 => 11pm). The number of stars output = # of rides starting that hour / 10. For example, there were 37 rides starting in the 8am hour. So the histogram display for 8am is 3 stars followed by the count: ***37.

You can solve recursively, or using a higher-order approach (I'd recommend a mix of both). You cannot use loops, no mutable variables, and do not change the data structure.

Requirements - No imperative programming. In particular, this means no mutable variables, no loops, and no data structures other than F# lists. Use recursion and higher-order approaches only; you must also work with the input format as given, i.e. a list of lists.

Attachment:- Assignment Files.rar

Reference no: EM132245250

Questions Cloud

Results of financial crisis : As a results of financial crisis in 2008-2009, how the structure of the insurance industry and the strategy of some of the players were affected?
Indirect consequence of the financial crisis : What types of insurance claims arose as a direct or indirect consequence of the financial crisis and what lines of insurance were most affected by it?
How will you ensure research quality in doctoral research : What are the most critical components for evaluating the quality of a quantitative or qualitative research study?
Good project management practices : How could the problems facing jack been avoided if good project management practices, governance and auditing processes had been used.
Program to perform Divvy ride analysis : CS 341 Programming Languages - Project: Divvy Ride Analysis. Assignment: F# program to perform Divvy ride analysis.
Examine influences of intellectual and socio-economic forces : Examine the influences of intellectual, religious, political, and socio-economic forces on social, cultural, and artistic expressions.
What are the effects of maltreatment : What are the risks and needs of this family that affect safety, permanency, or well-being - What are the family's individual and collective strengths
Analyzing health care decision making : Your agency or institution has noted a negative trend in profitability for a diagnostic imaging cost center over the past 4 quarters.
The hub to improve efficiencies and operations : Provide some initiatives at the hub to improve efficiencies and operations?

Reviews

len2245250

2/28/2019 1:39:31 AM

Submission and Grading - Grading will be based on the correctness of your console application. We are not concerned with efficiency at this point, only correctness. Note that we will test your app against other input files with the same format. When you are ready to submit your program for grading, login to Gradescope and upload your F# source file --- this must be named “Program.fs” (you may also submit a .zip containing “Program.fs” or “program/Program.fs”). You have unlimited submissions, and Gradescope keeps a complete history of all submissions you have made. By default, Gradescope records the score of your last submission, but if that score is lower, you can click on “Submission history”, select an earlier score, and click “Activate” to select it.

len2245250

2/28/2019 1:39:25 AM

The activated submission will be the score that gets recorded, and the submission we grade. If you submit on-time and late, we’ll grade the last submission (the late one) unless you activate an earlier submission. The grade reported by Gradescope will be a tentative one. After the due date, submissions will be manually reviewed to ensure project requirements have been met. Failure to meet a requirement --- e.g. use of mutable variables or loops --- will trigger a large deduction.

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd