Booking options
£41.99
£41.99
On-Demand course
6 hours 39 minutes
All levels
This course introduces you to the paradigm and features of object-oriented programming using Java, an object-oriented language popular in the industry and IntelliJ. The course entails modeling objects and classes, object-oriented facilities like inheritance and polymorphism, native data structures, exception handling, file management, and streams.
Java is a high-level, class-based OOP language developed as a general-purpose programming language intended to write once and run anywhere (WORA). Compiled Java code can run on all platforms without the need to recompile. This course has been delivered over four modules. Module 1 explores the Java Development Cycle and allows us to differentiate between JDK versions and development tools. You will learn about operators and basic syntax and write a simple program. In module 2, The concepts covered include strings, string methods, StringBuilder, data flow diagrams, decision-making, loops, arrays, and simple programs. Module 3 delves into classes and objects, inheritance and polymorphism, Lambdas, and exception handling. Finally, over module 4, we will work on two UML case studies, including the ATM simulation and Employee payroll system. We will also learn about version control and GitHub integration of the projects developed. Upon completion of the course, you will gain comprehensive Java programming knowledge and be able to write complex codes in a real-world scenario independently. You will gain extensive foundational skills to become an intermediate to advanced-level developer. All resources are available at: https://github.com/PacktPublishing/Fundamentals-Of-Object-Oriented-Programming-Java-intelliJ
Learn basic Java syntax using variables and built-in operators
Use and understand inheritance facilities in programming
Use interfaces and demonstrate polymorphic behavior
Create and implement collections and data structures
Utilize exception-handling facilities and defensive programming
Create solutions based on UML models
This course caters to beginner and novice programmers who like to develop a basic understanding of writing simple object-oriented programming in Java. Programming hobbyists and creative people who love learning and want to understand how software systems work, or anyone looking to advance their programming skillsets. The desired prerequisites for this course require you to have a basic understanding of Data Flow (DFD) and UML diagrams and have access to a personal computer and internet connection.
his course begins with an introduction to the paradigm and features of OOP using Java. The course delivers lessons with practical examples and live coding over high-quality video lessons with substantive explanations for lucidly understanding the content and concepts.
Learn core programming, logical reasoning, critical reasoning, and problem-solving in Java code * Learn Java syntax to store, process, and retrieve data, input, and output with simple programs * Use built-in Java library I/O and create custom libraries and defensive programming techniques
https://github.com/PacktPublishing/Fundamentals-Of-Object-Oriented-Programming-Java-intelliJ
Doron William helps businesses and individuals streamline their systems and make them more efficient. He aligns business processes with appropriate solutions and improves existing ones. He believes in helping find ways to make people's lives easier by leveraging cutting-edge technology and developing, automating, and deploying more efficient and user-friendly software solutions. He is a cloud and desktop-based solutions architect and software developer with experience in leading technical teams using Agile and DevOps methodologies to develop enterprise-level software solutions. He is also adept at analyzing the business to determine suitable strategies to install, maintain, and upgrade software and hardware infrastructure. He aims at helping businesses and individuals bridge the gap between humanity and technology.
1. Module 1
This section focuses on the introduction to the JAVA ecosystem. We learn to install, set up, and run our first JAVA program. We will also look at variables and operators in Java and work on projects based on what we learned in this section.
1. Introduction This video introduces the author, the course in general, what to expect from the course, and a brief introduction to Java programming. |
2. Module Objectives - Getting you comfortable with the JAVA ecosystem In this video, we will look at the objectives of Module 1. We will define the Java development Lifecycle and compilation. We will differentiate between the different versions of Java and learn about basic Java syntax. |
3. Environment Setup & First Run This video illustrates how to install the Java development kit, configure it on our machine, and run the Java program for the first time. |
4. Variables & Data Types In this lesson, we will learn about variables and look at the various datatypes available in Java. We will create a new Java project and understand the different data types. |
5. Char Data Type In this video, we will understand the char datatype and briefly look at the string datatype. We will define several char variables in upper and lower case and numbers and integers. |
6. Boolean & Logical Operators In this lecture, we will learn about the Boolean datatype and also look at logical operators in Java. We will create statements and have our program evaluate whether the statements are true or false. |
7. Program: User Input - Voting Age We will learn to accept user inputs, a critical step for any software program. We will learn to use the scanner library to achieve this. |
8. Arithmetic Operators In this lesson, we will perform basic arithmetic calculations used in Java for mathematical operations. |
9. DateTime We will look at the Java built-in API that contains classes for representing data and time, the java.util, java.time, java.sql, and java.text packages. |
10. Program: Date Difference In this video, we will learn to write a simple program that uses the DateTime class to calculate the age difference between two siblings. |
11. Program: Simple Interest Calculator This lecture will demonstrate how to write a program that calculates simple interest earned on a dollar amount invested at an interest rate. |
12. Module Summary This video summarizes the concepts learned in Module 1: the Java development lifecycle and compilation process, understanding the different Java versions and development tools, and compiling and running programs via the command line. |
2. Module 2
This section focuses on the core concepts of Java programming, including strings, string methods, StringBuilder, decision-making, loops, and arrays, and we will also learn to write simple programs.
1. Module Objectives - Enabling our programs to make decisions based on input This brief video outlines what we will learn in this module, focusing mainly on the deeper elements of programming involving Java, like strings, arrays, loops, and decision-making. |
2. Strings Continuing on our previous lesson, where we learned about the datatypes in Java, in this lesson, we will look at the string datatype in more detail. |
3. String Methods In this video, we will learn about the two methods of assigning a string variable in Java programming. |
4. Stringbuilder Here, we will look at the StringBuilder, which creates a mutable or modifiable succession of characters in the strings class. |
5. Type Casting In this lesson, we will learn to use a feature called typecasting to change one datatype to another and look at the two methods of typecasting. |
6. Flow Control: IF/ELSE, Ternary Operator - Test Scores Program We will learn to use the IF statement to check if a block of conditions is true and the ELSE statement if false and write a program to evaluate test scores. |
7. Flow Control: Switch Statement Program - Print Weekday Based On Number Let's look at the SWITCH statement in this video, which is also a part of the decision-making tools in Java programming. |
8. Flow Control: Loops - WHILE | DO-WHILE | FOR Here, we will understand what a loop is, and we will look at how a loop executes a program as long as a specified condition is true. |
9. Flow Control: Loops - BREAK | CONTINUE In this lesson, we will continue on loops and closely examine the BREAK and CONTINUE keywords and their implementation. |
10. Arrays In this video, we will learn about Java arrays, which store multiple values in a single variable instead of creating separate variables for each value. |
11. Methods We will understand a method, a block of code that runs only when called and passes data known as parameters into a method. This helps us reuse code. |
12. Program: Calculate Test Score Average It is time to put all the knowledge we gained from the previous lessons into creating a program that tests the scoring average. |
13. Program: Find Max Value In Array Furthering our program writing skills, we will learn to create a program that determines the maximum value in an array. |
14. Module Summary This brief video succinctly summarizes what we learned throughout this module. |
3. Module 3
Module 3 focuses on classes and objects, how to create them, and understanding the difference between abstract classes and interfaces. We will examine file input and outputs and exception handling in defensive programming.
1. Module Objectives - Understanding OOP Architecture and Design concepts This brief video outlines the concepts we will learn in this module, including OOP architecture and design. |
2. Classes & Objects Here, we will understand what classes and objects are and which are the keys to object-oriented programming. |
3. Constructors & Access Specifiers (Setters and Getters) In this lesson, we will learn about constructors, a block of code that initializes a newly created object, and access specifiers that determine if other classes can use a particular method. |
4. The 4 Pillars Of OOP This video illustrates the four major pillars of object-oriented programming: encapsulation, abstraction, polymorphism, and inheritance. |
5. Inheritance In this video, we will look at inheritance in Java, where we have a superclass and a derived class, which inherits the attributes from the parent class. |
6. Multi-level Inheritance, Polymorphism Here, we will look at the multilevel inheritance of the classes and how we can share the attributes of many subclasses. |
7. Abstract Class This lesson will teach us how to create a class to represent concepts rather than objects. |
8. Interfaces This video elaborates on interfaces, how an interface determines the software's features, and how they can be implemented. |
9. Const, Enum, Static, Final In this lecture, we will learn about constants and static variables and how to create variables using the final and static methods. |
10. Collections Let's understand about Java collections framework designed to support numerous collections hierarchically. |
11. Exception Handling Here, we will look at exceptions or conditions that may arise during the execution of a Java program and understand the error or exception handling codes. |
12. File Handling In this video, we will be looking at file and exception handling. We will wrap our file statements inside the try and catch blocks. |
13. Program: Custom Message Based on Weekday We will use all the concepts learned in this module and write a program that creates a custom message based on the day of the week. |
14. Module Summary This video briefly outlines the concepts learned in the module in a quick refresher. |
4. Module 4
In module four, we will look at sample real-world programs, use a UML diagram, and understand version control and GitHub integration.
1. Module Objectives - Designing real-world solutions based on UML diagrams In this video, we will briefly look at an outline of the objectives of this module to include UML cases and create sample programs to understand the concepts further. |
2. Project: Payroll System Simulation - Part 1 This lesson will teach us to create a simple payroll management system. In this lesson, we will look at the program's basic structure. |
3. Project: Payroll System Simulation - Part 2 We will continue with the second part of the payroll system and look at how to create changes or updates to the classes used. |
4. Project: Payroll System Simulation - Part 3 In part 3 of the payroll system, we will look at using the paystub method for our employee classes created in the system. |
5. Project: Payroll System Simulation - Part 4 In this video, we will be introduced to GitHub, where we will store our code for the payroll management system. |
6. Project: Payroll System Simulation - Part 5 In the final lesson on the payroll system, we will focus on grouping our employees' class based on the department they work in and make changes to our classes to display the results. |
7. Project: ATM Simulation Part 1 - Interface Example This video demonstrates how to simulate a real-world ATM program using a UML example. |
8. Project: ATM Simulation Part 2 - UI Menu In the last video, we created a base account class and implemented the transactions interface. Here, we will learn to create user prompts to input data into the system. |
9. Project: ATM Simulation Part 3 - Single Inheritance This video focuses on rectifying the code using the break statement that will handle the unwanted comments appearing in the ATM system, |
10. Project: ATM Simulation Part 4 - Transactions Report We will continue further in the ATM project and implement the transaction portion of the ATM program. |
11. Project: ATM Simulation Part 5 - GitHub Integration We will check and execute our ATM simulation program and learn to upload the program on GitHub. |
12. Module Summary |