Object-Oriented Coding for Mobile Development (Java) (OOCMobDev)

5 days

Course Description

Java is the development language of choice for many of today's consumer products as well as major websites. Because of its enormous popularity it was also chosen as the foundational language for Google's popular Android technology. This course will introduce the student to the basics of Object-Oriented Programming (OOP) as well as understanding the syntax, terminology and class libraries behind Java. The course begins with basic concepts and, after understanding how Java communicates across the internet, finishes with the building of a simple Android application. It will also serve as a transition to our Android App Development course.


Practical working knowledge of Mac OS X or Windows.

Course Outline:

Note: The curricula below comprise activities typically covered in a class at this skill level. The instructor may, at his/her discretion, adjust the lesson plan to meet the needs of the class.

Day 1

Lesson 1: Getting Started with Java

  • Object-Oriented Programming
  • Objects and Classes
  • Attributes and Behavior
  • Organizing Classes and Class Behavior

Lesson 2: The ABCs of Programming

  • Statements and Expressions
  • Variables and Data Types
  • Comments
  • Literals
  • Expressions and Operators
  • String Arithmetic

Lesson 3: Working With Objects

  • Creating New Objects
  • UsingClass and Instance Variables
  • Calling Methods
  • References to Objects
  • Casting Objects and Primitive Types
  • Comparing Object Values and Classes

Lesson 4: Lists, Logic and Loops

  • Arrays
  • Block Statements
  • If Conditionals
  • Switch Conditionals
  • The Ternary Operator
  • For Loops
  • While and Do Loops
  • Continuing and Breaking Out of Loops

Day 2

Lesson 5: Creating Classes and Methods

  • Defining Classes
  • Creating Instance and Class Variables
  • Creating Methods
  • Creating Methods with the Same Name
  • Constructors
  • Overriding Methods

Lesson 6: Packages, Interfaces and Other Class Features

  • Modifiers
  • Static Variables and Methods
  • Final Classes, Methods and Variables
  • Abstract Classes and Methods
  • Packages
  • Creating Your Own Packages
  • Interfaces
  • Creating and Extending Interfaces
  • Inner Classes

Lesson 7: Exceptions and Threads

  • Exceptions
  • Managing Exceptions
  • Declaring Methods that Might Throw Exceptions
  • Creating and Throwing Your Own Exceptions
  • When to Use Exceptions
  • Threads

Lesson 8: Data Structures

  • Moving Beyond Arrays
  • Java Structures
  • Generics

Day 3

Lesson 9: Working with Swing

  • Creating an Application
  • Working with Components
  • Lists
  • Swing Features

Lesson 10: Arranging Components on a User Interface

  • Basic Interface Layout
  • Mixing Layout Managers
  • Card Layout
  • Grid Bag Layout

Lesson 11: Responding to User Input

  • Event Listeners
  • Working with Methods

Day 4

Lesson 12: Creating Java2D Graphics

  • The Graphics2D Class
  • Drawing Text
  • Color
  • Drawing Lines and Polygons

Lesson 13: Developing Swing Applications

  • Java Web Start
  • Using Java Web Start
  • Improving Performance with SwingWorder

Lesson 14: Working with Input and Output

  • Streams
  • Byte Streams
  • Filtering a Stream
  • Character Streams
  • Files and Paths

Lesson 15: Serializing and Examining Objects

  • Object Serialization
  • Inspecting Classes and Methods with Reflections

Day 5

Lesson 16: Communicating Across the Internet

  • Java Networking
  • The java.nio Package

Lesson 17: Accessing Databases with JDBC 4.1 and Derby

  • Java Database Connectivity

Lesson 18: Reading and Writing RSS Feeds

  • Using XML
  • Designing an XML Dialect
  • Processing XML with Java
  • Processing XML with XOM

Lesson 19: XML Web Services

  • Introduction to XML-RPC
  • Communicating with XML-RPC
  • Choosing an XML-RPC Implementation
  • Using an XML-RPC Web Service
  • Creating an XML-RPC Web Service

Lesson 19: Writing a Simple Android App with Java

  • Writing an Android App
  • Running the App