Complete Java SE 8 Developer Bootcamp - OCA Prep Included
4.6 (802 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,774 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Complete Java SE 8 Developer Bootcamp - OCA Prep Included to your Wishlist.

Add to Wishlist

Complete Java SE 8 Developer Bootcamp - OCA Prep Included

Master the Foundations of Java and the Topics of the Oracle Certified Associate, Java SE 8 Programmer Exam (1Z0-808)
4.6 (802 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
3,774 students enrolled
Last updated 12/2016
English
Current price: $10 Original price: $100 Discount: 90% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 11.5 hours on-demand video
  • 22 Articles
  • 18 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Read and write basic command line programs in Java
  • Know how to use an Integrated Development Environment (Eclipse) to develop and debug programs
  • Generate HTML based documentation (Javadoc) for code
  • Gain a solid understanding of the topics covered in the exam to become an Oracle Certified Associate, Java SE 8 Programmer (Java SE 8 Programmer I 1Z0-808)
View Curriculum
Requirements
  • You should have basic computer skills (comfortable working with a command prompt or terminal, installing software, setting environment variables, etc.)
  • If you don't have any previous programming experience, you may find it helpful to read a brief introduction on the basic concepts (variables, functions, and control structures), such as the one found at http://codingintro.com/
Description

Java is one of the most popular programming languages used in professional application development. As such, there is an extensive job market available to those who master its syntax. However, mastering a language as complex and vast as Java requires a developer to start with a solid programming foundation.  This class provides that foundation.  Those who are looking to start a career in software development, or developers who are looking to increase their marketability by learning the nuts and bolts of Java, will benefit from taking this course. To start the student on the “right track,” the lectures and labs go beyond basic syntax by including best practices and object oriented programming idioms.  In addition, the topics covered help prepare students for the Oracle Certified Associate, Java Programmer SE 8 exam (a certification which demonstrates to potential employers a fundamental level of proficiency with the language).  However, do note that this course is just as appropriate for someone who is not interested in taking the exam; if you want to learn Java, this is the course for you!

Who is the target audience?
  • Developers who are looking to increase their marketability by learning the nuts and bolts of Java
  • Those who are looking to start a career in software development
  • Anyone looking to prepare for the exam to become an Oracle Certified Associate, Java Programmer SE 8 (Java SE 8 Programmer I 1Z0-808)
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 165 Lectures Collapse All 165 Lectures 11:49:28
+
Welcome!
3 Lectures 12:49

Meet the instructor, Jason Shapiro, and learn what topics this course covers.

Preview 01:43

Walkthrough for the installation of the JDK (necessary for the lab assignments).

Installing the Java SE Development Kit 8 (JDK)
03:13

Walkthrough for the installation of Eclipse (necessary for the lab assignments).

Installing Eclipse
07:53
+
Getting Started with Java
9 Lectures 47:06

Overview of "Getting Started with Java."

Section Overview
00:25

The feature goals that the creators of Java had in mind when they were designing the language.  Learn about "platform independence" and other features.

The Features of the Java Programming Language
04:43

Discover the "Java Runtime Environment (JRE)" and how it is used to execute Java programs.

The Java Platform
05:49

Test your knowledge of concepts on the Java Platform.

The Java Platform
3 questions

The Java platform comes in many different configurations.  This lecture examines the different editions and versions that are available to us.

Editions and Versions
08:43

The JDK is the complete Java platform - it includes all of the tools that are needed to write and run Java programs.

The Java Development Kit (JDK)
03:39

A "50,000 feet view" of a small Java program.  Learn about classes, methods, parameters/arguments, return types, and modifiers.  We also cover the "front door" of a Java application: the "main" method.

Your First Java Program - Part 1 (Code)
13:00

Java Class and the "main" Method
6 questions

Now that the program has been written, how do we run it?  This lecture covers the compilation and execution process of a Java program.

Your First Java Program - Part 2 (Compilation and Execution)
04:54

Your first coding exercise!  Instructions on how all of the labs are handled in the course, along with information on how to use TextEdit (Mac) and Notepad (Windows) for writing a Java program.  Average completion time: 30 minutes.

Hello World Lab & Lab Files
02:45

A Javadoc is an HTML site that contains documentation for a Java API.  This lecture shows you where you can find the Java SE 8 javadoc, and how to use it.

Java API Documentation (Javadocs)
03:08
+
Introduction to Objects
17 Lectures 01:19:34
Section Overview
00:22

Learn what an "object oriented program" is, and the benefits they deliver.

Object Oriented Programming (OOP)
06:02

Discussion on the different characteristics between Java primitives (such as an int or boolean) and objects.

Objects vs. Primitives
11:18

Objects vs. Primitives Addendum
00:23

One of the main keys to mastering Java is to understand how objects and method variables are represented in memory.  This lecture defines two areas of memory: the stack and the heap.

Stack & Heap
02:56

Objects may contain state and/or behavior.  This lectures defines how to access and set these features of an object.

Using Objects
15:00

Q & A: "Member"
00:14

Introduces the "constructor" as a means to initialize the state of an object.

Initializing Data
06:35

This lecture formally defines the purpose of a Class.

Creating Object Types - Part 1
03:56

Working with the Car Type
4 questions

A walkthrough of creating a "Car" class with state and behavior.

Creating Object Types - Part 2
07:18

Now that the "car" class has been created, we'll look at how we can use it.  In addition, the "return" feature is demonstrated.

Preview 06:06

A note on "void"
00:23

In a previous lecture, using a constructor to initialize an object was demonstrated.  Now you'll learn how to create your own constructors.

Building Constructors
07:24

Test your knowledge on defining/invoking constructors and default values.

Constructors and Default Values
4 questions

If you don't create a custom constructor, the compiler provides one for you.  Learn about the benefits and possible consequences of this feature.

Default Constructor
04:14

Q & A: Default vs. "No-Arg" Constructor
00:12

Constructors aren't the only way to initialize an object.  This lecture introduces another construct for this purpose: the initialization block.

Initialization Blocks
06:08

Instructions for the Objects lab.  Average completion time: 30 minutes.

Introduction to Objects Lab
01:02
+
Static, Scope, and Garbage Collection
14 Lectures 01:10:46
Section Overview
00:17

Variables can be assigned to a class (rather than an object).  This lecture introduces the syntax of these variables and how they are used.

Static Variables
09:59

Just like variables, methods may also be assigned to a class (rather than an object).  The syntax and restrictions that are placed upon these methods are demonstrated.

Static Methods
08:31

Static Reference Variables and null
00:53

Test yourself to see how much you've learned about static variables and methods!

Using Static Variables and Methods
2 questions

An instance initialization block is executed every time a new instance is created.  A static initialization block is only executed once: when the class is loaded.  Learn the syntax and restrictions of this feature.

Static Initialization Block
03:49

Let's see if you've mastered the order of initialization blocks and variables, upon object instantiation!

What's the Value?
1 question

Quiz Explanation & Note About the Next Lecture
01:44

The keyword "this" refers to the specific instance of a class that is in focus.  Here we show how the keyword can be applied to class.

Preview 08:07

Now that we know how "this" is applied, let's look at one of the main use cases of why it exists: disambiguation.  In addition we revisit and expand upon the topic of the stack and heap.

"this" - Part 2
06:59

The keyword "this" can also be used to chain constructors together.  Learn how to use this feature and the reasons why it exists.

"this" - Part 3
06:10

Scope defines the lifecycle and accessibility of state.  Learn how to recognize the scope of a variable in a class.

Scope - Part 1
06:11

More demonstrations on how to recognize the scope of a variable.

Scope - Part 2
07:57

In other programming languages, memory must be managed by the developer.  Java, helps us out here with a feature called "Garbage Collection."

Garbage Collection
05:53

Although Java helps us out with memory management, we can still, unintentionally cause issues.  This lecture demonstrates a situation that could cause something similar to a memory leak (memory that is occupied but unused).

Java Memory Leaks
03:38

Instructions for the Static lab.  Average completion time is 45 minutes.

Static Lab
00:38
+
Packages
6 Lectures 28:55
Section Overview
00:16

Learn how to organize your code and prevent name collisions (two or more libraries that have a class with the same name), with "packages."

Packages
15:08

Do you know all of the rules of packages and imports?  Let's find out!

Packages and Imports
3 questions

A classpath defines where classes can be found for compilation and execution.  Learn how to set these locations in this lecture.

Classpath
05:03

More on Classpath
01:15

Most applications and libraries are distributed in compressed files called JARs.  Learn how to create these files.

JARs
06:40

Instructions for the Packages lab.  Average completion time is 20 minutes.

Packages Lab
00:33
+
Java Conventions and Primitives
9 Lectures 44:09
Section Overview
00:32

Learn the conventions that most Java developers use when writing applications.

Coding Standards
08:36

Comments are blocks of text in code that are intended for other developers.  Anything that uses the comment syntax is excluded from normal code execution.

Comments
03:03

In a previous lecture we talked about how to read Javadocs - in this lecture you'll learn how to write your own!

Javadoc
05:40

Have you memorized all of the rules about identifiers and comments?  Let's find out!

Identifiers and Comments
2 questions

We've briefly mentioned primitives in previous lectures... now we'll dive into their syntax and usage.

Primitive Data Types
07:52

When a value is assigned to a primitive variable, the specific syntax used will determine their type.  Learn these rules in this lecture.

Primitive Literals
05:07

Sometimes we need to assign one primitive value type to a different variable type (such as when we pass an existing value as an argument to a method).  Learn those rules, including the concept of "casting" in this lecture.

Primitive Conversion
09:17

Test your knowledge on primitives and the rules of casting!

Primitives
3 questions

What happens when we need to use longer or more precise number than those supported by primitives?  Luckily we have BigInteger and BigDecimal two classes that support big numbers.

Big Numbers
03:33

Instructions for the primitives lab.  Average completion time is 30 minutes.

Primitives Lab
00:29
+
Java Syntax
12 Lectures 01:00:29
Section Overview
00:20

Conditionals allow us to write blocks of code that are executed if a certain state is true or false

Condtionals - If / Else If / Else
07:56

More on If/Else If/Else Statements
01:53

A switch is another syntax available when defining conditionals.

Conditionals - Switch
06:18

More on Switch
01:43

Learn the different operators available to Java, and just as important (especially for the exam) - the order of precedence.

Operators: Part 1
11:17

Concluding the post/pre-increment operator and a discussion on the ternary operator.

Operators: Part 2
05:27

More Operator Examples
01:40

Conditionals are one type of control structure.  Another type allows us to continuously execute a block of a code while a condition is true.

Loops
07:35

Loops allow us to manage their flow within their own bodies.  This lecture defines the keywords that allow us to manipulate that flow.

Break, Continue, and Labels
07:15

An Enum (short for enumeration) allows us to create strongly typed (a structure that is verified by the compiler) label.  Learn the syntax of an enum in this lecture.

Enumerations (enum)
08:22

Instructions for the Syntax lab.  Average completion time is 1 hour.

Java Syntax Lab
00:42
+
Strings
8 Lectures 32:55
Section Overview
00:18

A String is an object provided by the Java SE API, that exhibits some unique characteristics.  This lecture details the structure of this object.

String Objects
06:02

Learn the most common methods and operations available to Strings.

String Operations and Operators
05:26

Once a String has been created it can never be changed.  This is known as "immutability."  Here you'll learn why Strings are immutable and how we handle this restriction in our programs.

Immutable Strings
06:55

Concatenation Operator
00:24

Test your knowledge on Strings!

Working with Strings
4 questions

When a variable is passed as an argument into a method, what is really being passed?  This lecture details how primitive arguments are handled in Java.

Pass By Value: Primitives
08:14

Continuing the examination of passing arguments, with objects, including Strings.

Passing By Value: Objects
04:55

Instructions for the Passing by Value lab.  Average completion time is 30 minutes.

Passing By Value Lab
00:41
+
Encapsulation
6 Lectures 25:25
Section Overview
00:21

Encapsulation is one of the pillars of Object Oriented programming, and helps us design flexible and robust programs.

Encapsulation and Data Hiding
07:41

Getter and setters are a strategy and convention for applying encapsulation.

Getters and Setters: Part 1
06:26

Now that encapsulation has been applied, the benefits are demonstrated.

Getters and Setters: Part 2
03:22

Learn how to apply restricted access to state and behavior to provide encapsulation.

Access Modifiers
07:02

Test your knowledge on Encapsulation!

Encapsulation
3 questions

Instructions for the Encapsulation lab.  Average completion time is 1 hour.

Encapsulation Lab
00:33
+
Inheritance
13 Lectures 51:06
Section Overview
00:19

The next pillar of object oriented programming is "inheritance."  This is a feature that lets us build new objects from others they are related to.

Inheritance: Part 1
03:34

More demonstrations of how inheritance is applied and the rules that accompany this feature.

Inheritance: Part 2
06:57

In a previous lecture, the concept of chaining constructors with the keyword "this" was demonstrated.  In this lecture, the focus is on chaining constructors between super and subtypes.

Chaining Constructors
11:30

More On "Protected"
01:41

Super and the First Statement Rule
00:30

All methods must have unique signatures.  However, as long as the parameter list is unique, multiple methods may have the same name.  This is called "overloading" a method.

Overloading Methods
07:00

To change the behavior that is defined in a super class, we "override" methods.  This syntax and its restrictions are detailed in this lecture.

Overriding Methods
08:17

When overriding a method, Java allows the return type to be a subtype of the type declared in the overridden method.  This feature is known as a "covariant return."

Covariant Returns
01:30

The keyword "final" may be applied to variables, methods, and classes.  This feature prevents further modification of these constructs, once defined.

The Three Faces of Final
05:30

Revisiting the Switch Statement
00:43

Know This For The Exam: Class/Object Invocation Order
02:53

Instructions for the Inheritance lab.  Average completion time is 1 hour.

Inheritance Lab
00:41
8 More Sections
About the Instructor
Intertech Training
4.6 Average rating
802 Reviews
3,775 Students
1 Course
Teaching & Training on Software Development Since 1991

Intertech's blend of doing, teaching, and mentoring has empowered individuals and technology teams in startups, small businesses, Fortune 500 corporations and government agencies since 1991. Our training team guides 1000s of software developers yearly through courses in Java, .NET, Web Development, Agile, and Mobile technologies. We offer students a full range of learning options by delivering software development training in classrooms, live online, on-site, and on-demand.

Jeff Jensen
4.6 Average rating
802 Reviews
3,775 Students
1 Course