Course overview 1

52
+ UAH Smartphone Programming (CPE 490/590) Summer 2015 By: Michael T. Shrove

Transcript of Course overview 1

Page 1: Course overview   1

+

UAH Smartphone Programming (CPE 490/590)

Summer 2015By: Michael T. Shrove

Page 2: Course overview   1

+Michael T. Shrove (Tommy)

B.S. Computer Engineering

M.S. Software Engineering

*Ph.D. Computer Engineering

Software Engineering Manager at COLSA Corp.

iOS Development (7 yrs)

Android Development (5 yrs)

Software Development (11 yrs)

Education Professional

Certifications: Certified Ethical Hacker (CEH) Certified Information Security Specialist Professional (CISSP) Certified Penetration Tester (CPT) Tenable Nessus Certified Auditor (TCNA)

Page 3: Course overview   1

+

Apps I’ve developed

Page 4: Course overview   1

+Twisted Pair

Page 5: Course overview   1

+mUAHealth

Page 6: Course overview   1

+Petwinkwww.petwink.com

Page 7: Course overview   1

+MBMT (My Body My Trainer)http://www.mybodymytrainer.com

Page 8: Course overview   1

+

About meHobbies: Running, Church, Teaching, My Dogs, Squatchin’

Favorite Platform: iOS

Favorite App: Wunderlist

Page 9: Course overview   1

+Tell me about yourself

Name

Degree (B.S, M.S., or Ph.D)

Hobbies (Stuff you like to do)

Mobile Development Experience

Favorite App

Favorite Platform

Page 10: Course overview   1

+Course Overview

Page 11: Course overview   1

+What will you learn in this course?

How to develop and distribute mobile apps?

Basic knowledge of both iOS and Android development

Learn Swift and Java

Learn basic UI skills

Page 12: Course overview   1

+What should I know?

You should be good at object oriented programming (OOP)

Both Swift and Java are nothing but objects.

You should know pointers if you plan to develop with iOS.

If you develop in Android, you should know XML.

Page 13: Course overview   1

+Fast Paced Class

A lot of information to cover in 10 weeks.

Learn 2 platforms in 10 weeks.

Not information time in class to learn everything in Mobile development.

Try to learn outside the course.

If you want to be taught something, please let me know.

Page 14: Course overview   1

+Prerequisites

CPE StudentsCPE 212 (Fundamentals of Software

Engineering)

OthersTeacher approval

Page 15: Course overview   1

+Grading

Labs – 15%

Paper – 5%

Homework – 25%

Project – 40%

Final Presentation – 15%

Page 16: Course overview   1

+What am I missing?

Page 17: Course overview   1

+Paper

1st Assignment

3-4 Pages long (paper.len > 3 pgs && paper.len < 4 pgs)

IEEE format

Pick your topic from three topics (on Canvas)

Be creative!!!!!

Due June 6th

Page 18: Course overview   1

+Homework

2-3 Homework assignments

Each will be developing an app for the mobile operating system of your choice (Android or iOS).

I will (try) give you the assignment 2 weeks before it is due.

Page 19: Course overview   1

+Choice of Mobile Platform

What do I mean choice of mobile OS of your choice?

If you choose Android, all equipment to develop applications will be provided.

If you choose iOS, the school will not provide equipment for develop. You are responsible for providing you own equipment.

Page 20: Course overview   1

+Final Project

The project will be a “semester long project”.

Basically it will be a “4th homework” assignment of your choice.

You will develop an app of your choice.

Present to me the project before working on it.

Page 21: Course overview   1

+Final Presentation

The presentation will be presenting your app to the class.

Project can be group project (1-2 people)

Graduate students need to incorporate a sensor (ex. camera, bluetooth, accelerometer, wearable)

Professor we have app idealist come in to present their ideas of apps.

Page 22: Course overview   1

+Quizzes (return !graded;)

Just want to use mobile tech in the classroom.

We will use canvas for these quizzes.

You can also use the canvas app.

Page 23: Course overview   1

+Office Hours

I do not have official office hours.

Office Hours can be by appointment

Office hours may be provided through Google+ Hangouts.

Page 24: Course overview   1

+Questions?

Page 25: Course overview   1

+Smartphone Videos

https://www.youtube.com/watch?v=tJckXMELAac

https://www.youtube.com/watch?v=LjECnGgxAmw

Page 26: Course overview   1

+

Introduction to Smartphone

Page 27: Course overview   1

+What is Android?

Android is a linux based operating system for mobile devices.

Introduced by Android Inc.

Bought by Google in 2005

Maintained by Android Open Source Project (AOSP)

Released in Android 1.0 in 2008

Page 28: Course overview   1

+Android History

2.0 - Eclair, Froyo, Gingerbread Designed specifically for smartphones

3.0 - Honeycomb Designed for tablets and bigger

screen devices

4.0 - Ice Cream Sandwich Integrated honeycomb features into

smartphones

4.1 – 4.3 - Jelly Bean

4.4 – KitKat

5.0 - Lollipop

https://www.android.com/intl/en_us/history/

Page 29: Course overview   1

+Android Versions

Page 30: Course overview   1

+Android Architecture

Kernel base on Linux kernel

Middle, API, and libraries written in C

Application software using Application Framework

written in Java

Page 31: Course overview   1

+Android Architecture

Page 32: Course overview   1

+Android “App Stores”

Google Android Market

Hosted by Google

Only allows Google “certified” devices.

Other Markets

GetJar

SlideMe

Appszoom

CNET

Amazon Appstore for Android

http://joyofandroid.com/android-app-store-alternatives/

Page 33: Course overview   1

+What is an Android Emulator?

The Android SDK includes a mobile device emulator

A virtual mobile device that runs on your computer.

The emulator lets you develop and test Android applications without using a physical device.

The emulator lets you prototype, develop and test Android applications without using a physical device.

http://developer.android.com/tools/devices/emulator.html

Page 34: Course overview   1

+Install tools for Android Development

https://developer.android.com/sdk/index.html

Install the SDK https://developer.android.com/sdk/installing/index.html

Recommended Installation http://developer.android.com/sdk/installing/studio.html

Page 35: Course overview   1

+What is Android Studio?

Android Studio is a new Android development environment based on IntelliJ IDEA.

Similar to Eclipse with the ADT Plugin, Android Studio provides integrated Android developer tools for development and debugging. On top of the capabilities you expect from IntelliJ.

http://developer.android.com/tools/studio/index.html

Page 36: Course overview   1

+Android Studio Checklist

Show the interface

Creating Emulator

How to debug

Create Android Virtual Device (AVD)

Create first project

Page 37: Course overview   1

+Questions?

Page 38: Course overview   1

+What is iOS

Mobile Operating System

Created and maintained by Apple Inc.

Original called iPhone OS

OS for iPhone, iPad, iPod Touches, and Apple TV

Apple unveiled in January ’07

Unix-like

Page 39: Course overview   1

+Version History

1.0 - iPhone

2.0 - iPhone, iPod Touch introduced App Store

3.0 - iPhone, iPod Touch, iPad

4.0 - Introduced the iDevices to Verizon

5.0 - PC Free, iCloud, iMessaging

6.0 - Siri, Social Network Integration, iPhone 5 support

7.0 – New look (moves away from skeuomorphism)

8.0 – Health focused (Healthkit), iPhone 6 plus, Swift, Apple Watch

Page 40: Course overview   1

+iOS

Page 41: Course overview   1

+iOS Design / Architecture

Kernel is based on Hybrid XNU

Higher layers are for object-oriented abstractions for lower layer constructs

Lower layers written in C

Applications layers are written in Objective-C and Swift

Page 42: Course overview   1

+iOS Architecture

Cocoa-TouchAPI for running applications on iOS devices.

MediaThe graphics, audio, and video technologies.

Core ServicesProvides the fundamental data types and essential services that

underlie both the Cocoa and Carbon environments for both Mac

OSX and iOS.

Core OS

Page 43: Course overview   1

+iOS Architecture in-depth

Page 44: Course overview   1

+Installing Tools for iOS Development

Xcode

Development Tutorials and Help http://developer.apple.com/devcenter/ios/index.action

Install Xcode http://developer.apple.com/xcode/index.php Download from Mac App Store

Page 45: Course overview   1

+What is Xcode?

Apple IDE for developing MacOSX and iOS Apps

https://developer.apple.com/xcode/ide/

Page 46: Course overview   1

+Components of Xcode

Xcode IDE Integrated development environment (IDE) that enables

you to manage, edit, debug your projects.

iOS Simulator Provides a software simulator to simulate an iPhone or an

iPad on your Mac.

Interface Builder Visual editor for designing user interfaces for your iPhone

and iPad applications.

Page 47: Course overview   1

+iOS Checklist

Downloading and Installing Xcode

Xcode

Simulator

Creating 1st iOS Project

Page 48: Course overview   1

+Wearables (Android & iOS)

Wearables - are clothing and accessories incorporating computer and advanced electronic technologies

Examples Smart Watches Activity Trackers Smart Glasses Headsets

Page 49: Course overview   1

+Apple Watch (Wearable)

Developed by Apple, Inc.

Fitness tracking, health tracking, and iOS integration

Released on April 24, 2015

Page 50: Course overview   1

+Android Wear

Android Wear is a version of Google's Android operating system designed for smartwatches and other wearables.

Released on March 18, 2014

http://www.android.com/wear/

Page 51: Course overview   1

+Quiz Time!!!

Use Canvas Website: https://uah.instructure.com App

Page 52: Course overview   1

+Questions?