Object Oriented Programming - Basics to Advance (Java OOP)
- Description
- Curriculum
- FAQ
- Reviews
From this course, you can learn Object-Oriented Programming from basics to advanced concepts.
All code examples in the course are written in Java but that’s doesn’t mean you can’t apply the knowledge from this course in other programming languages. You can easily use the knowledge from this course in any language if you want to build applications with the help of an object-oriented programming approach.
There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:
– Coding exercises
To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will have different practical tasks which will help you learn and understand Java better.
One of the key tasks where you can practice your knowledge is the implementation of a backend system for an online store. Also, you have a lot of tasks that use domain-specific terminology: accounts, transactions, users, carts, menu, services, etc. So that means you are learning programming without abstract concepts like it is written in the books or in other courses. You learn domain-specific terminology and during the lessons, we investigate specific extracts from code that can give you a clear vision of how you can apply the knowledge in real life.
– Open source code
We hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.
You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn’t work with any testing framework in the past.
– Q&A support
The significant difference between the online and offline learning process is the instructor’s availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address the issue.
So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? 🙂 ), but you also get tutor support and answers to your questions along with this course.
– Relevant knowledge
After our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!
The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.
With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.
– Free mobile App without limits for our students
Knowing Java is one skill. Be able to pass interviews in the company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.
In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)
The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.
Also, only for our students – there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.
– High concentration of useful material in each lesson
Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.
This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.
Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in the scope of this lesson – the instructor will make an announcement when a specific topic will be covered.
Go and try it yourself! We will appreciate your feedback.
So don’t wait! Take a look at the lessons’ preview if you still have doubts!
Buy this course today, and you will get all updates for FREE!
For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!
Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best Java course ever!
See you at the lessons! 🙂
-
1Communication planVideo lesson
From this lecture you will learn:
• How to communicate during this course• Where to ask questions
• How to ask questions
• Communication channels
-
2Unlimited access to Learn-IT application for studentsVideo lesson
From this lecture you will learn:
• Where to find good tests to verify your knowledge
• How to get unlimited access to Learn IT application (only for my students from Udemy)
-
3Tips to Improve Your Course Taking ExperienceText lesson
-
4Additional Free Learning Materials to Use During the CourseText lesson
-
5Object-oriented programming: BasicsVideo lesson
From this lecture you will learn:
• What is OOP
• What is an object
• Class
• Why do we need OOP
• OOP advantages
• OOP VS Functional programming
• Inheritance
• Encapsulation
• Polymorphism
• Abstraction
-
6Classes & ObjectsVideo lesson
From this lecture you will learn:
• What does class consist of
• Fields
• Initialization blocks
• Constructors
• Methods
• Nested classes
• Getters and setters
• toString() method
• How to create object
-
7Different types of Classes, Abstract keyword and Abstract classesVideo lesson
From this lecture you will learn:
• Concrete classes
• Nested classes
• Final classes
• POJO classes
• Abstract classes
• Anonymous classes
• Abstract keyword
-
8InterfacesVideo lesson
From this lecture you will learn:
• What are interfaces
• What does interface consist of
• Abstract class VS Interface
• Interface VS Class VS Type
-
9InheritanceVideo lesson
From this lecture you will learn:
• What is inheritance
• ‘super’ keyword
• ‘instanceof’ operator
• How to extend classes
• Inheritance rules
-
10Polymorphism and 'final' keywordVideo lesson
From this lecture you will learn:
• What is polymorphism
• Method overriding
• Override VS Overload
• Dynamic binding
• ‘final’ keyword
-
11'static' keywordVideo lesson
From this lecture you will learn:
• What is ‘static’ keyword
• Where we can use ‘static’ keyword
• Static methods
• Static fields
• Static import
• Static VS dynamic binding
-
12EncapsulationVideo lesson
From this lecture you will learn:
• What is encapsulation
• Access modifiers
• Which modifiers to use and when
• Rules during overriding
-
13Object, JNI and Object class overviewVideo lesson
From this lecture you will learn:
• What is an object
• Object class overview
• JNI
• ‘native’ keyword
• @Deprecated annotation
-
14SOLID principles overview & Single Responsibility PrincipleVideo lesson
From this lecture you will learn:
• What are SOLID principles
• SOLID principles in OOP
• Single responsibility principle
-
15Open / Closed PrincipleVideo lesson
From this lecture you will learn:
• Open / closed principle
• Code examples
-
16Liskov Substitution PrincipleVideo lesson
From this lecture you will learn:
• Liskov substitution principle
• Code examples
-
17Interface Segregation PrincipleVideo lesson
From this lecture you will learn:
• Interface segregation principle
• Code examples
-
18Dependency Inversion PrincipleVideo lesson
From this lecture you will learn:
• Dependency inversion principle
• Code examples
-
19Single Responsibility Principle: User Registration and Authentication Refactoring ExerciseQuiz
-
20Open / Closed Principle: Shape Refactoring ChallengeQuiz
-
21Liskov Substitution Principle: Square and Rectangle Refactoring ChallengeQuiz
-
22Interface Segregation Principle: Worker Refactoring ChallengeQuiz
-
23Dependency Inversion Principle: Car-Engine Refactoring ChallengeQuiz
-
24Methods in Java: OverviewVideo lesson
From this lecture you will learn:
• What are methods
• How to declare a method
• What is method signature
• What is method overloading
• How to call method
-
25Parameter Passing Mechanism in JavaVideo lesson
From this lecture you will learn:
• Passing data by value
• Passing data by reference
• Passing primitive types to method in Java
• Passing reference types to method in Java
-
26Recursive methodsVideo lesson
From this lecture you will learn:
• What is recursion
• What are recursive methods
• How to write recursive methods
• When do we need recursive methods
• Pros and cons of recursive methods
-
27Variable Length ArgumentsVideo lesson
From this lecture you will learn:
• What are variable-length arguments
• Syntax of varargs
• Varargs in the methods
-
28Find max int in arrayQuiz
-
29Draw empty rectangleQuiz
-
30Calculate Amount of WordsQuiz
-
31Filter String arrayQuiz
-
32Rotate MatrixQuiz
-
33Extend ArrayQuiz
-
34Greatest Common DivisorQuiz
-
35Sum all digits in numberQuiz
-
36String ProcessorQuiz
-
37Turn each first letter in the word to capitalQuiz
-
38Convert decimal to Roman numbers and vice versaQuiz
-
39Homework review: MethodsVideo lesson
In this video we will review coding exercises from this section
-
43Exam and homework for OOP topicVideo lesson
From this lecture you will learn:
• Requirements for EXAM task
• BDD – overview
• Exam task – demo
• Object-oriented programming homework
-
44Payments and Transacations processingQuiz
-
45Books ManagementQuiz
-
46Presents ManagementQuiz
-
47EXAM: Back-end application for online storeQuiz
-
48Clean Code Architecture, Coupling & CohesionVideo lesson
• What is a clean architecture
• What is a coupling
• Types of a coupling
• What is a cohesion
• Types of a cohesion
• Benefits of Clean Architecture
• Plugin concept
• Why do we need clean architecture
• Advantages and disadvantages of clean architecture
-
49Tell, Don’t Ask Pricniple & Data StructuresVideo lesson
• Tell, don’t ask principle
• How to apply ‘Tell don’t ask’ in real life
• What is data structures
• Objects VS Data structures
• Getters and Setters in objects
• When to use data structures
-
50Law of DemeterVideo lesson
• What is Law of Demeter
• Goals
• Exception from law
• Pros & Cons
• Code Examples
-
51KISS Principle in OOPVideo lesson
KISS Principle - Definition
Variants of KISS in Software Development
Key Concepts of KISS
Why Use KISS Principle / Benefits
How to Apply KISS Principle
Case Studies of KISS Principle
Code Examples of KISS Principle
-
52YAGNI Principle in OOPVideo lesson
YAGNI Principle - Definition
Why Use YAGNI Principle / Benefits
How to Apply YAGNI
Case Studies of YAGNI Principle
Code Examples of YAGNI Principle
YAGNI Principle VS KISS Principle - Key Differences
-
53DRY Principle in OOP | Part 1Video lesson
DRY Principle - Definition
Why Use DRY Principle / Benefits
How to Apply DRY
Contrasting Concepts - WET & AHA
Case Studies of DRY Principle
-
54DRY Principle in OOP | Part 2 - PracticeVideo lesson
Code Examples of DRY Principle
-
55Packaging Pricniples p.1: Cohesion PrinciplesVideo lesson
• Problem statement
• Why do we need a good structure
• How to establish good code structure
• Factors to consider during the code grouping
• Cohesion Principles
• Common closure principle
• Common reuse principle
• Reuse-release equivalence principle
-
56Packaging Pricniples p.2: Coupling Principles and OthersVideo lesson
• Coupling principles
• Acyclic dependencies principle
• Stable dependencies principle
• Stable abstractions principle
• Package by layer
• Package by feature
• Conway's law
• How technical factors impact code structure
• Tools for code analysis
-
57GoF Patterns: OverviewVideo lesson
• Why do we need design patterns
• What are GoF patterns
• Key points of GoF patterns
• Creational Patterns: Overview
• Structural Patterns: Overview
• Behavioral Patterns: Overview
• Class & Object Patterns
• What patterns we are going to learn in this course
• Answers to most common questions of my students
-
58Creational PatternsVideo lesson
• Singleton
• Prototype
• Factory Method
• Builder
• Abstract Factory
• Factory Method VS Abstract Factory
-
59Structural Patterns, p.1Video lesson
• Proxy
• Decorator
• Adapter
• Façade
• Comparative Analysis
-
60Structural Patterns, p.2Video lesson
• Bridge
• Flyweight
• Composite
-
61Behevioral Patterns, p.1Video lesson
Strategy Pattern
Command Pattern
Strategy VS Command
Template Method
Iterator
Chain of responsibility
-
62Behevioral Patterns, p.2Video lesson
• Visitor
• Visitor VS Decorator
• State
• Observer
• Memento
-
63Behevioral Patterns, p.3Video lesson
• Interpreter
• Mediator
-
65Why you need to learn UML?Text lesson
In this lesson we are going to understand why we need to learn UML in scope of OOP course.
-
66Introduction to UMLVideo lesson
What is UML
Who is UML for
UML versions
Two main groups of UML diagrams
Diagram types in UML
Tools to work with UML
Profiles in UML: extension of modelling laguage
Key components of a Profile
Usage of Profiles
Examples of Profiles
UML role in the modern software development process
When to use UML
-
67Use Case DiagramVideo lesson
What is Use Case Diagram
Key Elements of Use Case Diagram
Actor
Use Case
Relationships
Association
Generalization
Include
Extend
System Boundary
Use Case Diagram for online shopping system
Diagrams.net Interface
Practical example review
-
68Sequence DiagramVideo lesson
What is a sequence diagram
Key elements of sequence diagram
Lifelines
Messages
Activation Bars
Return Messages
Fragments
Types of messages
Types of fragments
Real life example: User Registration Sequence Diagram
-
69Activity DiagramVideo lesson
What is activity diagram
Components of Activity Diagram
Activity Diagram VS Sequence Diagram
When to use Activity Diagram
Real-life example - Activity Diagram for Order Processing Workflow
-
70State Machine DiagramVideo lesson
What is State Machine Diagram
Types of State Machine Diagram
Behavioral State Machine
Protocol State Machine
Elements of State Machine Diagram
State
Types of State
Review of two practical examples
-
71Communication Diagram (formerly known as Collaboration Diagram)Video lesson
What is a communication diagram
Collaboration VS Communication diagram
Communication VS Sequence diagram
Elements of Communication diagram
Real-life example: Communication diagram for online shop
-
72Timing DiagramVideo lesson
What is Timing Diagram
Purpose and goal of Timing Diagram
When to use Timing Diagram
Elements of Timing Diagram
Review of practical example
-
73Interaction Overview DiagramVideo lesson
What is Interaction Overview Diagram
Group of Interaction Diagrams
Purpose of Interaction Overview Diagram
Elements of Interaction Overview Diagram
Review of practical example
-
74Class DiagramVideo lesson
What is Class Diagram
Goals of Class Diagram
When to use Class Diagram
Elements of a Class Diagram
Class
Association
Multiplicity & Cardinality
Aggregation
Composition
Dependency
Generalization
Interfaces
Enumeration
Rea-life example: Order Processing
-
75Object DiagramVideo lesson
What is Object Diagram
Class Diagram VS Object Diagram
Goals and Purposes of Object Diagram
When to use Object Diagram
Elements of Object Diagram
Real-life example
-
76Component DiagramVideo lesson
What is Component Diagram
What is a Component
Goals & Purposes of Component Diagram
When to use Component Diagram
Elements of Component Diagram
Component
Assembly Connector & Interface
Port
Dependency Relationship
Review of real-life example
-
77Package DiagramVideo lesson
What is Package Diagram
What is a Package
Goals & Purposes of Package Diagram
When to use Package Diagram
Elements of Package Diagram
Import VS Access Dependencies
Review of real-life example: Order Processing System
-
78Deployment DiagramVideo lesson
What is Deplyoment Diagram
Goals & Purposes of Deplyoment Diagram
When to use Deplyoment Diagram
Elements of Deplyoment Diagram
Review of real-life example
-
79Composite Structure DiagramVideo lesson
What is Composite Structure Diagram
What is a “classifier”
Goals & Purposes of Composite Structure Diagram
When to use Composite Structure Diagram
Elements of Composite Structure Diagram
Review of real-life example
-
80Profile DiagramVideo lesson
What is Profile Diagram
Goals & Purposes of Profile Diagram
When to use Profile Diagram
Elements of Profile Diagram
Review of real-life example
External Links May Contain Affiliate Links read more