Using Open APIs In Mobile Apps Activity

(Difference between revisions)
Jump to: navigation, search
(Additional Information:)
Line 65: Line 65:
 
{| border="1"
 
{| border="1"
 
|-  
 
|-  
|'''Knowledge Area/Knowledge Unit''' || What ACM Computing Curricula 2013 https://www.acm.org/education/CS2013-final-report.pdf knowledge area and units does this activity cover?
+
|'''Knowledge Area/Knowledge Unit''' ||SE - Software Engineering / SE Requirements Engineering from [[ACM_Body_of_Knowledge]]
 
|-
 
|-
|'''Topic''' || What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf
+
|'''Topic''' || Application Development, Open APIs
 
|-
 
|-
|'''Level of Difficulty''' || Is this activity easy, medium or challenging?
+
|'''Level of Difficulty''' || Medium- Challenging
 
|-
 
|-
|'''Estimated Time to Completion''' ||  How long should it take for the student to complete the activity?
+
|'''Estimated Time to Completion''' ||  6-8 hours
 
|-
 
|-
|'''Materials/Environment''' || What does the student need?  Internet access, IRC client, Git Hub account, LINUX machine, etc.?
+
|'''Materials/Environment''' ||Internet access, Android Studio installed
 
|-
 
|-
|'''Author''' || Who wrote this activity?
+
|'''Author''' || Ruby ElKharboutly
 
|-
 
|-
|'''Source''' || Is there another activity on which this activity is based?  If so, please provide a link to the original resource.
+
|'''Source''' || N/A
 
|-
 
|-
|'''License''' || Under which license is this material made available? (http://creativecommons.org/licenses/)
+
|'''License''' ||Creative Commons CC-BY
 
|}
 
|}
 
  
 
=== Suggestions for the Open Source Project: ===
 
=== Suggestions for the Open Source Project: ===

Revision as of 19:44, 10 June 2016

Title Using Open APIs in Mobile Application Development
Overview In this activity students will learn about Open APIs, how does it relate to open source and how to use in building a mobile application.
Prerequisite Knowledge CS2 using Java and basics of Android development
Learning Objectives
  • To understand what an Open API is.
  • To understand how open APIs relate to open source.
  • To be able to use open APIs in mobile application development
  • To specifically use the wheelsmap API to build a simple Android accessibility application.

Background:

This activity is meant to educate students about open APIs and how to use them in Android app development. The activity is targeted for crisis management APIs to emphasize the humanitarian aspect of HFOSS.

Directions:

Part 1

  1. What is an Open API? What is REST? How and why is it open ?

http://searchcloudapplications.techtarget.com/definition/open-API

  1. What is the difference between open source and open API?

http://toni.org/2007/01/30/open-source-vs-open-apis/

Write a one page summery compiling your understanding of these readings.

Part 2

FEMA (The Federal Emergency Management Agency) has made some of its data public through a REST API http://www.fema.gov/data-feeds#APIs The released data sets are listed in http://www.fema.gov/data-feeds#APIs and include the following:

  • Housing Assistance Owners
  • Housing Assistance Renters
  • Registration Intake and Individuals Household Program
  • Public Assistance Funded Projects: Summary
  • Public Assistance Funded Projects: Details
  • Hazard Mitigation Grant Program Property Acquisitions
  • Hazard Mitigation Grants
  • Disaster Declarations Summaries

For example, the following http request retrieves data for Housing Assistance Owners. Run the http request on your browser and copy a couple of records from the result in your report. http://www.fema.gov/api/open/v1/HousingAssistanceOwners

This output is in JSON format.


Part 3

Develop an Android App that provides an interactive interface to search and display a data feed from the FEMA data sets. Your App should use the sample code attached to retrieve data from an API and your task will be to design and develop and App that displays this data.

Deliverable:

  • A report including answers for part 1 and part 2
  • A .zip and .apk of your Android app.

Assessment:

How will the activity be graded?

How will learning will be measured?

Include sample assessment questions/rubrics.

Comments:

Android Development, JSON data model

Additional Information:

Knowledge Area/Knowledge Unit SE - Software Engineering / SE Requirements Engineering from ACM_Body_of_Knowledge
Topic Application Development, Open APIs
Level of Difficulty Medium- Challenging
Estimated Time to Completion 6-8 hours
Materials/Environment Internet access, Android Studio installed
Author Ruby ElKharboutly
Source N/A
License Creative Commons CC-BY

Suggestions for the Open Source Project:

Suggestions for an open source community member who is working in conjunction with the instructor.



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox