Course overview 1
-
Upload
michael-shrove -
Category
Documents
-
view
14 -
download
0
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/
+Questions?