Chat with an Advisor Request Information

Computer Technology Programs ►Java Programming Specialist Certificate Program with Externship

Program includes National Certification & an Externship Opportunity

The Java Programming Specialist

Professional web developers work to build and maintain high-end websites for a multitude of clients. Specialists who work in this field aren't just webmasters, but rather have the technical capability to write custom scripts that will accommodate clients’ needs. Web developers require professional training, certification and experience working in different programming codes, and scripting languages. The Oracle Certified Associate, Java SE 5 / SE 6 certification provides an ideal entry into an application development or a software project management career using Java technologies. This worldwide credential validates basic knowledge of Object-Oriented (OO) Concepts, UML representation of OO concepts, the Java programming language, and general knowledge of Java Platforms and Technologies. Candidates for this exam include entry level Java programmers, students studying to become Java programmers, as well as project or program managers working with Java technology in the software development industry.

The Java Programming Specialist Program

Recognizing the need for skilled developers, the Java Programming Specialist program provides a platform to produce skilled developers with the ability to take into account the client's needs and vision along with the target market to create a website and accompanying mobile applications. Students who complete this program will work through hands-on exercises and labs using real Java code. Additionally, the certification exams validate students’ capabilities using real-world, scenario-based questions that assess and challenge students’ ability to perform as experienced web developers.

Program Objectives

At the conclusion of this program, students will be able to:

  • Solve simple problems using the fundamental syntax and semantics in Java
  • Examine elementary techniques in Java programming
  • Write Java programs that use selection, loops, methods for transfer of control and arrays
  • Examine object-oriented programming using objects and classes, including immutable
  • Write Java programs that use inheritance and polymorphism
  • Extend error handling techniques by adding exception handlers to Java programs
  • Design generic classes and interfaces to improve code reusability
  • Use the Java Collections Framework in a Java program
  • Distinguish between the Java platforms and Java integration technologies
  • Describe Java’s server-side technologies and application tiers
  • Understand the history of Java in the Open Source movement
  • Explain Java’s role in the Open Source movement and cutting edge technologies
  • Identify common characteristics shared by Open Source communities and guidelines for successful participation in them
  • Use Microsoft Office


  • Explain computer basics, programs, and operating systems
  • Represent numbers in binary, decimal, and hexadecimal
  • Explain the relationship between the Java programming language and the World Wide Web
  • Distinguish the terms application programming interface (API), integrated development environment (IDE), and Java Development Kit (JDK)
  • Revise a simple Java program
  • Use built-in Java library calls to display output on the console
  • Create, compile, and execute Java programs
  • Explain the basic syntax of Java necessary to write a simple program


  • Write Java programs to perform simple calculations
  • Use identifiers to name variables, constants, methods, and classes Use variables to store data Write a program with assignment statements and assignment expressions Use constants to store permanent data Write expressions that declare Java primitive data types: byte, short, int, long, float, double, boolean, and char Use Java operators to write numeric expressions Represent characters using the "char" type Represent a string using the "String" type Use the Scanner class to obtain input from the console Describe Java documentation, programming style, and naming conventions Distinguish syntax errors, runtime errors, and logic errors Debug logic errors


  • Write expressions that declare "boolean" type, and use boolean values true and false
  • Apply relational operators (<, <=, ==, !=, >, >+) and logic operators (!, &&, ||, ^) to write boolean expressions
  • Describe the use of boolean expressions to control selection statements
  • Use if and nested if statements to implement selection control
  • Use switch statements to implement selection control
  • Write expressions using the conditional operator
  • Format output and strings using the "System.out.printf" method and the "String.format" method, respectively
  • Explain the rules governing operator precedence and associativity


  • Describe the use of boolean expressions to control loop statements
  • Use "while", "do-while", and "for" loop statements to control the repetition of statements
  • Differentiate among the three types of loops
  • Write nested loops
  • Describe the flow of control in loop statements
  • Use break and continue to implement program control


  • Write expressions that define, invoke, and pass arguments to methods
  • Write reusable code
  • Create new methods from existing methods using "overloading"
  • Design and implement overloaded methods
  • Determine the scope of variables
  • Explain how to use the methods in the Math class
  • Employ the concept of method abstraction
  • Design and implement methods using stepwise refinement


  • Explain why arrays are necessary in programming
  • Describe the steps involved in using arrays including declaring array reference variables and creating arrays
  • Use indexed variables to initialize the values in an array and access array elements
  • Use the "for-each" loops to simplify programming
  • Develop and invoke methods with array arguments and return value
  • Write expressions to declare a method with variable-length argument lists
  • Use the linear or binary search algorithm to search elements
  • Use the selection sort to sort an array
  • Use the insertion sort algorithm to sort an array
  • Use the methods in the Arrays class
  • Write expressions to declare and create two-dimensional arrays
  • Write expressions to declare and create multidimensional arrays
  • Use an "Array List" to store, retrieve, and manipulate objects
  • Describe objects and classes, and use classes to model objects
  • Use Unified Modeling Language (UML) graphical notations to describe classes & objects
  • Write expressions that declare a class and create an object from a class
  • Create objects using constructors
  • Distinguish between object reference variables and primitive data type variables
  • Distinguish between instance and static variables and methods
  • Write expressions that declare private data fields with appropriate get and set methods
  • Write expressions that encapsulate data fields to make classes easy to maintain
  • Differentiate between primitive-type arguments and object-type arguments
  • Store and process objects in arrays


  • Create immutable objects from immutable classes to protect the contents of objects
  • Determine the scope of variables in the context of a class
  • Use the keyword "this" to refer to the object itself
  • Apply class abstraction to develop software
  • Explain the differences between the procedural paradigm and object-oriented paradigm
  • Design programs that adhere to the object-oriented paradigm


  • Use inheritance to develop a subclass from a superclass
  • Describe a superclass and how it uses constructors and methods
  • Illustrate overriding instance methods in the subclass
  • Explain the role of polymorphism, dynamic binding, and generic programming in object-oriented programming
  • Use the protected visibility modifier to restrict access to data and methods
  • Use the "final" modifier to prevent class extending and method overriding


  • Explain immutability and scope of variables
  • Use the concatenation ( + ) operator with strings
  • Develop code using methods from class String
  • Define encapsulation and information hiding
  • Use Java command-line tools (javap)
  • Use arrays to manage a series of variables
  • Explain the difference between the String == operator and the String method equals
  • Use regular expressions with String
  • Distinguish immutable classes from nonimmutable classes
  • Explain thread safety and the difference between StringBuffer and StringBuilder
  • Explain regular expressions and use string methods that require them
  • Recognize extensible markup language (XML) and how regular expressions are used by XML applications such as XPath


  • Explore software design using Java
  • Express software designs visually using UML
  • Distinguish types of class compositions and associations, including one-to-one, one-to-many, many-to-many, and association navigation
  • Develop code that uses interfaces and inheritance, and abstract classes and subclasses
  • Use UML to illustrate classes, inheritance, attributes and operations, class associations and compositions, and association multiplicity indicators and association navigation indicators
  • Develop code that uses polymorphism


  • Explain serialization and deserialization in Java
  • Recognize JAXB and JAXB annotations in Java code
  • Develop code that follows the JavaBeans coding guidelines
  • Explain the difference between JavaBeans and POJOs, and explain the purpose of the JavaBeans coding conventions—setters and getters
  • Understand good versus bad programming habits, and when to use public, private, and protected scope modifiers
  • Describe at a high level the benefits and basic characteristics of Remote Method Invocation (RMI)


  • Develop code that uses polymorphism for both classes and interfaces
  • Recognize code that uses the program-to-an-interface principle
  • Explain the value of polymorphism as it relates to code reuse and application extensibility
  • Develop code that uses polymorphism
  • Describe the purpose of packages in the Java language
  • Recognize the proper use of import and package statements
  • Demonstrate the proper use of the javac command, including the command-line options -d and ¬-classpath
  • Demonstrate the proper use of the java command, including the command-line options -classpath, -d, and ¬-version


  • Explain the purpose of design patterns and how design patterns apply the program-to-an-interface principle
  • Recognize common design patterns and write Java code that applies design patterns
  • Distinguish the basic characteristics of the three Java platforms: J2SE, J2ME, and J2EE
  • Select the appropriate Java platform or platforms
  • Recognize the current trends in computer programming and how Oracle is positioning Java to compete in an always-connected world
  • Explain the current state and future evolution of the Java platforms


  • Describe the basic characteristics of servlets, JavaServer Pages, and servlet and JavaServer Pages support for hypertext markup language thin clients
  • Describe the basic characteristics, benefits, drawbacks, and deployment issues related to creating thin clients using the hypertext markup language and JavaScript
  • Describe the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat clients using applets
  • Describe the basic characteristics, benefits, drawbacks, and deployment issues related to creating fat clients using Swing
  • Explain the basic concepts of relational database management systems
  • Compare and contrast the most common pay-for, shareware, and free relational database management system solutions available today


  • Describe the basic characteristics of Enterprise JavaBeans
  • Describe the basic characteristics of the Java Naming and Directory Interface
  • Describe the basic characteristics of message queues
  • Describe the basic characteristics of Simple Mail Transfer Protocol and JavaMail
  • Describe the benefits and basic characteristics of Java database connectivity, the structured query language, and relational database management system technologies


  • Summarize the features incorporated into the first Java release and the corresponding challenges they were designed to resolve


  • Summarize the features and capabilities of the Java Standard Edition, Java Micro Edition, and Java Enterprise Edition


  • Describe Dr. James Gosling's role in the establishment and evolution of Java
  • Describe the ongoing role of Java evangelists and Java User Groups in the continued success of Java


  • Summarize the significance of Sun's decision to release Java under the General Public License


  • Summarize Java's role in three current technologies or devices


  • Briefly explain the social positioning aspect of open source software
  • Summarize the three waves of the open source movement and the key individuals and organizations who contributed to each wave


  • Summarize characteristics of open source software that make it suitable for use in business enterprises
  • Identify a few ways individuals and companies are able to earn money by working with open source software
  • Distinguish the three types of open source software licenses
  • Describe the mission of the Apache Software Foundation
  • Summarize the purpose served by the Linux Online community
  • Describe the mission and impact of the OpenSolaris Communities
  • Summarize the purpose of the OpenOffice community
  • Describe the purpose of the Project Wonderland community


  • Recognize characteristics shared among open source communities
  • Outline practical steps to become an active participant in any open source community

Note: This program can be completed in 6 months. However, students will have online access to this program for a 24-month period.

Education and National Certifications

  • Students should have or be pursuing a high school diploma or GED.
  • There are no state approval and/or state requirements associated with this program.
  • There is a National Certification exam available to students who successfully complete this program:
    • Oracle Certified Associate JAVA SE 5 / SE 6 Exam
    • Microsoft Office Specialist (MOS) Certification Exam.

National Certification

Upon successful completion of this Auburn University program, students would be eligible to sit for the Oracle Certified Associate JAVA SE 5 / SE 6 exam and the Microsoft Office Specialist (MOS) exam. Although there are no state approval, state registration or other state requirements for this program, students who complete this program at Auburn University will be prepared and are eligible to sit for the national certification exams. Students who complete this program are encouraged to complete the externship option with their program. Students who complete this program can and do sit for the Oracle Certified Associate JAVA SE 5 / SE 6 and MOS national certification exams and are qualified, eligible and prepared to do so. Auburn University works with each student to complete the exam application and register the student to take their national certification exam.

Externship / Hands on Training / Practicum

Although not a requirement, once students complete the program, they have the ability to participate in an externship and/or hands on practicum so as to practice the skills necessary to perform the job requirements of a professional in this field. Students will be assisted with completing a resume and/or other requirements necessary to work in this field. All students who complete this program are eligible to participate in an externship and will be placed with a participating organization near their location. Auburn University works with national organizations and has the ability to place students in externship opportunities nationwide.