/20211130EdwinAbrahamNYCSchools

Repro for the JP Morgan Coding exercise

Primary LanguageJava

JP Morgan Coding Challenge: NYC Schools

Repro for the JP Morgan Coding Challenge

Problem Statement

Coding Challenge: NYC Schools

GOAL: Verify candidate can provide a technical solution and follow instructions

REQUIREMENTS:

These requirements are rather high-level and vague. If details are omitted, it is because we will be happy with any of a wide variety of solutions. Don't worry about finding "the" solution. Feel free to be creative with the requirements. Your goal is to impress (but do so with clean code). Create a native app to provide information on NYC High schools.

Display a list of NYC High Schools.

  1. Get your data here: https://data.cityofnewyork.us/Education/DOE-High-School- Directory-2017/s3k6-pzi2

Selecting a school should show additional information about the school

  1. Display all the SAT scores - include Math, Reading and Writing.
  2. SAT data here: https://data.cityofnewyork.us/Education/SAT-Results/f9bf-2cp4
  3. It is up to you to decide what additional information to display When creating a name for your project, please use the following naming convention: YYYYMMDD-[First&LastName]-NYCSchools (Example: 20180101-DanielleBordner-NYCSchools) In order to prevent you from running down rabbit holes that are less important to us, try to prioritize the following:

What is Important

  • Proper function – requirements met.
  • Well-constructed, easy-to-follow, commented code (especially comment hacks or workarounds made in the interest of expediency (i.e. // given more time I would prefer to wrap this in a blah blah blah pattern blah blah )).
  • Proper separation of concerns and best-practice coding patterns.
  • Defensive code that graciously handles unexpected edge cases.

What is Less Important

  • Demonstrating technologies or techniques you are not already familiar with. Bonus Points!
  • Unit Tests
  • Additional functionality – whatever you see fit.

Android:

  • Make sure you are correctly handing any necessary permissions.
  • Please make sure you are using Java. If you want to demonstrate the use of Kotlin, we'd rather you use a combination of both.
  • Use Java as the primary language. You can show case your skills in Kotlin if you would like to. As mentioned, you are not expected to function in a vacuum. Use all the online resources you can find, and please do contact us with questions or for interim feedback if you desire.