Course overview 1

Post on 17-Aug-2015

14 views 0 download

Tags:

Transcript of Course overview 1

+

UAH Smartphone Programming (CPE 490/590)

Summer 2015By: Michael T. Shrove

+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)

+

Apps I’ve developed

+Twisted Pair

+mUAHealth

+Petwinkwww.petwink.com

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

+

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

Favorite Platform: iOS

Favorite App: Wunderlist

+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

+Course Overview

+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

+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.

+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.

+Prerequisites

CPE StudentsCPE 212 (Fundamentals of Software

Engineering)

OthersTeacher approval

+Grading

Labs – 15%

Paper – 5%

Homework – 25%

Project – 40%

Final Presentation – 15%

+What am I missing?

+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

+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.

+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.

+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.

+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.

+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.

+Office Hours

I do not have official office hours.

Office Hours can be by appointment

Office hours may be provided through Google+ Hangouts.

+Questions?

+Smartphone Videos

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

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

+

Introduction to Smartphone

+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

+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/

+Android Versions

+Android Architecture

Kernel base on Linux kernel

Middle, API, and libraries written in C

Application software using Application Framework

written in Java

+Android Architecture

+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/

+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

+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

+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

+Android Studio Checklist

Show the interface

Creating Emulator

How to debug

Create Android Virtual Device (AVD)

Create first project

+Questions?

+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

+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

+iOS

+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

+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

+iOS Architecture in-depth

+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

+What is Xcode?

Apple IDE for developing MacOSX and iOS Apps

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

+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.

+iOS Checklist

Downloading and Installing Xcode

Xcode

Simulator

Creating 1st iOS Project

+Wearables (Android & iOS)

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

Examples Smart Watches Activity Trackers Smart Glasses Headsets

+Apple Watch (Wearable)

Developed by Apple, Inc.

Fitness tracking, health tracking, and iOS integration

Released on April 24, 2015

+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/

+Quiz Time!!!

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

+Questions?