Rea - Android Course (Proposal)

(Difference between revisions)
Jump to: navigation, search
Line 22: Line 22:
 
Past student teams produced various mobile games, K-5 learning tools, bus route tracking, and customer loyalty apps.
 
Past student teams produced various mobile games, K-5 learning tools, bus route tracking, and customer loyalty apps.
  
However, this semester we will work as one team to create an HFOSS project for the community implementing an Android App via API connections to our own Ushahidi server.
+
'''However, this semester we will work as one team to create an HFOSS project for the community implementing an Android App via API connections to our own Ushahidi server.'''
  
 
==Target Student Audience==
 
==Target Student Audience==
Line 28: Line 28:
 
This is an advanced programming and development course. Senior information systems and computer science majors take this course.
 
This is an advanced programming and development course. Senior information systems and computer science majors take this course.
  
It is not an elective course for majors and a required course for Business Mobile Development minors. CIS4700 requires students pass the pre-requisite course CIS2610: Business Mobile Programming.
+
It is an elective course for majors and a required course for Business Mobile Development minors. CIS4700 requires students pass the pre-requisite course CIS2610: Business Mobile Programming.
  
 
==Learning Activities==
 
==Learning Activities==
  
There will be an assortment of smaller activities that contribute to the project's overall goals. These are in addition to labs in the course that focus on particular advanced Android programming techniques and approaches such as encryption, network management, lifecycle control, etc.
+
An assortment of smaller activities will contribute to the project's overall goals.  
  
Lab assignments for these will relate to the overall project needs and can be shared on the Wiki as part of the overall deliverable.
+
These are in addition to labs in the course that focus on particular advanced Android programming techniques and approaches such as encryption, network management, lifecycle control, etc.
 +
 
 +
Lab assignments will relate to the overall project needs and can be shared on the Wiki as part of the overall deliverable.
  
 
All other activities listed below are planned and will have deliverables associated with them and shared via the Wiki.
 
All other activities listed below are planned and will have deliverables associated with them and shared via the Wiki.
Line 53: Line 55:
 
* '''Using Git with Android Studio'''
 
* '''Using Git with Android Studio'''
 
* '''Use Dia for App Architecture and Design''' (This will depend if students can install the software.)
 
* '''Use Dia for App Architecture and Design''' (This will depend if students can install the software.)
* Install and use a '''Wiki on OpenShift'''
+
* Install, document, and use a '''Wiki on OpenShift'''
* Install and use an '''Ushahidi server on OpenShift'''
+
* Install, document, and use an '''Ushahidi server on OpenShift'''
* Program and implement an '''Android App using Ushahidi APIs'''
+
* Program, document, and implement an '''Android App using Ushahidi APIs'''
  
 
===Project Deliverables===
 
===Project Deliverables===

Revision as of 22:01, 10 January 2016

Contents

Summary

Run a semester-long project in an upper-level Android development class.

This project will entail the use of many open source technologies to build an Android application (app) that interfaces via APIs with an Ushahidi (https://www.ushahidi.com/) server installed on OpenShift in order to enable a local community organization (to be determined) to track and report occurrences throughout a geographic area. Currently, we are looking at projects involving campus sustainability programs, voter registration initiatives, among other projects. Most likely this will be one large team of 10-15 students each performing various roles and contribution distinct modules to the overall Android Project.

This project will not only expose students to working with a FOSS community but also enable a local organization to experience the power that HFOSS can bring to the community.

Target Venue

CIS4700 Mobile Commerce Development

This is an advanced mobile programming course that focuses on advanced mobile commerce, or m-commerce, programming to include location-based services, mobile payment services and transactions, as well as designing and delivering advanced content and advertising for smartphones, tablets, and other mobile devices. Because m-commerce is constantly evolving, this course will integrate new topics as necessary as reflected in the mobile application development area.

Android App Development with Ushahidi

In addition to Android development and programming labs throughout the semester, a student team develops their own Android application throughout the course of the semester.

Student team leaders must convince others in the class to join their team according to the project being pitched to the class. Student teams then work to design, develop, present, and implement the Android application over the course of the semester.

Past student teams produced various mobile games, K-5 learning tools, bus route tracking, and customer loyalty apps.

However, this semester we will work as one team to create an HFOSS project for the community implementing an Android App via API connections to our own Ushahidi server.

Target Student Audience

This is an advanced programming and development course. Senior information systems and computer science majors take this course.

It is an elective course for majors and a required course for Business Mobile Development minors. CIS4700 requires students pass the pre-requisite course CIS2610: Business Mobile Programming.

Learning Activities

An assortment of smaller activities will contribute to the project's overall goals.

These are in addition to labs in the course that focus on particular advanced Android programming techniques and approaches such as encryption, network management, lifecycle control, etc.

Lab assignments will relate to the overall project needs and can be shared on the Wiki as part of the overall deliverable.

All other activities listed below are planned and will have deliverables associated with them and shared via the Wiki.

Community Interaction

  • Understand FOSS communities: We will take time to explore all the Ushahidi offerings and compare it to other FOSS communities. Each student will write a short essay within the class project Wiki discussing this.
  • Understand FOSS development processes: We will attempt to mirror FOSS processes using GitHub, collaborative technologies, and agile programming.
  • Participate in FOSS communities: Students will at a minimum take part in IRC or other weekly Ushahidi discussions at least twice during the semester and write about it in the class project Wiki or their blog.
  • Master a FOSS development processes: Perhaps not completely master, but a reflective paper at the end of the semester on the project discussing what the student has learned.

Technology Implementation

In addition to the focus on developing advanced Android programming techniques, approaches, and designs such as fragment use, communication tools, and encryption, students will need to complete assignments and exercises that allow them to experience the following:

  • Basic Git Usage with GitHub
  • Advanced Version Control with GitHub
  • Using Git with Android Studio
  • Use Dia for App Architecture and Design (This will depend if students can install the software.)
  • Install, document, and use a Wiki on OpenShift
  • Install, document, and use an Ushahidi server on OpenShift
  • Program, document, and implement an Android App using Ushahidi APIs

Project Deliverables

  • Working Android Application
  • Project Website and Wiki
  • Project DOcumentation
  • User Guide

Evaluation

Planned

  • Students are required to fill out a course survey at the beginning and end of the semester to note if learning occurred.
  • Use CATME (http://info.catme.org/) to help students understand how well they perform on the team.
  • Rubrics and associated feedback on all project assignments as well as labs.

POSSE Collaboration

  • Willing to work with POSSE to implement more across the board evaluation measures that will interface with larger FOSS learning questions and community.

Schedule

Spring2016

  • Develop assignments and materials
  • Run the project
  • Post updates to blog
  • Submit Proposal to AMCIS

Summer2016

  • Finalize materials
  • Post all materials to Wiki
  • Create section in the Teacher's Guide at http://teachingopensource.org
  • Travel to AMCIS 2016 and present findings

Budget

Spring16

$1500: Develop Materials (Assignments, Rubrics, Videos, etc.), Run the Course, Post Updates to Blog

Summer16

$1500: Finalize Materials and Post to Wiki and Teacher's Guide

Travel (Summer16)

$1000: Defray cost of travel to AMCIS 2016 (http://amcis2016.aisnet.org/) to present in the SIGED Track.

Contact Information

  • Alan Rea (<rea> at <wmich> dot <edu>)
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox