341 - Bioinformatics Android Coursework



Similar documents
The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Fahim Uddin 1. Java SDK

ADT Plugin for Eclipse

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

How to Create an Android Application using Eclipse on Windows 7

Jordan Jozwiak November 13, 2011

Android Setup Phase 2

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

Running a Program on an AVD

Hello World. by Elliot Khazon

Module Title: Software Development A: Mobile Application Development

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

Android Environment SDK

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Android Introduction

Tutorial on Basic Android Setup

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Android Development Tutorial. Nikhil Yadav CSE40816/ Pervasive Health Fall 2011

MIS W: Mobile Business

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

Example Connection between USB Host and Android

Mobile Application Development

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

OpenCV on Android Platforms

Android Development. Marc Mc Loughlin

IOIO for Android Beginners Guide Introduction

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Programming and Security

How To Develop An Android App On An Android Device

CS378 -Mobile Computing. Android Overview and Android Development Environment

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

Introduction to Android

Practical Android Projects Lucas Jordan Pieter Greyling

Android Environment SDK

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

MIS W: Mobile Business

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

Android Applications Based On Conference Navigator

Programmazione di sistemi mobili e tablet

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe Copyright 2010, 2net Limited.

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Lab 0 (Setting up your Development Environment) Week 1

An Introduction to Android

Challenges in Android Application Development: A Case Study

Developing Mobile Applications

Android Application Development

Lecture 1 Introduction to Android

ITG Software Engineering

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

01. Introduction of Android

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Android, Bluetooth and MIAC

Android Tutorial. Larry Walters OOSE Fall 2011

Open Source Telemedicine Android Client Development Introduction

CS Mobile Development for Social Change

Overview of CS 282 & Android

Android Application Development

Home Course Catalog Schedule Pricing & Savings Training Options Resources About Us

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

How To Develop Android On Your Computer Or Tablet Or Phone

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Getting Started with Android Development

Android Development Exercises Version Hands On Exercises for. Android Development. v

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3

Introduction to Android. CSG250 Wireless Networks Fall, 2008

Android Programming: Installation, Setup, and Getting Started

Introducing Carmenta Engine for Android

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

DEVELOPING MOBILE APPLICATIONS USING ANDROID

Smartphone market share

Android Development Tools for Eclipse

Download and Installation Instructions. Android SDK and Android Development Tools (ADT)

AllJoyn Android Environment Setup Guide

Developing apps for mobile phones. by Scot C. Nelson

Android Development Setup [Revision Date: 02/16/11]

Basic Android Setup Windows Version

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

Android Mobile App Building Tutorial

Mobile App Development

Introduction to Android Programming (CS5248 Fall 2015)

Mocean Android SDK Developer Guide

Basics. Bruce Crawford Global Solutions Manager

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Tutorial: Android Object API Application Development. Sybase Unwired Platform 2.2 SP02

Developing NFC Applications on the Android Platform. The Definitive Resource

A Modular Approach to Teaching Mobile APPS Development

for Java developers Building Mobile Applications Introduction 1 Building Mobile Applications

Getting Started: Creating a Simple App

Getting started with Android and App Engine

Android: How To. Thanks. Aman Nijhawan

The power of root on Android emulators

Homeschool Programming, Inc.

Introduction to Android Development

Transcription:

341 - Bioinformatics Android Coursework 1 Important This coursework must be submitted electronically via CATE. This coursework is intended for groups of 4. Each group must contain at least one Computing student, and at least one Bio-Engineering student. Please ensure you give yourself plenty of time to do the coursework - starting in advance of the deadline. This will give you plenty of time to raise any questions in tutorials or via email. The deadline for app proposals is Friday the 17th of February at 3pm. The deadline for submission is Friday the 9th of March at 3pm. Apps will be entered into a competition, with the winning team being announced at the final lecture of the term. Also, the winning team will be invited into Google for a lunch, get a small Google gift bag there and have lunch with some engineers from the Android team. 2 Coursework The aim of this coursework is to write an Android app, which relates to Bioinformatics. This can be related to what you have covered in lectures, but is not restricted to this: indeed, creativity is encouraged. Bioinformatics is a truly interdisciplinary research area. It takes input from Computer Science, Biology, Physics, Chemistry and other fields and attempts to combine them to intelligently analyse large datasets. Your groups have been chosen to be interdisciplinary, as this field often requires good co-ordination between experts in these fields. Whilst Bioinformatics may not seem the most intuitive subject of an Android app, many of the problems you will encounter in writing this app are common with this field. Most notably: memory and processor power are limited on these systems. 1

A good app will either act as an educational tool, demonstrate a neat algorithm or be a useful laboratory aid. To do this, your groups can make use of the full range of Android features - such as tactile feedback, inter-phone communication or hardware sensors. We will provide some simple app ideas; however we feel that it would be best that your own ideas were turned into apps. However, you must clear your app proposal by emailing us first. Once you have formed your groups, you should select a group leader, who will be responsible for communicating with us. Emails sent to us should be sent with the subject 341 - Coursework - App Proposal to 341-androidcoursework@googlegroups.com. In this email, you will briefly explain the idea for your app, list who your group members are and what degree they are on. If students are unable to form groups, please email us and we will assign you to groups. A successful group will be able to make use of all its members. Biological insight will be required to produce a successful app, as well as coding ability. All group members, whatever their background, should be able to contribute to this app. We have several Android phones available for the testing of apps and you will be required to install your app and do a demonstration of the app on one of them in the presence of a tutorial helper. Numbers of phones are limited, and as such, we will be unable to hand out phones to groups. We recommend that you make use of emulation software, or your own phones if they are Android phones. However, keep in mind that your apps will be tested on the test phones available for this coursework and must be compatible with them. 3 Marking Scheme There will be 110 marks available for this group coursework - however grading will be out of 100 (meaning that, for full marks, you need only get 100/110). There will also be a competition, where we shall announce the winning application development team on March 16th (the final day of lectures). We feel that Computing students should be able to contribute to Software Engineering and Optimization, and that Bio-Engineering students will be able to most contribute to Originality and Interface design - and that all group members should be able to contribute to Functionality (details given below). You will demonstrate your app to us on our test phones in the tutorial following submission. This will ensure that you get the opportunity to show off the best features of your app. 2

3.1 15 marks - Originality A good app will perform better than its competitors, or will be the first of its kind. Novel use of interfaces and intelligent underlying concepts will receive high marks. Merely replicating what already exists will receive low marks. 3.2 20 marks - Interface Mobile phone applications must make use of limited screen space to work. A poor interface will discourage potential users from making use of your app. High marks will be awarded for responsive, intelligently designed interfaces. 3.3 30 marks - Functionality Your app must be fully functional. You can make use of the cleverest algorithms in the world, however if it crashes on an index-out-of-bounds error, there s really not much point to it. If the application s function is too simple, then you shall also receive low marks. High marks will be available for groups which produce an application which is not only functional, but useful. 3.4 35 marks - Software Engineering Any applications you develop will be expected to be well engineered code. You are Imperial College students, and good software engineering is expected of you. High marks will be awarded for well engineered, well commented, code, showing an appropriate level of testing. We do not expect extremely complex design patterns - merely appropriate ones for the task. 3.5 10 marks - Optimization Bioinformatics demands intelligent use of limited resources. Mobile apps also require intelligent use of limited resources. To gain some of the marks here, you must write clean code which does not unnecessarily use resources. To gain the highest marks, you will have actively attempted to reduce the resource footprint of your application, and will indicate (in comments), where you have attempted to do this. 4 Environment For this coursework, we recommend that you use the ADT (Android Development Tools) Plugin for Eclipse. Your application must follow the following specifications: Applications must be written for Android 2.3.3 Gingerbread. This is currently the most common version of Android. API level 10 should be used. 3

Apps should run out of the box. That is to say, whilst other APIs may be used, they must be included in the submission. To set up your set up your environment, you should do the following: 1. Download and install the Android SDK, available from: http://developer.android.com/sdk/index.html 2. Using the Android SDK Manager, install the the SDK for Android 2.3.3 (API 10). 3. Install the ADT Plugin for Eclipse.To do this, go to Help Install New Software and add https://dl-ssl.google.com/android/eclipse/ as a download site. From this site, you should be able to install the Development Tools for Android. 4. Go to Window Preferences Android and set the location you installed the 2.3.3 SDK. 5. Go to the package explorer, and create a new Android project. This should set up an example Hello World app. To run your starter app, you must first load the Android Virtual Device Manager and create a new Android Virtual Device. We recommend using Android 2.3.3 - API Level 10 as the target. Once created, run the app as an Android Application. 4.1 Notes on Android Development Android apps are written in Java, using an XML file to describe the basic layout. Eclipse pre-generates a basic XML file, in res/layout/main.xml and provides you with simple tools for editing the file graphically. It is also possible to write parts of apps in C or C++ using the Native Development Kit - however this is not necessary for your apps. Android applications have a main thread, and can spawn any number of worker threads. The user interface runs on the main thread, and as a result, this should never be blocked. As an additional consequence, you should also make all UI calls from the UI thread. We recommend that you read: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html which gives an in-depth description of how to do this. Android apps are distributed as APK files. Eclipse will generate this file for you as bin/yourappname.apk 4

5 Evaluation and Submission You must submit your source code, your app s APK file and a short (no more than 1 page of A4) readme file via CATE. This readme will document what your app does, how to run it, and any features you feel are of particular note. Additionally, you will have to test your program with one of TAs on one of our phones after the CATE submission date. 5