Aspire Journeys

Java Novice to Javanista

  • 48 Courses | 67h 5m 39s
Likes 15
Java is one of the most in-demand programming languages in the world and one of the two official programming languages used in Android development. Though Java is a pure object-oriented language, it has developed into a multi-paradigm language making it highly compliant to any situation.Developers familiar with Java can build a wide range of applications, games, and tools. If you are new to Java development, you may be a little apprehensive - how easy is Java to learn? This journey helps you get started with Java and it will take you all the way to becoming an accomplished Java developer!In this Journey, you will begin by exploring the roots and the significant features of Java and you will get a solid foundation with step-by-step hands-on code examples using JShell. In the second track, you will take a deep dive into the advanced features of Java - like exception handling, Generics, Lambdas, and Reflection. The second track concludes with a focus on building jar files for Java Libraries. In the final track you will learn database connectivity with Java as well as how to build web applications and web services in Java.   In short, you will learn to write Java programs from scratch and become a confident Java developer.

Track 1: Java Novice

In this track of the Java Novice to Javanista Skillsoft Aspire journey, the focus will be on Java fundamentals, control structures, modeling entities, mapping relationships, and interactive Java & JShell. 

  • 14 Courses | 21h 16m 50s

Track 2: Java Apprentice

In this track of the Java Novice to Javanista Skillsoft Aspire journey, the focus will be on handling errors, arrays and the Java collection framework, nested classes and lambda expressions, reflection for runtime inspections, and building Jar files. 

  • 17 Courses | 23h 27m 51s

Track 3: Javanista

In this track of the Java Novice to Javanista Skillsoft Aspire journey, the focus will be on object serialization and JSON parsing, HTTP requests, connecting to and querying databases with JDBC, building web applications with JSP, and building web services.

  • 17 Courses | 22h 20m 58s


Getting Started with Java: The Fundamentals of Java Programming
This course serves as a theoretical introduction to the Java programming language - a class-based, object-oriented, and platform-independent language. Use this course to discover what these qualities mean when using Java to develop programs. Explore some of the significant features of Java. Get a glimpse into the Java ecosystem and the phases involved in translating Java code to a machine-executed form. In doing this, you'll examine concepts such as compilers, Java bytecode, and the Java Virtual Machine. Delve into some of the other properties of the language, such as using the just-in-time compiler and the automatic garbage collector. Finally, learn about the vast array of fields in which Java programming can be applied. At the end of this course, you'll have a solid foundational comprehension of the characteristics and use cases of the Java programming language.
8 videos | 54m has Assessment available Badge
Getting Started with Java: Writing & Running Java Programs
The Java programming language is a class-based, object-oriented, and platform-independent language. Follow along with this course and get some hands-on experience with Java programming. Get an environment ready to write Java programs by setting up the IntelliJ IDE. Write what might be your first Java program, where you print out a line of text to the console. While doing so, you'll get familiar with the structure of a Java program as well as the steps involved in running it. Move on to examine the syntax of Java and some of the common sources of errors. Then, get a glimpse into the use of comments to explain your code. Upon completion of this course, you'll be able to create your own program in Java.
8 videos | 1h has Assessment available Badge
Getting Started with Java: Variables & Primitive Types
The Java programming language is multi-faceted. To use it, developers need to understand what's meant by Java variables and recognize the different data types in the language. This course focuses on Java variables, and more specifically, the various primitive data types this language has to offer. Follow along with this course and create variables in your program to comprehend the effects of static typing in Java. Then, explore the various primitive data types in Java - from numeric types, such as integers and doubles, to text representations in the form of strings. Finally, you'll investigate the use of an ordered collection of data, namely arrays. When you're done with this course, you'll be able to confidently employ variables and several primitive data types when programming in Java.
8 videos | 1h has Assessment available Badge
Getting Started with Java: Operators
When developing with Java, you can perform many different operation types on the data in your Java program. The goal of this course is to give you hands-on experience with these operations. Begin by working with the basic math operations that apply to numeric data, such as addition, division, and so on, recognizing how these apply to different numeric types. Use logical and comparison operators, which allow you to evaluate a condition and check the relationship between different variables. Lastly, implement string operations in Java and explore some of the methods used to transform data from one type to another. When you're finished with this course, you'll be able to perform a variety of operations on your Java program data.
10 videos | 1h has Assessment available Badge
Control Structures in Java: Implementing Java Control Structures
Before you build any significant Java application, it is important to get familiar with controlling the flow of code using control structures — a fundamental concept in any programming language. And this is precisely the focus of this course. With the help of this course, you'll learn how to work with basic if statements, where code is executed if a certain condition is met and if-else and switch statements, which allow you to check for multiple conditions and run chunks of code accordingly. You'll then delve into for and while loops, which allow you to define a block of code that needs to be executed repeatedly under specific conditions and recognize the use of continue and break statements that influence their behavior. After finishing this course, you'll have the knowledge and skills to control the flow of code execution in your program based on the value of variables or the outcome of operations.
12 videos | 1h has Assessment available Badge
Modeling Entities in Java: Getting Started with Classes & Objects
Classes are a core concept in Java's object-oriented programming model. The class is an abstract type and an object is an instance of that type. Object oriented Java programming allows classes to be instantiated and inherit features from the Java.lang.object. You will learn about member variables, fields, functions, and methods. Learn to instantiate objects of built-in Java classes and invoke methods on them.
7 videos | 39m has Assessment available Badge
Modeling Entities in Java: Defining Custom Classes & Objects
Modeling entities in the real world require you to create custom classes to add to the various built-in classes already provided by Java. Creating such custom classes is key to harnessing the power of object-oriented programming (OOP) in Java. This course focuses on defining such custom classes and then creating objects. Make the most of this course by exploring custom classes, the use of constructors, and modifiers such as private and public. You will also learn the idiomatic Java method of working with getter and setter methods as well as conventions in naming, input parameters, and return types from such methods. After completing this course, you'll not only be able to define custom classes to serve as types in your programs but also instantiate and use objects of these custom classes.
11 videos | 1h has Assessment available Badge
Modeling Entities in Java: Methods, Method Overloading, & Constructors
Modeling complex entities involves defining and invoking methods and constructors. Furthermore, defining robust and reusable code requires learning important mechanisms for code re-uses, such as constructor chaining and method overloading. Use this course to delve into these important techniques that are required to write clean and maintainable Java code. Learn how to define methods with the same name but different signatures (i.e., different order and type of input arguments), invoke overloaded methods, and add constructors to a class. This course will also enable you to use the 'this' keyword to invoke multiple constructors, also known as constructor chaining. By the time you are done with this course, you will have the skills to use important code re-use mechanisms such as method overloading and constructor chaining in java.
12 videos | 1h has Assessment available Badge
Modeling Entities in Java: Static Members, Arguments, & Method Overriding
The best way to avoid mysterious bugs while running your Java code is to be adept at working with static members, argument passing, and object base class methods​. Use this course to master these subtleties: the difference between static and instance variables and methods, the hashCode contract, and how pass-by-value and pass-by-reference semantics play out with argument passing in Java. By the end of this course, you'll be able to model state in classes using both static and instance variables, write methods to avoid unexpected changes in input arguments, and adhere to the hashCode contract so that objects function as expected when placed in common Java containers.
14 videos | 2h has Assessment available Badge
Mapping Relationships in Java: Modeling Is-a Relationships Using Inheritance
Java is an object-oriented programming language, meaning Java programs and frameworks are built on the pillars of inheritance and runtime polymorphism. Inheritance is used to model is-a relationships between classes; such relationships could include either behavior and state or just behavior alone. Use this course to appreciate how classes can be used to model an entity's state and behavior and inheritance to model is-a relationships between two classes. Create various objects of the universal base class Java.lang.Object and of other built-in and custom classes. Use the instanceof operator and the getClass method. Create an inheritance hierarchy out of custom classes. Then, practice using up-casting and down-casting on your objects to explore the relationship between variable types, object types, and inheritance. By the time you're finished, you'll clearly understand how inheritance is a powerful mechanism for code re-use and modeling is-a relationships in Java.
15 videos | 1h has Assessment available Badge
Mapping Relationships in Java: Constructors & Polymorphism
Runtime polymorphism involves variables of a base class containing objects of a derived class. Java uses dynamic binding to ensure that such variables are a powerful mechanism for writing clean, extensible, and correct code. This course takes you through the use of these advanced Java processes and mechanisms. Examine how constructors work with inheritance, including the order of constructor invocation, the role of base and derived class constructors, and the super keyword. Learn about runtime polymorphism and how this process of determining which implementation of a method to invoke at runtime is known as dynamic method dispatch. As you advance, use compile-time polymorphism in Java through method overloading. By the end of this course, you'll have a solid grasp of constructor invocation and both runtime and compile-time polymorphism in Java.
14 videos | 1h has Assessment available Badge
Mapping Relationships in Java: Overriding Methods and Using Access Modifiers
Method overriding is a way in which a derived class can redefine - and override - the implementation of a method already defined in a base class. By overriding only those methods you absolutely need to and relying on the base class implementations for all others, you get a lot done with relatively little new code. Use this course to learn how to carry out this technique. Explore the somewhat surprising behavior of static methods and the phenomenon known as hiding. Use the final keyword to mark member variables, member functions, and even entire classes. Use the abstract keyword to indicate a given method is not implemented. Study the semantics of the access modifiers public, private, protected, and package-private. When you're done, you'll recognize how overriding differs from hiding, the semantics of access modifiers, and how abstract classes are used.
15 videos |