$99.00
Certification

Industry recognized certification enables you to add this credential to your resume upon completion of all courses

Need Custom Training for Your Team?
Get Quote
Call Us

Toll Free (844) 397-3739

Inquire About This Course
Instructor
Jonathan Lewis, Instructor - Object Oriented Programming in Java

Jonathan Lewis

Instructor: Jonathan Lewis

Learn about Objected Oriented Programming with Java.

  • Obtain the knowledge necessary to engineer and build a software application.
  • Build a Java web application with the MVC framework Java Server Faces (JSF).
  • Instructor has over 20 years of industry experience developing solutions like enterprise management systems, Embedded systems, machine learning, logistics, and simulations.

Duration: 13h 38m

Course Description

This course covers a broad range of topics in Object Oriented Programming through Java. This course teaches the fundamentals of Object Oriented design and development. This course also covers a few key tools and techniques necessary to build a complete and robust web application in Java using the Eclipse IDE.

What am I going to get from this course?

At the end of this course students will have the knowledge necessary to engineer and build a software application.
They will have a solid understanding of Objected Oriented Programming which can be applied to any OO language.
They will know how to use the Eclipse Integrated Development Environment (IDE).
They will be able to build a Java application.
They will be able to build a Java web application with the MVC framework Java Server Faces (JSF).
They will know how to access local and cloud based resources through a Java application.

Prerequisites and Target Audience

What will students need to know or do before starting this course?

It would be a good idea if you have at least some basic programming knowledge but is not required. Even with no prior programming experience the lectures are tutorials on java and object oriented application development so anyone will be able to pick it up.

Who should take this course? Who should not?

Anyone who wants to learn Java or about Object Oriented programming should take this course. If you have some experience programming in other languages this course will teach you what you need to know about Java development. If you want to learn Object Oriented programming this course will teach you core concepts in OO development.

Curriculum

Module 1: What is Object Oriented Programming

Lecture 1 Introduction

This lecture introduces the course.

Lecture 2 Course Resources

This lecture provides a brief overview of the materials you will need for this course.

Lecture 3 Procedural vs. OO Programing Languages

This lecture gives a brief history of the evolution of object oriented programming languages and Java. This lecture explains the advantages of object oriented programming languages over procedural languages.

Lecture 4 What is Good Software

In this lecture I talk about elegant software.

Lecture 5 Cohesion and Coupling
Quiz 1 Module 1 Quiz

A short quiz to test your knowledge of the topics covered in this module.

Module 2: Getting Started with Java and Eclipse

Lecture 6 Introduction to Java

In this lecture I talk about Java's history and introduce the core component of Java.

Lecture 7 Setting up Your Machine

This lecture is a tutorial where I will show you how to set up your machine for Java development.

Lecture 8 Hello World

This lecture is a tutorial on how to create your first Java program with Eclipse.

Quiz 2 Module 2 Quiz

A short quiz to test your knowledge of topics covered in module 2.

Module 3: A Basic Web Application

Lecture 9 A Basic Web Application in JSF

In this lecture you will learn how to start a Java Server Faces web application.

Lecture 10 Create an Interface

In this lecture you will learn how to add a web page that will be used as an interface for a JSF web application.

Lecture 11 Create a Managed Bean

In this lecture you will learn how to create the class that will be used as the code behind the JSF interface.

Lecture 12 Documenting Code

In this lecture you will learn how to use Eclipse to document java and xhtml code.

Quiz 3 Module 3 Quiz

A short quiz to test your knowledge of topics covered in module 3.

Module 4: Programming with JSF

Lecture 13 Client Server Architecture

In this lecture I explain how the clients and servers interact with one another.

Lecture 14 Java Server Faces and the MVC Architecture

In this lecture I discus the MVC and JSF architectures.

Lecture 15 JSF Naviagation and Events

In this lecture I explain how to navigate between pages and handle client side event with JSF.

Lecture 16 JSF User Interface Controls

In this lecture I will show you how to receive and process information from the user in your JSF application.

Quiz 4 Module 4 Quiz

Module 5: The Core of Object Oriented Programing

Lecture 17 Classes and Objects

In this lecture I will talk about the core construct of object oriented programming.

Lecture 18 The Constructor

In this lecture I will go over the Constructor method of a class.

Lecture 19 Class Variables

In this lecture I will talk about what class variables are and how they are used.

Lecture 20 Static Class Variables

In this lecture I will talk about the static key word and what a static class variable is as compared to a regular class variable.

Lecture 21 Class Methods

In this lecture I will go over the syntax and usage of class methods in java.

Lecture 22 Class Properties

In this lecture I will go over how JSF implements class properties and talk briefly about how other OO languages implement class properties as well.

Quiz 5 Module 5 Quiz

A short quiz to test you knowledge of topics covered in Module 5.

Module 6: Writing Code

Lecture 23 Reserved Words

This is a short lecture about reserved words in Java.

Lecture 24 Variables and Scope

In this lecture I talk about the different types of variables and explain what scope is.

Lecture 25 Access Modifiers

This lecture is about Java Access Modifiers.

Lecture 26 Enumerated Types

This lecture is about Java enumerated types.

Lecture 27 If Else and Switch

This lecture is about decision making in your code.

Lecture 28 Overloading Methods

This lecture is about overloading Java methods.

Lecture 29 For While and Do

This lecture is about the looping constructs in Java.

Lecture 30 Recursion

This lecture is about recursive methods.

Quiz 6 Module 6 Quiz

A short quiz to test you knowledge of topics covered in Module 6.

Module 7: Inheritance

Lecture 31 Inheritance

This is a short lecture which introduces the concept of Inheritance in Object Oriented Programming.

Lecture 32 Interface and Abstract

In this lecture I talk about special types of classes used in inheritance.

Lecture 33 Final and Overriding Methods

This lecture is about inherited class methods.

Lecture 34 Type Casting and Polymophism

This lecture is about type casting of both primitive types and classes and polymorphism.

Quiz 7 Module 7 Quiz

A short quiz to test you knowledge of topics covered in Module 7.

Module 8: Exception Handling

Lecture 35 Error Handling

This lecture introduces error handling and the need for exception handling in Java.

Lecture 36 Try Catch and Finally

In this lecture you will learn how to use the try catch and finally code blocks to handle exceptions.

Lecture 37 Throw and Throws

In this lecture you will learn how to use the throw and throws keywords to generate java exceptions.

Lecture 38 Logging

In this lecture you will learn how to use native Java classes to log events and errors that may occur in your application.

Quiz 8 Module 8 Quiz

A short quiz to test you knowledge of topics covered in Module 8.

Module 9: Data Structures

Lecture 39 Arrays

In this lecture I will give you a detailed explanation of arrays and how memory is allocated for arrays and other data structures.

Lecture 40 Generics

In this lecture, you will learn about a programming construct called Generics. Generic classes are used to implement complex Java data structures.

Lecture 41 Java Collections Framework (JCF) Overview

In this lecture you will learn about the many different interfaces and classes that have been implemented to support data structures in Java.

Lecture 42 Coding with the Java Collections Framework

In this lecture I will show you how to use a JCF generic class in your application.

Quiz 9

Module 10: Refactoring

Lecture 43 Introduction to Refactoring

In this lecture I will introduce you to the concept of refactoring as is applies to object oriented programming languages.

Lecture 44 Extract an Interface

In this lecture I will show you how to use the Eclipse IDE to extract an interface from an existing class.

Lecture 45 Rename a Class

In this lecture I will show you how to use the Eclipse IDE to rename an existing class.

Lecture 46 Extract a Method

In this lecture I will show you how to use the Eclipse IDE to extract a method from existing code.

Lecture 47 Restructure the Application

In this lecture I will show you how to use the Eclipse IDE to restructure an existing application.

Quiz 10

Module 11: Design Patterns

Lecture 48 Introduction to Design Patterns

This lecture introduces the concept of design patterns in object oriented programming.

Lecture 49 Design Patterns in Your Application

In this lecture I will show you several design patterns you are already using.

Lecture 50 Using the Singleton Pattern

In this lecture I will show you how to use the singleton pattern in your program.

Lecture 51 Using Dependancy Injection

In this lecture I will show you how to use dependency injection in your program.

Quiz 11 Module 11 Quiz

A short quiz to test you knowledge of topics covered in this module.

Module 12: Complete the Application

Lecture 52 Refactoring for Multiple Data Sources

In this lecture I will show you how to refactor your existing model code to utilize multiple data sources instead of a single data loader.

Lecture 53 Web Resources as a Data Source

In this lecture I will show you how to connect to an online source of data which can be downloaded and stored.

Lecture 54 Set up SQLite

In this lecture I will show you how to set up SQLite which is a popular database engine for mobile computing.

Lecture 55 Databases as a Data Source

In this lecture I will show you how to build a class which can utilize the SQLite database engine setup in the previous lecture.

Lecture 56 A Composite Data Source

In this lecture I will show you how to build a single data source which is a composite of multiple data sources.

Lecture 57 Enhanced User Interface

In this lecture I will show you some improvements you can make on your user interface to improve the user experience.

Quiz 12

Module 13: Software Engineering

Lecture 58 Software Engineering

In this lecture I will introduce software engineering.

Lecture 59 Requirements

In this lecture I will talk about the requirements phase of software engineering.

Lecture 60 Design

In this lecture I will talk about the design phase of software engineering.

Lecture 61 Implementation

In this lecture I will talk about the implementation phase of software engineering.

Lecture 62 Testing

In this lecture I will talk about the testing phase of software engineering.

Lecture 63 Deployment

In this lecture I will talk about the deployment phase of software engineering.

Lecture 64 Maintenance

In this lecture I will talk about the maintenancephase of software engineering.

Quiz 13 Final Exam

This quiz includes questions from the entire course. You should go back and review all the previous quizzes before taking this exam.