Course Learning Outcomes (CLO): Student Outcomes (SO):

Similar documents
Android App Development

ANDROID SYLLABUS. Advanced Android

Beginning Android 4 Application Development

Android Online Training

Android Programming (5 Days)

MC Android Programming

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days

Course Syllabus. Course Title. Who should attend? Course Description. Android ( Level 1 )

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Answers to Exercises

Android Application Development using Kotlin

SUBJECT OUTLINE DETAILS

Android App Development for Beginners

ANDROID TRAINING PROGRAM COURSE CONTENT

ANDROID DEVELOPMENT. Course Details

Android Essentials with Java

ANDROID COURSE BROCHURE

Android Application Development

Mobile Application Development

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Required Core Java for Android application development

ATC Android Application Development

B. V. Patel Institute of Business Management, Computer & Information Technology, UTU

Android Application Development

Android Apps Development

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Programming in HTML5 with JavaScript and CSS3

Android" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition

ANDROID APPLICATION DEVELOPMENT COURSE Training Program

Android Programming - Jelly Bean

Syllabus- Java + Android. Java Fundamentals

Java Training Center - Android Application Development

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

GUJARAT TECHNOLOGICAL UNIVERSITY

Android Training Overview (For Demo Classes Call Us )

android application development CONTENTS 1.1 INTRODUCTION TO O ANDROID OPERATING SYSTEM... TURES Understanding the Android Software Stack...

Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

Course 20480: Programming in HTML5 with JavaScript and CSS3

Android Application Development Course 28 Contact Hours

CORE JAVA& ANDROID SYLLABUS

SHWETANK KUMAR GUPTA Only For Education Purpose

Contextual Android Education

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different.

Microsoft Programming in HTML5 with JavaScript and CSS3

Topics Covered in the Android Apps Development Training

20480B: Programming in HTML5 with JavaScript and CSS3

Software Development & Education Center ANDROID. Application Development

Android Basics Nanodegree Syllabus

Programming in HTML5 with JavaScript and CSS3

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

COURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.

Essentials of Developing Windows Store Apps Using C#

Web Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline

DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 ADVANCED SOLUTIONS. Course: 20489A; Duration: 5 Days; Instructor-led

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. Computer Engineering

Developing ASP.NET MVC 5 Web Applications

SEVEN ADVANCED ACADEMY

Android Basics Nanodegree Syllabus

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

CHAPTER 1: HELLO, ANDROID 1

CSET 4150 Web System Administration (3 semester credit hours) IT Required

School of Computing and Information Sciences. Course Title: Mobile Application Development Date: 8/23/10

CSCI 6312 Advanced Internet Programming

CS378 -Mobile Computing. What's Next?

In this Class Mark shows you how to put applications into packages and how to run them through the command line.

Android App Development

Microsoft SharePoint Server

Android Programming in Bluetooth Cochlea Group

Android Overview. Most of the material in this section comes from

Android for Ubiquitous Computing Researchers. Andrew Rice University of Cambridge 17-Sep-2011

Mobile Application Development Android

Module Title : 20484C:Essentials of Developing Windows Store Apps Using C#

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

ANDROID. Curriculum LOCATION CONTACT US SCHEDULE. TurnToTech 40 Rector St. 10th Floor New York, NY

ExecuTrain Course Outline MOC 6460A: Visual Studio 2008: Windows Presentation Foundation

Practical Problem: Create an Android app that having following layouts.

Developing Microsoft SharePoint Server 2013 Core Solutions

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

User Interface Design & Development

CS 403X Mobile and Ubiquitous Computing Lecture 5: Web Services, Broadcast Receivers, Tracking Location, SQLite Databases Emmanuel Agu

20480B - Version: 1. Programming in HTML5 with JavaScript and CSS3

Androidfp_printOnly.book Page vii Tuesday, October 4, :15 AM. Contents. Before You Begin

20486-Developing ASP.NET MVC 4 Web Applications

I, J, K. Eclipse, 156

Tizen Architecture Overview

Introduction To Android

LTBP INDUSTRIAL TRAINING INSTITUTE

Android Ecosystem and. Revised v4presenter. What s New

Programming in HTML5 with JavaScript and CSS3

MS 20488: Developing Microsoft SharePoint Server 2013 Core Solutions Duration: 5 Days Method: Instructor-Led

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

Programming Fundamentals of Web Applications

Developing Microsoft SharePoint Server 2013 Core Solutions

Android App Development Workshop

Course 20488A: Developing Microsoft SharePoint Server 2013 Core Solutions

ANDROID APPLICATION DEVELOPMENT PROSPECTUS ADAAD UNIVERSITY OF SKILLS

COURSE 20488B: DEVELOPING MICROSOFT SHAREPOINT SERVER 2013 CORE SOLUTIONS

Developing Microsoft SharePoint Server 2013 Core Solutions

XAMARIN Application Development - Workshop

Developing Microsoft SharePoint Server 2013 Core Solutions Course Contact Hours

Transcription:

Course Coverage Course Learning Outcomes (CLO): 1. Understand the technical limitations and challenges posed by current mobile devices and wireless communications; be able to evaluate and select appropriate solutions. 2. Describe the components and structure of a mobile development frameworks and learn how and when to apply the different components to develop a working system. 3. Select and evaluate suitable software tools and APIs for the development of a particular mobile application and understand their strengths, scope and limitations. 4. Describe and work within the capabilities and limitations of a range of mobile computing devices. 5. Describe and apply the different types of application models/architectures used to develop mobile software applications. 6. Ability to enhance students practical skills in the development of software applications for mobile devices. 7. Design, implement and deploy mobile applications using an appropriate software development environment; Learn to to design, write and test small interactive programs for mobile devices. 8. Design and develop computing system to extend and enhance the capability of mobile applications; Ability to conduct major mobile programming projects. Student Outcomes (SO): (A) An ability to apply knowledge of computing and mathematics appropriate to the discipline (B) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution (C) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs (D) An ability to function effectively on teams to accomplish a common goal (E) An understanding of professional, ethical, legal, security and social issues and responsibilities (F) An ability to communicate effectively with a range of audiences (G) An ability to analyze the local and global impact of computing on individuals, organizations, and society (H) Recognition of the need for and an ability to engage in continuing professional development (I) An ability to use current techniques, skills, and tools necessary for computing practice. (J) An ability to use and apply current technical concepts and practices in the core information technologies. (K) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer based systems (L) An ability to effectively integrate IT based solutions into the user environment. (M) An understanding of best practices and standards and their application. (N) An ability to assist in the creation of an effective project plan.

Course Lectures and Labs: Books: BAAD: Wei-Meng Lee, "Beginning Android 4 Application Development" PAAD: Reto Meier, "Professional Android 4 Application Development" Weeks 1: Lecture: Introduction, Android Basics: Android Tools, Building Applications, Activities, User Interfaces and Intents Reference: BAAD Ch. 1,2,3, PAAD Ch. 1,2 o Setting up Eclipse and Android Environment (BAAD Pg 20) o Writing codes in HTML5 for location tracking. o Use PhoneGap to develop an apk with the developed HTML5 location tracking code. Week 2: Lecture: Introduction, Android Basics: Android Tools, Building Applications, Activities, User Interfaces and Intents Reference: BAAD Ch. 1,2,3, PAAD Ch. 1,2 o Understand Android Code life cycle (BAAD Pg 38) o Introducing Dialog Window & Progress Box (BAAD Pg 42 & 47) o Retrieve and learn about dex files o Use adb command to install and uninstall an application on the emulator/device Check for logs using adb command like: adb d logcat *:S Activity:* o Learn the impact of manifest file on R.java. o Learn about the lifecycle of an activity. Week 3: Lecture: Android Fundamentals: Files, Saving State, Preferences, Databases and Content Providers Reference: BAAD Ch.6,7, PAAD Ch. 7, 8 o Linking Intents and getting results (BAAD Pg 53 & 59) o Write an application to handle various predefined actions (ACTION_CALL & ACTION_BATTERY_LOW) using Intents. o Use intents to invoke the Messaging or Browser or phone call panel. o Handling conflicts in intents (an intent is used to invoke two activities).

Week 4: Lecture: Android Fundamentals: Files, Saving State, Preferences, Databases and Content Providers Reference: BAAD Ch.6,7, PAAD Ch. 7,8 o Learn about the lifecycle of a fragment. o Fragments and Communications between them (Pg 81) o Use Fragments to display two or three fragments at a time based on the width of the emulator/device. o Intents + Fragments + Notifications (BAAD Pg 85 & 98) Week 5: Lecture: Beyond Basics I: Services, Processes, Threads, and Broadcast Receivers Reference: BAAD Ch.11, PAAD Ch. 9 o Write an application to display contact details on a tabular format (The tabs are for each group of contacts) o Working on Database (BAAD Pg 274 & 279) o Contact retrieval (BAAD Pg 280) Week 6: Lecture: Beyond Basics I: Services, Processes, Threads, and Broadcast Receivers Reference: BAAD Ch.11, PAAD Ch. 9 Lab: o Database Bundling (BAAD Pg 286) o Retrieve information and display them using ScrollView and ListView. Compare their differences once the list is longer than the height of the emulator/device. o Content Providers (BAAD Pg 295) o Creating and using our own Content Providers (BAAD Pg 305 & 314) Week 7: Lecture: Beyond Basics II: Maps and Location-Based Services + JSON Reference: BAAD Ch. 9 & 10, PAAD Ch. 13 o Animation from the newly created UI

o ImageView and Management of images o Layouts and Orientations (Pg 130) o Creating UI Programmatically (Pg 146) + views (Pg 168) Week 8: Lecture: Beyond Basics II: Maps and Location-Based Services + JSON Reference: BAAD Ch. 9, PAAD Ch. 13 o Service Vs Intent Service (PAAD Ch9) o Tasks (BAAD Pg 439 & 442) o Invoke a service based on a receipt of a notification o AsyncTask and updating the UI o Runnable Threads Week 9: Lecture: Beyond Basics III: Sensors Reference: BAAD Ch., PAAD Ch. o Shared Preferences (BAAD Pg 252 & 259) o Internal Storage (BAAD Pg 263) o Creating Service (BAAD Pg 430) o Threads (BAAD Pg 458) Week 10: Lecture: Beyond Basics III: Sensors Reference: BAAD Ch., PAAD Ch. 12 o Creating Google API Account (BAAD Pg 352) o Maps Navigation (BAAD Pg 364) o Navigating map based on touch and geocoding + linking to an activity (BAAD Pg 371) Week 11: Lecture: Advanced Android I: Audio, Video, Telephony and SMS

Reference: BAAD Ch. 8, PAAD Ch. 15, 17 o Sending and receiving SMS (BAAD Pg 329) o MediaPlayer with background threads Week 12: Lecture: Advanced Android I: Audio, Video, Telephony and SMS Reference: BAAD Ch., PAAD Ch. 15, 17 o WebView to display Webpages o Download the requested media via background thread and update a progress bar based on the download process Week 13: Lecture: Advanced Android II: Bluetooth, Networks, and Wi-Fi Reference: BAAD Ch. 10, PAAD Ch. 16 o Handling HTTP Connections with threads o JSON (BAAD Pg 411) o Application publishing (BAAD Pg 467) Week 14: Lecture: Advanced Android Development & Looking Forward Reference: BAAD Ch., PAAD Ch. 18, 19 Lab: NO LAB in this week Assignment 1: Student Assignment Management System Application should contain the following: Application should start with a nice Progress bar Student should be able to enter his assignments based on a date (should have Date Picker) Should be able to search based on date or assignment details Display the assignments using a list Assignment entries could be modified or changed

Assignments due should be notified three days in advance Assignment 2: Enhanced Student Assignment Management System Make sure that your application is suitable for more than one device. Application should read assignment information from website or xml or feeder Vibrate or do some activity to the mobile to indicate assignment submission dateline is due on the specified date Reminder for exams or tests should be included. Lab Project: Location Tracker Application. Retrieve information using Google maps and indicate the current latitude and longitude. If a specified location is touched, appropriate geocoding or reverse geocoding should be performed. Invoke the application based on time or location Retrieve information from RSS feeder and locate a location on the map based on where an event is conducted. Possible Lab Assignments: 1. Switch news information obtained from one news site to another. 2. If the existing application has no database or the format of the existing database is different. Then, how to generate and design the new application efficiently. 3. WebView for a database 4. WebView to handle flash files 5. Context friendliness of the application: tags for places in google map, indicates or notifies about accidents or crowded areas 6. Server for API tasks 7. Manually handling orientation changes 8. Digest / Basic authentication; Authentication to Web Service. 9. Timeout for URL Connection 10. Write Android Programs to do the following: 1. Menu Inflater 2. onclick on Menu? 3. What is the use of R.id.home 4. Read the status of the application and show a progress dialog box until the application is ready 5. Orientation fixing:

a. Fix the orientation of the whole application b. Fix the orientation of a specific activity (view) in an application c. Else, keep individual versions for different orientations 6. Size adjustment of your application based on the device. Use Anchoring. 7. Create your own styles and themes to make the UI look better 8. Generate a simple application with UI programmatically designed 9. Each application should have appropriate EventListeners 10. Display menus from xml and/or program. Make sure to handle Context Menu 11. Differentiate between a Toast and a Notification 12. Storing of information: a. Using shared preferences b. Using local and external storage c. SQlite d. Existing and your own Content Provider 13. Services: a. AsyncTask b. Threads c. BroadcastReceiver d. Intent Service e. Wake Lock 14. Internationalization of the code (Supporting Arabic) 15. WebView in a separate thread than the UI? WebViewClient 16. Custom view (Draw to screen size) 17. Service does not start on oncreate 18. JSON, GSON 19. onintentreceive 20. What happens if you two launch activities in the Manifest? 21. Put things in Home Screen of the mobile. 22. InfoWindowAdapter 23. Tasks to check for: 1. Lit in android to check for errors or suggestions

2. SDK vs NDK 3. JSONP 4. Blocking browser from sending user-agent information 5. Loading asynchronously, using ajax style 6. jquery Mobile library 7. Stopping of the mobile vibration when the mobile is charging 8. Possibility of C# for mobile

(A) An ability to apply knowledge of computing and mathematics appropriate to the discipline (B) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution (C) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs (D) An ability to function effectively on teams to accomplish a common goal (E) An understanding of professional, ethical, legal, security and social issues and responsibilities (F) An ability to communicate effectively with a range of audiences (G) An ability to analyze the local and global impact of computing on individuals, organizations, and society (H) Recognition of the need for and an ability to engage in continuing professional development (I) An ability to use current techniques, skills, and tools necessary for computing practice. (J) An ability to use and apply current technical concepts and practices in the core information technologies. (K) An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer based systems (L) An ability to effectively integrate IT based solutions into the user environment. (M) An understanding of best practices and standards and their application. (N) An ability to assist in the creation of an effective project plan. 1. Understand the technical limitations and challenges posed by current mobile devices and wireless communications; be able to evaluate and select appropriate solutions. 2. Describe the components and structure of a mobile development frameworks and learn how and when to apply the different components to develop a working system. 1 1 1 1 1

3. Select and evaluate suitable software tools and APIs for the development of a particular mobile application and understand their strengths, scope and limitations. 4. Describe and work within the capabilities and limitations of a range of mobile computing devices. 5. Describe and apply the different types of application models/architectures used to develop mobile software applications. 6. Ability to enhance students practical skills in the development of software applications for mobile devices. 7. Design, implement and deploy mobile applications using an appropriate software development environment; Learn to to design, write and test small interactive programs for mobile devices. 8. Design and develop computing system to extend and enhance the capability of mobile applications; Ability to conduct major mobile programming projects. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Number of CLOs covered by one SO 3 6 6 3 5 5 5 2 3 2 3 5 3 2