Farmer Math Word Problems

Solve middle school word problems in an engaging app.


In Farmer Math you take on the role of a middle school student who is trying to help your family's farm become successful. Your job is to solve a farming math word problem for each week in the year on the farm. It's up to you to ensure that the farm stays in the family for many years to come!

Why Another Math App?

A common question for teachers is, "Why do I have to learn this?" or "When will I ever use this?". Since 2012 I have been teaching Computer Applications in a rural Indiana middle school. Some of my more challenging students over the years have been kids who want to be farmers, and I think it's because they haven't seen how some school subjects will help them in real-life.

Another thing I noticed with many students is that they can struggle to apply math to real-life situations. Most existing math apps don't target middle school students, and the few that do don't focus on solving real word problems or applying math to daily life.

Over the years I've had many interesting situations at school; such as finding a cat in the ceiling during class, toilets overflowing flooding my entire classroom, kids trapping a rat in the hallway and then carrying it outside by the tail, and many other funny situations too. I've tied some of these events into the story and hope that even the most jaded student can hopefully enjoy working through the problems.

What Math Subjects Are Covered

The target math standards are for 6th grade students. Main topics include ratios, proportion and percent, (some fractions), and basic 6th grade surface area, volume, and perimeter questions. Most advanced topics found in 7th grade and beyond have been excluded from the story problems, but older students may still find the questions challenging.

Skill Levels?

In the settings users can select easy, medium, or hard options. Advanced 5th grade students may be able to solve most of the questions on the easy setting. Sixth grade students should hopefully be able to solve most of the medium difficulty questions, and 7th / 8th grade students or older may benefit from doing the hard questions. The questions select variables randomly each time they're loaded, so if it's helpful, students could re-do the questions for more practice, or try new questions at a different skill level setting.


You're presentend with a question and have a whiteboard and calculator available to help solve the problems.


The story progresses for 52 weeks in the game. Text-to-speak is available for all story parts and questions.


You instantly see if your answer is wrong and have a chance to correct it before moving on. Answers either help or hurt the farm's overall chances of being successful.

A message about data privacy

This section is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use Farmer Math app.

If you choose to use Farmer Math app, then you agree to the collection and use of information in relation to this policy. I will not use or share your information with anyone except as described in this Privacy Policy.

The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at unless otherwise defined in this Privacy Policy.

Information Collection and Use

For a better experience, while using our Service, I do not collect any personally identifiable information with this app. The data I collect is annonymous usage data while in the app such as: which questions are answered correctly, questions that are answered wrong, how much time was spent on each question, difficulty settings, and similar data that will be used to improve the Farmer Math app. None of the data I collect is personal or tied to an individual user.

The app does use Google Firebase Analytics.

Google Analytics for Firebase data collection

The type of information collected through the Google Analytics for Firebase default implementation includes:

  • Number of users and sessions
  • Session duration
  • Operating systems
  • Device models
  • Geography
  • First launches
  • App opens
  • App updates
  • In-app purchases

See a full list of the default events and user properties collected by Google Analytics for Firebase.

Firebase Performance Monitoring data collection

The type of information collected through the Firebase Performance Monitoring default implementation includes:

  • General device information, such as model, OS, and orientation
  • RAM and disk size
  • CPU usage
  • Carrier (based on Mobile Country and Network Code)
  • Radio/Network information (for example, WiFi, LTE, 3G)
  • Country (based on IP address)
  • Locale/language
  • Signal strength
  • Jailbroken or rooted status of device
  • Battery level and battery-charging state
  • App version
  • App foreground or background state
  • App package name
  • An pseudonymous app-instance identifier
  • Network URLs (not including URL parameters or payload content) and the following corresponding information:
    • Response codes (for example, 403, 200)
    • Payload size in bytes
    • Response times
  • Duration times for automated traces.

See a full list of the automatic traces collected by Performance Monitoring.

Identifying devices

The Firebase SDK library uses an app-instance identifier to identify a unique installation of the App.

When using the SDK, an app-instance identifier gets generated at the app level.

By default, the Firebase SDK collects identifiers for mobile devices (for example, Android Advertising ID and Advertising Identifier for iOS) and utilizes technologies similar to cookies.

On iOS, the Advertising Identifier has not been made available.

If the Advertising Identifier is unavailable, the SDK collects the Vendor Identifier. If the Advertising Identifier becomes available after the Vendor Identifier was reported, the SDK stops collecting the Vendor Identifier.

By default, on Android the SDK collects the Advertising ID. If the Advertising ID is not collected, the device's hardware identifier, e.g., Android ID (SSAID), is collected instead. This alternative Android identifier cannot be reset.

Identifying in-app purchases

By default, the SDK collects in-app purchase information on iOS via the public transaction observer methods from Apple. On Android, this is enabled via Google Play In-app Billing. Both iOS and Android in-app purchase tracking can be turned off via the opt out directions below.


Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.

This Service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

Service Providers

I may employ third-party companies and individuals due to the following reasons:

  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.

I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Children’s Privacy

These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from anyone regardless of age.

Opt Out

If you desire to opt out of analytics data collection you can do so by clicking { window.cordova ? this.optOut()} >Here : opt out from within the privacy policy on the settings page in the app } .

Changes to This Privacy Policy

I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.


If you have suggestions, find a bug, or need help please email me.