Mobile Application Development Certificate Program
Mobile Application Development Certificate Program
Mobile Application Development Certificate Program
- What is The Certificate
- Accredited Organization
- Target Audience
- Program Objectives
- Why Campus
- Program Certification
- Outlines
- Fees/Tuition
- Duration/Schedule
- Instructors/Lecturer
– More people access the web via mobile devices than from personal computers. As the number of devices expands dramatically, users are becoming accustomed to having both web and computing access via small, mobile devices and phones.
– This has resulted in a significant increase in demand for developers with experience using multiple platforms such as iOS, Android, and Windows Phone.
– At the same time, the growth in popularity of cloud computing has increased the ability for these devices to perform functions that previously required computation power unavailable on mobile devices.
Certificate of Achievement will be awarded to those who faithfully attend, participate and successfully complete the Course.
This program is intended for individuals interested in the design, development, or use of mobile device applications, games, or utilities. It will benefit those who wish to distinguish themselves across a wide range of employment and technical disciplines within the rapidly expanding field of mobile application development.
– Training 65 credits hours.
– Re-attend the program free.
– Training materials and references, notes and more for questions.
– Free Membership and Membership Benefits.
– Free Recruitment for one year.
– Review each lecture.
– Practice for each lecture.
– A certificate of attendance .
Certificate of attendance for the course, Accredited by Campus Institute.
– Certificate of attendance ” Introduction to Java ”
– Certificate of attendance ” Introduction to Android Development ”
– Certificate of attendance ” Intermediate , Android Development ”
– Certificate of attendance ” Advanced , Securing Android Applications “
(Course I ) Introduction to Java
Class Overview:
This Java training course is intended for students without an extensive programming background. It covers most Java syntax elements, concentrating on fundamental and universally useful elements, while providing an overview of many more advanced elements. Students will learn to write useful Java classes, applying Object-Oriented concepts such as inheritance, and create Java programs that work with these classes.
Early in the class the concept of objects is introduced so that later concepts can be discussed from the perspective of object orientation. The class is based on Java 1.5 and 1.6, but most concepts would apply in 1.4 as well.
Class Goals:
– Learn how Java works.
– Understand the “write once, run anywhere” concept.
– Understand and learn how to create basic Java objects.
– Learn how to implement flow-control concepts in Java.
– Understand Java’s package concept and create packages of Java classes.
– Understand Java arrays and write code to create and use arrays.
– Learn how to write Java classes using inheritance.
– Learn how to create and use interfaces.
– Understand and use the concept of polymorphism in an application
– Understand how Java’s exception-handling mechanism works and learn how to apply exception-handling to Java applications.
– Understand and use inner classes.
– Learn how to use elements from the Java API library, including the Collections classes.
Class Outline:
* Java Introduction:
– Conventions in These Notes
– The Java Environment – Overview
– Writing a Java Program
– Obtaining The Java Environment
– Setting up your Java Environment
– Creating a Class That Can Run as a Program
– The main Method
– Useful Stuff Necessary to go Further
– System.out.print
– Using the Java Documentation
* Java Basics:
A ) Basic Java Syntax
– General Syntax Rules
– Java Statements
– Blocks of Code
– Comments
– Variables
B ) Data
– Primitive Data Types
– Object Data Types
– Literal Values
– Constants and the final keyword
C ) Mathematics in Java
– Expressions
– Operator Precedence
– Multiple Assignments
– Order of Evaluation
– Bit wise Operators
– Compound Operators
– Expressions that Mix Data Types: Typecasting
D) Creating and Using Methods
– Creating Methods
– Variable Scope
* Java Objects:
A) Objects
– Object-Oriented Languages
– Object-Oriented Programs
– Encapsulation
– Creating and Using an Instance of an Object
– References
– Defining a Class
– Java Beans
– Constructors
– Method Overloading
– The this Keyword
– Static Elements
– Garbage Collection
– Java Packages
– Dealing with Keyboard Input
B) String, String Buffer, and String Builder
C) Creating Documentation Comments and Using java doc
* Comparisons And Flow Control Structures:
A) Controlling Program Flow
– Boolean-Valued Expressions
– Complex Boolean Expressions
– Simple Branching
– Two Mutually Exclusive Branches
– Nested if… else Statements – Comparing a Number of Mutually Exclusive Options
– Comparing a Number of Mutually Exclusive Options – The switch Statement
– Comparing Objects
– Conditional Expression
– while and do. . .while Loops
– for Loops
B) Additional Loop Control: break and continue
– Breaking Out of a Loop
– Continuing a Loop
C) Class path, Code Libraries, and Jar files
– Using CLASS PATH
– Creating a jar File (a Library)
* Arrays:
A) Arrays
– Defining and Declaring Arrays
– Instantiating Arrays
– Initializing Arrays
– Working With Arrays
– Array Variables
– Copying Arrays
– Arrays of Objects
B) Enhanced for Loops – the For-Each Loop
C) Multidimensional Arrays
– Multidimensional Arrays in Memory
– Example – Printing a Picture
D) Typecasting with Arrays of Primitives
* Inheritance
A) Inheritance
– Payroll with Inheritance
– Derived Class Objects
B) Polymorphism
– Inheritance and References
– Dynamic Method Invocation
C) Creating a Derived Class
– Inheritance and Access
– Inheritance and Constructors – the super Keyword
– Derived Class Methods That Override Base Class Methods
– Inheritance and Default Base Class Constructors
– The Instantiation Process at Runtime
D) Example – Factoring Person Out of Employee and Dependent
E) Typecasting with Object References
– Typecasting, Polymorphism, and Dynamic Method Invocation
– More on Overriding
– Object Typecasting Example
– Checking an Object’s Type: Using instance of
– Typecasting with Arrays of Objects
F) Other Inheritance-Related Keywords
– Abstract
– Final
G) Methods Inherited from Object
* Interfaces
A) Interfaces
B) Creating an Interface Definition
C) Implementing Interfaces
– Implementing Interfaces – Example
D) Reference Variables and Interfaces
– Calling an Interface Method
E) Interfaces and Inheritance
F) Some Uses for Interfaces
– Interfaces and Event-Handling
– Interfaces and “Plug gable Components”
* Exceptions
A) Exceptions
– Handling Exceptions
– Exception Objects
B) Attempting Risky Code – try and catch
C) Guaranteeing Execution of Code – the finally Block
D) Letting an Exception be Thrown to the Method Caller
E) Throwing an Exception
F) Exceptions and Inheritance
– Exception Class Constructors and Methods
G) Creating and Using Your Own Exception Classes
H) Re throwing Exceptions
I) Initialize Blocks
– Static Initialize Blocks
– Assertions
* Generics and Collections
A) Fundamental Collections: Sets, Lists, and Maps
B) Iterators
C) Creating Collectible Classes
– Hash Code and equals
– Comparable and Comparators
D) Generics
– Basic Generics Syntax
– Bounded Types and Wildcards
* Inner Classes
A) Inner Classes, aka Nested Classes
– Inner Class Syntax
– Instantiating an Inner Class Instance from Within the Enclosing Class
– Inner Classes Referenced from Outside the Enclosing Class
– Working with Inner Classes
(Course II ) Introduction to Android Development
Class Overview:
This course is intended for experienced developers who wish to learn how to develop applications for the Android operating system from Google. Students will build various small example app, service, and widget projects and also work up larger case-study applications involving various UI-design techniques.
While this is an introductory course, we make a point of focusing on practical concerns faced by the corporate IT developer. The primary case-study application connects popular mobile features such as maps and multimedia with a RESTful web service and a JPA persistence tier that connects to a fully-worked enterprise database (15 tables, 998 rows). The mobile side of the application includes 47 Java classes and 8 distinct activities. Supporting applications provide overlapping exercise in key techniques such as using asynchronous tasks, communicating with external applications, and error-handling.
Class Goals:
– Describe the Android OS architecture.
– Install and use appropriate tools for Android development, including IDE, device emulator, and profiling tools.
– Understand the Android application architecture, including the roles of the task stack, activities, and services.
– Build user interfaces with fragments, views, form widgets, text input, lists, tables, and more.
– Use advanced UI widgets for scrolling, tabbing, and layout control.
– Present menus via the Android action bar and handle menu selections.
– Store application data on the mobile device, in internal or external storage locations.
– Support user-specific preferences using the Android Preferences API.
Class Prerequisites:
* Experience in the following areas is required:
– Java programming experience is required;
– Exposure to related technology including web applications, user-interface design, SQL, XML, and web services, all are beneficial but none are required.
Class Outline:
* The Android Operating System
– Mobile Form Factors
– Versions of Android
– Applications and APK Files
– Process Architecture
– The Role of Java
– Hello, Dalvik
– What’s In, What’s Out
– Services
– User Interface
– Memory and Storage
– Operating-System Services
– Inter-Process Communication
*Android Development
– The Android SDK
– The SDK and AVD Managers
– Configuring the Emulator
– Eclipse
– Resources
– APK Files
– Build Process
– The R Class
– Assets
– The Dalvik Debug Monitor Server
– The Android Debugger (adb)
– Command Shells
– The Android Log and LogCat
– Ant
* Applications
– Activities and Fragments
– Activity Life cycle
– The on Create Method
– Layouts and Views
– The find View ById Method
– Tasks and the “Back Stack”
– Intents and Results
– Start Activity and Related Methods
– Custom Application Classes
– Shared Application State
* User Interface Design
– XML Layouts
– Layout Parameters
– The Box Model
– Gravity
– The Layout Inflate Service
– The <Linear Layout>
– The <Relative Layout>
– Views and Adapters
– Form Widgets
* Fragments and Multiform Design
– The Fragments API
– Fragment Life cycle
– Relationship Between Activity and Fragment
– Possible Cardinality
– Communication between Activity and Fragment
– Fragment Arguments
– Callback Interfaces
– Designing for Multiple Form Factors
– Fragments on the Back Stack
* Views, Adapters, and Dialogs
– Styles and Themes
– <include> and <merge>
– View Orientation
– Adapters
– Dialog Fragments
– Showing and Managing Dialogs
– Using Alert Dialog
* Working with Text
– The <Text View>
– The <Edit Text>
– Input Methods
– Input Types: Phone, E-mail, Date, Time …
– Date Picker and Time Picker
– Date- and Time-Picking Dialogs
– Providing Auto-Completion
– Using the Clipboard
* Working with Lists
– Adapter View and Subclasses
– Adapter and Sub interfaces
– List View and List Adapter
– List Fragment
– Spinner and Spinner Adapter
– Handling Item Selection
– Custom Adapters
– Expandable List View and Expandable List Adapter
* Working with Tables
– The <Table Layout> and <Table Row>
– Defining Table Cells
– Static Table Layouts
– Dynamic Tables
– Binding Data
– Using a Template Row
– Managing IDs
* Graphics and Low-Level Events
– Drawing on a Canvas
– The Paint Object
– Handling Size and Orientation Changes
– Handling Touch Events
– Working with Drawable
– Shape Drawable
– Bitmap Drawable
– 9-Patch Bitmaps
– Custom Drawable
– The Drawing Cache and Working with Bitmaps
* Menus and the Action Bar
– Options and Context Menus
– The Action Bar
– Menu Resources
– The Menu Inflate Service
– The <Menu>
– The Menu and Menu Item Classes
– Handling Menu Selections
– The Escape from switch/case!
– Using a Dispatch Map
– Building Menus Dynamically
* Local Storage
– The Android File System
– Internal Storage
– File Formats
– Parsing JSON
– Storage and the Application Life cycle
– External Storage
– Private Storage vs. Public Media
– Permissions
– Checking for Availability
– Preferences
– Preferences Resources
– The Preferences Fragment
– The Preferences Manager
– Reading Preferences
(Course III) Intermediate Android Development
Class Overview:
Like its precursor, this course focuses on practical concerns faced by the corporate IT developer. The primary case-study application connects popular mobile features such as maps and multimedia with a RESTful web service and a JPA persistence tier that connects to a fully-worked enterprise database (15 tables, 998 rows). The mobile side of the application includes 47 Java classes and 8 distinct activities. Supporting applications provide overlapping exercise in key techniques such as using asynchronous tasks, communicating with external applications, and error-handling.
Class Goals:
Store app-specific information in SQ Lite databases.
Make remote connections using HTTP, XML, and JSON, and take advantage of mapping and other web services.
Implement background work as asynchronous tasks.
Implement Android services for asynchronous notification, and integrate these services with applications.
Invoke external applications and services using implicit intents.
Manage audio, photo, and video content, and integrate built-in media applications in your own Android applications.
Integrate map views into your application, and provide custom overlays of map markers and other information.
Publish to app markets.
Class Prerequisites:
* Experience in the following areas is required:
– Java programming experience is required;
– Introductory knowledge of Android programming is required:
– Exposure to related technology including web applications, user-interface design, SQL, XML, and web services, all are beneficial but none are required.
Class Outline:
* Database Storage
Sq-lite
– The SQ Lite Database Class
– The SQ Lite Open Helper Class
-Installing Databases
– The query Methods
– Using Cursors
– Database Updates
* Networking and Web Services
– java.net
– Android.net
– Apache Http Client
– Consuming RESTful Web Services
– Building URLs
– Parsing JSON
– Parsing XML
– Connected Applications
– Offline Operation and Server Synchronization
* Asynchronous Tasks
– The UI Thread
– Background Tasks
– Loppers and Handlers
– Using A sync Task
– Using Progress Dialog
– Error Handling
*Services
– The Roles of Services
– Invoking a Service
– Do’s and Don’t
– Communication with the Application
– Communication with Activities
– Sending Notifications
– Pending Intents
– Down loaders
– Polling Web Services
Inter-Process Communication
– Breaking Out
– Using the Clipboard
– Linking Text
– Implicit Intents
– Invoking Built-In Applications and Services
– Accepting Implicit Intents
– Passing Data
– MIME Types
* Multimedia
– Playing Sounds
– Haptic Feedback (Vibrating)
– Managing Images
– Storage and Retrieval
– Invoking the Camera
– Invoking the Media Recorder
– Gallery and other Image Views
* Location Services and Maps
– Location Services
– Location Notifications
– The Google Maps API
– License Terms and Maps API Keys
– Map View and Map Activity Classes
– Configuring a Map
– Controlling a Map
– Events
– Projections
– Map Overlays
– Item Overlays
– Custom Overlays
*Publishing
– The App Market
– Preparing Your App
– Debug vs. Release Builds
– Signing an APK File
– Publishing Your Application
– Application Metadata
– Updates and Support
(Course IV ) Securing Android Applications
Class Overview:
This course explores the Android mobile operating system from the perspective of user, application, and server security; and shows experienced Android developers how to apply best practices to secure their applications.
Class Goals:
– Understand the security characteristics of mobile computing, and the Android OS in particular.
– Manage application data in a secure fashion.
– Apply appropriate safeguards over entry points to applications, including intent filters, bound services, and broadcast receivers.
– Use cryptography as appropriate, especially in remote communications.
– Manage user credentials, including passwords and issued tokens.
Class Prerequisites:
* Experience in the following areas is required:
– Java programming experience is required;
– Introductory knowledge of Android programming is required:
– We recommend intermediate Android programming in advance of this course
Class Outline:
* Mobile OS Security
– Vulnerabilities of Mobile Systems
– Security Overview of Android
– For Comparison: iOS
– Analysis and Areas of Concern
– Digital Signature of Applications
– Rooted Devices
– Click jacking
– Best Practices
– The OWASP Mobile Top 10
* Application Security
– Permissions
– Custom Permissions
– Security Configuration
– Storage Models
– Internal Storage
– USB, Bluetooth, WiFi, and External Media
– File System Security
– Encrypted File Systems
– Injection Vulnerabilities
– Inter-Process Communication
– Guarding IPC Entrances
– Services and Broadcast Receivers
Logging
* Remote Connectivity:
– Remote Connections from Mobile Devices
– The INTERNET Permission
– HTTP and HTTPS Communication
– Key stores and Cryptography
– Username/Password Log in
– Managing Credentials
– HMACs
– Managing Token Pairs
Course Features
- Duration 50 hours
- Activities Others