Java SE 8 Level 2 – Professional

This Java SE 8 Professional training teaches students who have a background of JAVA SE8 and have done JAVA Level 1 – Associate to make your self expert in programming using the Java programming language. It explores the significance of object-oriented programming, the keywords and constructs of the Java programming language and the steps required to create complex Java technology programs.

This hands on Java Programming course provides an introduction to programming using the Java language. Students are introduced to the java building blocks, Object Oriented Programming techniques, and specific language syntax. The course introduces important algorithmic constructs, string and character manipulation, dynamic memory allocation and fundamental object-oriented programming concepts. The course explains the use of inheritance and polymorphism, implementing interfaces and abstraction early on so the students can practice extensively in the hands on labs. Object oriented programming techniques with the concept of SOA, Service Oriented Architecture, and exception handling is emphasised. The course includes an introduction to Netbeans, a recommended framework by Oracle Corporation for almost all kind of java application, so student will be able to write flexible, user friendly programs.

Course Objective:

☑ History of java.

☑ Concept of Object Oriented Programming (OOP).

☑ Fundamentals of java programming.

☑ Java class structure.

☑ Main method.

☑ Package declaration and imports.

☑ Creating objects.

☑ Order elements in class.

☑ Garbage collection.

☑ Java operators.

☑ Java statements.

☑ Advance flow control.

☑ Core Java API.

☑ Java, equality.

☑ Java, Array.

☑ Java, Array list.

☑ Java, Date and time.

☑ Java, Methods.

☑ Java, Constructors.

☑ Java, Encapsulation.

☑ Class inheritance.

☑ Java, Abstraction.

☑ Java, Exception handling.

Who does this qualification suits to (Audience)?

This qualification suits the following:

☑ Technical Consultant

☑ Portal Developer

☑ Technical Administrator

☑ Application Developers

☑ System Administrator

☑ Project Manager

☑ Developer

☑ Web Administrator

What will students learn during this course delivery?

☑ Use various Java programming language constructs to create several Java technology applications.

☑ Use decision and looping constructs and methods to dictate program flow.

☑ Perform basic error handling for your Java technology programs.

☑ Implement intermediate Java programming and Object Oriented Programming (OOP) concepts in Java technology programs.

☑ Demonstrate knowledge of Java technology and the Java programming language.

☑ Fundamental elements of programming

☑ Interactive Development Environment (IDE) concepts

☑ Classes, objects and methods

☑ Declaring and instantiating a Java object

☑ Using conditional and looping constructs

☑ Declaring and instantiating arrays

☑ Using and creating interfaces

☑ Defining classes using inheritance

☑ Exception handling

☑ Formatting output with class Formatter

☑ Using strings, characters and regular expressions

Participate in Hands-On Exercises

You’ll gain hands on experience with basic object oriented programming concepts like inheritance, encapsulation and abstraction. Learn to create and use simple Java classes containing arrays, loops and conditional statements.

Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

Course Content

Java Class Design

☑ Use access modifiers: private, protected, and public

☑ Override methods

☑ Overload constructors and methods

☑ Use the instance of operator and casting

☑ Use virtual method invocation

☑ Override the hash Code, equals, and to String methods from the Object class to improve the functionality of your class.

☑ Use package and import statements

Advanced Class Design 

☑ Identify when and how to apply abstract classes

☑ Construct abstract Java classes and subclasses

☑ Use the static and final keywords

☑ Create top-level and nested classes

☑ Use enumerated types

Object-Oriented Design Principles 

☑ Write code that declares, implements and/or extends interfaces

☑ Choose between interface inheritance and class inheritance

☑ Apply cohesion, low-coupling, IS-A, and HAS-A principles

☑ Apply object composition principles (including has-a relationships)

☑ Design a class using a Singleton design pattern

☑ Write code to implement the Data Access Object (DAO) pattern

☑ Design and create objects using a factory pattern

Generics and Collections

☑ Create a generic class

☑ Use the diamond for type inference

☑ Analyze the interoperability of collections that use raw types and generic types

☑ Use wrapper classes, autoboxing and unboxing

☑ Create and use List, Set and Deque implementations

☑ Create and use Map implementations

☑ Use java.util.Comparator and java.lang.Comparable

☑ Sort and search arrays and lists

String Processing 

☑ Search, parse and build strings (including Scanner, StringTokenizer, StringBuilder, String and Formatter)

☑ Search, parse, and replace strings by using regular expressions, using expression patterns for matching limited to: . (dot), * (star), + (plus), ?, \d, \D, \s, \S,  \w, \W, \b. \B, [], ().

☑ Format strings using the formatting parameters: %b, %c, %d, %f, and %s in format strings.

Exceptions and Assertions 

☑ Use throw and throws statements

☑ Develop code that handles multiple Exception types in a single catch block

☑ Develop code that uses try-with-resources statements (including using classes that implement the AutoCloseable interface)

☑ Create custom exceptions

☑ Test invariants by using assertions

Java I/O Fundamentals 

☑ Read and write data from the console

☑ Use streams to read from and write to files by using classes in the java.io package including BufferedReader, BufferedWriter, File, FileReader, FileWriter, DataInputStream, DataOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter

Java File I/O (NIO.2) 

☑ Operate on file and directory paths with the Path class

☑ Check, delete, copy, or move a file or directory with the Files class

☑ Read and change file and directory attributes, focusing on the BasicFileAttributes, DosFileAttributes, and PosixFileAttributes interfaces

☑ Recursively access a directory tree using the DirectoryStream and FileVisitor interfaces

☑ Find a file with the PathMatcher interface

☑ Watch a directory for changes with the WatchService interface

Building Database Applications with JDBC 

☑ Describe the interfaces that make up the core of the JDBC API (including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations)

☑ Identify the components required to connect to a database using the DriverManager class (including the jdbc URL)

☑ Submit queries and read results from the database (including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections)

☑ Use JDBC transactions (including disabling auto-commit mode, committing and rolling back transactions, and setting and rolling back to savepoints)

☑ Construct and use RowSet objects using the RowSetProvider class and the RowSetFactory interface

☑ Create and use PreparedStatement and CallableStatement objects


☑ Create and use the Thread class and the Runnable interface

☑ Manage and control thread lifecycle

☑ Synchronize thread access to shared data

☑ Identify code that may not execute correctly in a multi-threaded environment.


☑ Use collections from the java.util.concurrent package with a focus on the advantages over and differences from the traditional java.util collections.

☑ Use Lock, ReadWriteLock, and ReentrantLock classes in the java.util.concurrent.locks package to support lock-free thread-safe programming on single variables.

☑ Use Executor, ExecutorService, Executors, Callable, and Future to execute tasks using thread pools.

☑ Use the parallel Fork/Join Framework


☑ Read and set the locale by using the Locale object

☑ Build a resource bundle for each locale

☑ Call a resource bundle from an application

☑ Format dates, numbers, and currency values for localization with the NumberFormat and DateFormat classes (including number format patterns)

☑ Describe the advantages of localizing an application

☑ Define a locale using language and country codes


The Training Course for the Java Certification Exam has all the programming concepts required to learn to appear for this Exam. Initially, the concepts required for the Object Oriented Programming are taught. The effort is focused on improving your understanding, capacity and confidence on programming in an object oriented way. While teaching the language, all the individual concepts are taught from different angles with small exercises. We make sure all the concepts are learnt at every step of the way and if doing so requires additional hours, we ask for your permissions.

About Java Certification Exams:

Oracle Java Certification is recognised in IT industry. The process of becoming Java certified broadens your knowledge and deepens your skills through exposure to a wide array of important features. As you prepare for these certification exams, you’ll work your way through hands-on exercises, which expands your capabilities as a Java developer. Additionally, the certification exams validate your capabilities. You will become more valuable to your current and future employer, increase job security, earn more money* and improve your future prospects. For new comers, Java Certifications improve job prospects. For a Programmer, there is a Level I and Level II Exam.

Get Your Java Certification

You can use this course for further development of your skills in Java language. Immersing yourself in this content will help you prepare for the Oracle Certified Professional, Java SE 8 Programmer Exam.

Prerequisite for JAVA SE 8 Fundamental Course:

☑ Oracle Certified Associate, Java SE 8 Programmer Exam(1Z0-808) required to go to Professional Level 2(1Z0-809) exam.

☑ Oracle Certified Professional, Java SE 8 Programmer Exam(1Z0-809):It is a Programmer Level II Exam: This certification exam is for programmers experienced using the Java programming language. Achieving this certification provides clear evidence that a programmer understands the basic syntax and structure of the Java programming language and can create Java technology applications that run Java SE.

Funding Available:

Course Funding: SAAS PTFG: Scottish Awards Agency for Scotland

This course is funded by SAAS part time funding which is available to eligible individuals only;
SAAS General funding eligibility requirement:

1. You have to be a resident of Scotland.
2. Either employed or unemployed, if working then earning must be less/equals to 25k a year.
3. Have not used the SAAS funding in this Academic Year.

Other criteria:

☑ Students do not need to pay it back as this is a grant not a loan.

☑ This funding is different from the full time funding which can be applied by someone who previously granted for a degree, postgrad or any other full time studies (HNC/HND) etc. but not in a same session

☑ Part time funding cannot be received on a same session if one is already receiving any part/full time funding for other courses.

☑ Part Time funding can only be used for one course per academic year

☑ SAAS part time funding academic year starts from Aug to July.

For more information please visit the below link 


To check your eligibility:

Please follow the below link to check if you qualify for the course funding;


Self Funding

If you do not qualify for SAAS part-time funding, you have the option to self-fund the course.

Fees are payable in advance at the start of the course unless otherwise agreed.

We also provide flexible fee installments to help students in paying their fees.

There are a number of other funding opportunities available to UK and EU students to help them to pay for their studies. Contact the college for more details.

    (Which training centre you looking for admission – Edinburgh or Glasgow)

    Course Info

    Course Curriculum