Montreal College of Information Technology
Collège des technologies de l’information de Montréal English flagEN FlagFR


Java Programmer Certification OCP (Oracle Certified Professional)

​Class Schedule: Monday, Wednesday and Friday (6PM to 9PM)

Who should apply


  • College/university faculty who teach computer programming, information communications technology (ICT), or a related subject
  • Secondary school teachers who teach computer programming


  • Students with little programming experience who wish to learn Java programming and build their Object-Oriented Programming experience using fun Java development environments
  • This course is a suitable foundational class for computer science majors
Java Programmer Certification OCP (Oracle Certified Professional)
Cecilia G

Java Developer

Java Programmer Certification OCP (Oracle Certified Professional)
Cristal C


Java Programmer Certification OCP (Oracle Certified Professional)
David P

Big Data Student/Java Developer

Java Programmer Certification OCP (Oracle Certified Professional)
Houssien E

Business Analyst

Eligibility Requirements

Anyone with some knowledge of handling code, the ability to solve problems, and some logical mindset would be a good fit. An aptitude for Math would be an asset but not necessary.


Utilize new Java features

Write Java code that uses variables, arrays, conditional, and loop constructs to achieve program objectives

Identify modular programming principles

Access and create static fields and methods

Encapsulate a class using access modifiers and overloaded constructors

Demonstrate polymorphism by implementing a Java interface

Handle a checked exception in a Java application

Define and implement a simple class hierarchy that supports application requirements

Use Lambda Expression concurrency features

Apply modular programming practices and services to applications

Create high-performing multi-threaded applications

Execute a Java application from the command line

Create applications that use the Java Collections framework

Implement error-handling techniques using exception handling

Implement input/output (I/O) functionality to read from and write to data and text files

Perform multiple operations on database tables, including creating, reading, updating, and deleting using both JDBC and JPA technology

Identify deprecated APIs and possible alternatives

Swap sub-optimal or tedious coding with convenience methods

Create a modular Java application

Create a custom runtime image

Build Multi-release JAR files

Design interfaces which implement methods

Process stream data using new convenience methods

Leverage JShell for fast code experiments

Identify and apply new methods to more conveniently work with collections and arrays

Identify and address common requirements in migrating older applications to modularity

Create a system architecture (the Architecture model) supporting the nonfunctional requirements (NFRs) and development constraints

Create a system design (the Solution model) supporting the functional requirements (FRs)

Develop SOAP and REST web services

Develop web front-ends using Servlets, Java Server Pages, and Java Server


Java Programmer Certification OCP (Oracle Certified Professional)

  •  Implement encapsulation
  • Implement inheritance including visibility modifiers and composition
  • Implement polymorphism
  • Override hashCode, equals, and toString methods from Object class
  • Create and use singleton classes and immutable classes
  • Develop code that uses static keyword on initialize blocks, variables, methods, and classes
  • Develop code that uses abstract classes and methods
  • Develop code that uses the final keyword
  • Create inner classes including static inner class, local class, nested class, and anonymous inner class
  • Use enumerated types including methods, and constructors in an enum type
  • Develop code that declares, implements and/or extends interfaces and use the @Override annotation.
  • Create and use Lambda expressions
  • Create and use a generic class
  • Create and use ArrayList, TreeSet, TreeMap, and ArrayDeque objects
  • Use java.util.Comparator and java.lang.Comparable interfaces
  • Collections Streams and Filters
  • Iterate using forEach methods of Streams and List
  • Describe Stream interface and Stream pipeline
  • Filter a collection by using lambda expressions
  • Use method references with Streams
  • Use  the built-in interfaces included in the java.util.function package such as Predicate, Consumer, Function, and Supplier
  • Develop code that uses primitive versions of functional interfaces
  • Develop code that uses binary versions of functional interfaces
  • Develop code that uses the UnaryOperator interface
  • Develop code to extract data from an object using peek() and map() methods including primitive versions of the map() method
  • Search for data by using search methods of the Stream classes including findFirst, findAny, anyMatch, allMatch, noneMatch
  • Develop code that uses the Optional class
  • Develop code that uses Stream data methods and calculation methods
  • Sort a collection using Stream API
  • Save results to a collection using the collect method and group/partition data using the Collectors class
  • Use flatMap() methods in the Stream API
  • Use try-catch and throw statements
  • Use catch, multi-catch, and finally clauses
  • Use Autoclose resources with a try-with-resources statement
  • Create custom exceptions and Auto-closeable resources
  • Test invariants by using assertions
  • Create and manage date-based and time-based events including a combination of date and time into a single object using LocalDate, LocalTime, LocalDateTime, Instant, Period, and Duration
  • Work with dates and times across timezones and manage changes resulting from daylight savings including Format date and times values
  • Define and create and manage date-based and time-based events using Instant, Period, Duration, and TemporalUnit
  • Read and write data from the console
  • Use BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream, ObjectOutputStream, ObjectInputStream, and PrintWriter in the package.
  • Use Path interface to operate on file and directory paths
  • Use Files class to check, read, delete, copy, move, manage metadata of a file or directory
  • Use Stream API with NIO.2
  • Create worker threads using Runnable, Callable and use an ExecutorService to concurrently execute tasks
  • Identify potential threading problems among deadlock, starvation, livelock, and race conditions
  • Use synchronized keyword and java.util.concurrent.atomic package to control the order of thread execution
  • Use java.util.concurrent collections and classes including CyclicBarrier and CopyOnWriteArrayList
  • Use parallel Fork/Join Framework
  • Use parallel Streams including reduction, decomposition, merging processes, pipelines and performance.
  • 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
  • Read and set the locale by using the Locale object
  • Create and read a Properties file
  • Build a resource bundle for each locale and load a resource bundle in an application

Earn MCIT Certification

Upon completing this course, you will receive an industry-recognized certificate from MCIT. Once you complete this exam, you will earn your official Java Programmer Certification OCP (Oracle Certified Professional) certification.

Furthermore, you can attempt this official examination:

Oracle Certified Professional, Java SE 8 Programmer

Why join MCIT?

  • Taught by Industry Expert Instructors
  • Real-Time, Hands-on Training
  • Post Graduation Job Placement
  • 24/7 Virtual Lab Access
  • Flexible Schedule (Evening and Weekend Class Times)
  • Vendor Authorized Trainings


  • Java Programmer Certification OCP (Oracle Certified Professional)
  • Java Programmer Certification OCP (Oracle Certified Professional)
  • Java Programmer Certification OCP (Oracle Certified Professional)
  • Java Programmer Certification OCP (Oracle Certified Professional)
  • Java Programmer Certification OCP (Oracle Certified Professional)


— F.A.Q —

Yes. Each participant receives a Certificate of Completion in the end.
To register for a course, you can either call us or enter your request online and our administrative staff will call you with steps to register.
Our courses are practical, featuring hands-on, interactive, simulated SAP sessions as if you were logged into a real SAP system. You have to follow the on-screen instructions and explanations, enter data into fields, click on the correct buttons — just like in a real SAP system.

Montreal College of Information Technology

Collège des TI de Montréal   

110-1255 Robert-Bourassa Blvd.
Montreal, Quebec H3B 3V8

+1 514-312-2383
.(JavaScript must be enabled to view this email address)