Mastering Modern Java Programming: Beginner to Pro [2026]
Become a Java developer - Core Java, Functional Programming, Lambdas, Streams, Collections, Covers upto Java 25
Lo que serás capaz de hacer
Welcome to the course Mastering Modern Java Programming: Beginner to Pro , a comprehensive course designed to equip developers of all levels with the essential skills and knowledge to master Java programming from its fundamentals to advanced topics up to Java 25. Whether you're a beginner looking to kickstart your programming journey or an experienced developer seeking to enhance your Java expertise, this course has something valuable to offer. Course Overview: This course is meticulously crafted to cover every aspect of Java programming in-depth, ensuring a solid understanding of both the foundational concepts and the latest advancements in the language. Here's what you can expect to learn throughout the course: Section 1: Let's Say Hello to Java What is Java & why should you learn Approach to learn Java language Writing your first Java statement using jshell Brief history of Java & it's release timeline Why do we have different JDK vendors in Java ecosystem Installation of Java Section 2: Primitive data types in Java Introduction to Java Keywords Deep dive on byte, short, int, long, float, double data types Syntax to declare primitive data types & store data using them How to name a java variable Case Styles in programming Deep dive on boolean primitive data type Deep dive on char primitive data type Demo of Overflow and Underflow [Java 7] Using underscore in numeric literals Demo of octal number format in Java Demo of hexa number format in Java Demo of binary number format in Java Type casting in Java Demo of implicit and explicit casting Introduction to String in Java Demo of String in Java Section 3: What happens behind the scenes when a Java program executes Introduction to life cycle of a Java program What is JDK, JRE, JVM How Java became a platform independent language Introduction to Java program code structure Writing first Java class, compiling & running it Introduction to IDE & IntelliJ IDEA Create first Java project in IntelliJ & set up a theme Writing first Java class in IntelliJ Section 4: Deep dive on Java classes, methods, fields, constructors Java supports Object-oriented programming (OOP) Demo of creating a Java class Declaring fields in a Java class Demo of Java methods Introduction to method signature Purpose of a return statement in Java methods Syntax of method invocation in Java Let’s say hi to main method again How to create & initialize Java objects Introduction to Constructor in Java Demo of Constructor in Java & introduction to debugging Problem with default or no-args constructor Constructor Overloading in Java Constructor chaining in Java Usage of return statement in constructor Instance Initialization Block in Java class - Part 1 Instance Initialization Block in Java class - Part 2 Introduction to static variables in Java How to define constant final static variables Differences between static & instance variables Introduction to static methods in Java Static Initialization Block in Java class Debugging of method invocations in IntelliJ Where does Java store classes, objects, variables, methods Deep dive on Heap memory and stack memory Introduction to null in Java Object Destruction and Garbage collection in Java Class vs Object vs Instance vs Reference What is encapsulation in Java Section 5: Comments in Java Single line Comments in Java Multi line Comments in Java Introduction to javadoc comments Generating javadoc using IntelliJ Section 6: Deep dive on String in Java Introduction to String Pool in Java The intern method in String The concat method in String Escape sequence character & Unicode char values in String Finding the length of a String Comparing Strings in Java Fetching a character at an index in String Checking if a String is empty Changing the case in String Converting values as String Searching for a value in String Trimming a String Fetching Substring from a String Replacing a part of a String Splitting Strings [JAVA 8] Joining Strings The format() method in String System.out.printf() method Understanding how String objects are immutable How to create mutable strings in Java [JAVA 15] Text Block in Java Converting String to primitive data type values Convert String to double data type Section 7: Operators in Java Introduction to Operators & Operands in Java Assignment Operator in Java Introduction to Arithmetic Operators in Java Addition Operator in Java String Concatenation Operator Division Operator in Java Modulus Operator in Java Unary plus and minus operators Compound Arithmetic Assignment Operators in Java Increment and Decrement operators in Java Introduction to Relational Operators in Java Equality Operator in Java Inequality Operator in Java Greater than, Greater than or equal, Less than, Less than or equal operators Introduction to Logical Operators in Java Logical NOT operator in Java Logical Short-Circuit AND, Logical AND operators in Java Logical Short-Circuit OR, Logical OR operators in Java Logical XOR operator in Java Compound Logical Assignment Operators in Java Bitwise Operators in Java Bitwise NOT operator or 1’s complement in Java Bitwise AND operator in Java Bitwise OR operator in Java Bitwise XOR operator in Java Left Shift operator in Java Signed Right Shift operator in Java Unsigned Right Shift operator in Java Compound assignment bitwise operators in Java Ternary or Conditional operator in Java Details of Java operators Precedence & Associativity Section 8: Control flow statements in Java Introduction to Control flow statements in Java Deep dive on if, else if, else statements in Java Nested if- else if - else statements Ternary operator in the place of if-else statement Deep dive on switch case statement [JAVA 14] Deep dive on switch expression Deep dive on while statement Deep dive on do while statement Deep dive on for loop Deep dive on nested for loops break statement continue statement return statement Local variables & Scope Section 9: packages in Java Introduction to packages & benefits of them Creating a package Rules & standards to name a package Using package members with import statement The great java.lang package The static import statements Important points about packages & imports Introduction to access modifiers Demo of access modifiers for java classes Demo of access modifiers for methods, fields in classes Deep dive on POJO classes Section 10: Inheritance in Java Introduction to Inheritance in Java Object class is the default Superclass is-a & has-a relationships in Java What a subclass inherits from its superclass Introduction to upcasting in Java Introduction to downcasting & it's demo instanceof Operator Static Binding and Dynamic Binding in Java What is Polymorphism in Java Method Overriding super keyword to invoke super class methods from sub class Method Overloading Method overriding vs Method overloading Method hiding in Java Inheritance Field hiding in Java Inheritance The story of constructors & Inheritance together this and super keywords in Java Types of Inheritance in Java abstract methods and classes final keyword in Java [JAVA 17] sealed classes & interfaces Section 11: Interfaces in Java Introduction to Interfaces Constant Field Declarations in interface [JAVA 8] How to build default methods in interfaces [JAVA 8] How to build static methods in interfaces Multiple Inheritance using interfaces Interface defines a new type Marker Interface [JAVA 8] Functional Interface Class Vs Abstract Class Vs Interface Section 12: Arrays in Java What is a Array in Java Declaring & initializing Arrays Arrays length Iterate elements of Array using for loop Iterate elements of Array using for-each loop Arrays advantages and disadvantages Copying Arrays using loops Copying Arrays using arraycopy and copyOf methods Converting Arrays Sorting Arrays Searching an Array Filling an Array Introduction to multidimensional or nested arrays Two-Dimensional or 2D Arrays Jagged Arrays Three-Dimensional or 3D Arrays Section 13: Accept input using BufferedReader and Scanner Understanding System.out.println Introduction to BufferedReader & Demo Introduction to Scanner & Demo Comparison of BufferedReader and Scanner Don’t use System.out.println in Production code Logging in Java Section 14: Exception handling using try, catch and finally Taste of first Exception try-catch block multiple catch blocks finally block [JAVA 7] try- with-resources statement Rules while handling exceptions The Exception Hierarchy Checked Exceptions Unchecked Exceptions throws keyword throw keyword Differences between throw and throws keyword Exception Propagation Nested try block Custom Checked Exception Custom Unchecked Exception final, finally and finalize Section 15: Unmasking Java's Superclass(java.lang.Object) Secrets Introduction to the methods in Object class Deep dive on getClass() in Object class Deep dive on hashCode() in Object class Deep dive on equals() in Object class Override hashCode() & equals() methods Override hashCode() & equals() methods using IntelliJ Deep dive on toString() in Object class Demo of hashCode(), equals() & toString() methods of String Deep dive on finalize() in Object class Deep dive on clone() in Object class Details about Shallow cloning & Deep cloning Mutable and Immutable objects [JAVA 16] Record classes [JAVA 10] var (local variable type inference) Section 16: Introduction to Collections & Wrapper Classes Arrays have limitations What are Collections & why they accept only objects Introduction to Wrapper Classes Convert Primitive Type to Wrapper Objects (Boxing) Convert Wrapper Objects into Primitive Types (Unboxing) Autoboxing and unboxing Caching with valueOf() methods Java Collection Framework Hierarchy Section 17: Lists and ArrayLists Unleashed – A Hilarious Journey through Data Structures Deep dive on the Collection Interface [JAVA 21] Deep dive on the Sequenced Collections Deep dive on the List Interface How to create objects of ArrayList Demo of ArrayList [JAVA 7] Diamond Operator in Java ArrayList performance [JAVA 9] Creating Immutable Lists Iterate ArrayList using for-each and iterator() Iterate ArrayList using listIterator() Sorting ArrayList using sort() methods Sorting ArrayList using custom Comparator Sorting ArrayList of custom data type using Comparable Sorting ArrayList of custom data type using Comparator Arrays vs ArrayList Section 18: LinkedLists - Java's Dance of Nodes Introduction of LinkedList How to create objects of LinkedList Demo of LinkedList Iterate LinkedList elements Sorting LinkedList elements LinkedList performance ArrayList vs LinkedList Section 19: Generics in Java Introduction to Generics in Java Why we need Generics in Java Generic class in Java Generics methods in Java Collections with out Generics Covariance Demo Subtype or Upper Bound Wildcards Supertype or Lower Bound Wildcards Unbounded Wildcards Section 20: Deep dive on Map, HashMap, TreeMap, LinkedHashMap Introduction to Map in Java Demo of HashMap How HashMap Store Key, Value How HashMap retrieve Value [JAVA 8] HashMap improvements in Java 8 Iterating HashMap using keySet() and entrySet() Iterating HashMap using values() Introduction to TreeMap in Java Demo of TreeMap in Java Demo of LinkedHashMap in Java [JAVA 9] Creating Immutable Maps Section 21: Set, HashSet, TreeSet, LinkedHashSet Introduction to Set in Java Demo of HashSet How HashSet works internally Iterating HashSet Set operations Demo of TreeSet in Java Demo of LinkedHashSet in Java [JAVA 9] Creating Immutable Sets List vs Set Section 22: Enums in Java Introduction to Enums Problems with normal Java class constants approach Demo of Enum approach Associating Data to Enum Constants Demo of EnumSet and it's important methods Advantages of Enums Section 23: Date and Time in Java How Java supports Date and Time Why a new Date API introduced in Java 8 Demo of java util Date Date formatting and parsing using SimpleDateFormat Demo of java sql Date Demo of java util Calendar TimeZone specific Date and Time [JAVA 8] Introduction to new Date & Time API from Java 8 [JAVA 8] The of() methods in java.time Date and Time API [JAVA 8] The from() & withXxx() methods in java.time Date and Time API [JAVA 8] The toXxx() & atXxx() methods in java.time Date and Time API [JAVA 8} The getXxx(), plusXxx() and minusXxx() methods in new Date & Time API [JAVA 8] Introduction to Instant and Duration in java.time Date and Time API [JAVA 8] Demo of Instant and Duration in java.time Date and Time API [JAVA 8] Period in java.time Date and Time API [JAVA 8] The multipliedBy(), dividedBy() & negated() methods [JAVA 8] The truncatedTo() method [JAVA 8] Demo of ZoneId, ZonedDateTime [JAVA 8] Demo of ZoneOffset [JAVA 8] Demo of OffsetDateTime and OffsetTime [JAVA 8] Demo of Day Light Saving with ZonedDateTime [JAVA 8] Non-ISO Calendars in java.time Date and Time API [JAVA 8] Formatting Dates and Times using DateTimeFormatter [JAVA 8] Parsing Dates and Times using DateTimeFormatter Section 24: [JAVA 8] Functional Programming using lambda expressions Introduction to Functional Programming Imperative style vs functional style programming What are lambda expressions and their syntax How to build Lambda expressions Deep dive on Functional Interfaces How Functional Interface & Lambda expressions are linked Anonymous inner class in the place of lambda expressions Predefined Functional interfaces inside JDK Deep dive on Predicate functional interface Deep dive on Function functional interface Deep dive on UnaryOperator interface Deep dive on Consumer interface Deep dive on Supplier interface Deep dive on BiFunctional Interfaces Primitive Type functional interfaces Deep dive on Lexical Scoping of Lambda expressions this and super inside lambda expression Section 25: [JAVA 8] Building Lambda expressions using Method References Introduction to Method References Demo of Static Method Reference Demo of Instance Method Reference Demo of Instance method Reference using Class type Demo of Constructor Reference Section 26: [JAVA 8] Streams API Introduction to java util stream API Creating a Stream from collections Streams have no storage Introduction to Streams Pipeline Demo of Streams map() method Demo of Streams flatMap() method Demo of Streams filter() method Demo of Streams limit() method Demo of Streams skip() method Streams are traversable only once Introduction to Streams reduce() method Demo of Streams reduce() method Demo of Streams collect() method Demo of Streams collectingAndThen() method Demo of Streams groupingBy() and partitioningBy() method Finding and Matching methods in Streams Quick revision about stream pipeline Deep dive on parallel streams and demo Collections Vs Streams Section 27: [JAVA 8] Optional to deal with nulls in Java Introduction to Optional class Demo of Optional Demo of ifPresent, ifPresentOrElse, orElse, orElseGet methods Demo of orElseThrow, map, filter methods Quick tip to filter null elements with Stream API Section 28: MultiThreading in Java What is MultiThreading How a program or a software executes inside a computer Parallel vs Concurrent Execution How multiple threads improve performance Creating Threads in Java MultiThreading Demo Program Demo of Thread methods getId, threadId, getName, setName, currentThread, sleep Demo of Thread method join, getPriority, setPriority Demo of wait(), notify(), notifyAll() Introduction to Race condition & synchronized keyword Demo of synchronized methods and blocks Introduction & Demo of volatile keyword Introduction to Deadlock Demo Deadlock & possible fixes [JAVA 21] Introduction to Virtual Threads Section 29 - New features from Java 22, Java 23 and Java 24 Launch Multi-File Source-Code Programs Unnamed Variables & Patterns Markdown Documentation Comments Stream Gatherers API Section 30 - New features from Java 25 Module Import Declarations Compact Source Files and Instance Main Methods Flexible Constructor Bodies Scoped Values Performance improvements using AOT Throughout the course, you'll engage in hands-on coding exercises, assignments, and projects to reinforce your learning and apply the concepts in real-world scenarios. Our experienced instructors will provide guidance, support, and insights to help you navigate the intricacies of Java programming effectively. Whether you aspire to become a Java developer, enhance your career prospects, or simply gain a deeper understanding of one of the most widely-used programming languages, this course will empower you to achieve your goals in the world of Java programming. Prerequisites: - No prior programming experience required, but familiarity with basic programming concepts will be beneficial. - A computer with internet access and a willingness to learn and practice. Target Audience: - Beginners aspiring to learn Java programming. - Experienced developers looking to expand their Java skills. - Students and professionals seeking to advance their careers in software development. Enroll now and embark on a journey to master Java programming comprehensively, from the basics to Java 24 and beyond!
- Java basics including OOPs principles, Keywords, Operators, Objects, Classes, Methods, Constructors, Control flow statements, Loops, Inheritance, Interface etc.
- Java intermediate concepts including Exceptional handling, Wrapper Classes, Collections, Enums, Date and Time API
- Java advance concepts including Generics, Functional Programming, Lambda Expressions, Functional Interfaces, Method References, Streams API, Multi Threading
- Achieve professional proficiency in Java programming
- Gain practical expertise by completing over 100 coding exercises
- Master Java best practices guided by an experienced developer
Temario
UNIDAD 1 - Let's Say Hello to Java · 11 leccionesUNIDAD 1 - Let's Say Hello to Java
UNIDAD 1 - Let's Say Hello to Java
- Introduction to the course & Agenda
- DO NOT SKIP - IMPORTANT INSTRUCTIONS FOR THE COURSE
- What is Java & why should you learn
- Approach to learn Java language
- [Java 9] Writing your first Java statement using jshell
- Let's write your first Java statement
- Brief history of Java & it's release timeline
- Why do we have different JDK vendors in Java ecosystem
- Installation of SDKMAN & Java in mac, Unix, Linux
- Installation of Java in Windows OS
- [Java 9] Demo of local jshell
UNIDAD 2 - Primitive data types in Java · 35 leccionesUNIDAD 2 - Primitive data types in Java
UNIDAD 2 - Primitive data types in Java
- DETAILS OF PDF CONTENT
- Introduction to Java Keywords
- Introduction to Primitive Data types in Java - Part 1
- Introduction to Primitive Data types in Java - Part 2
- Syntax to declare primitive data types & store data using them
- Demo of declaring primitive data types & store data using them
- A small adventure on Java Primitive Data Types
- How to name a java variable
- Case Styles in programming
- Deep dive on boolean primitive data type
- Boolean Fun: Java's True or False Adventures
- Deep dive on char primitive data type - Part 1
- Deep dive on char primitive data type - Part 2
- Deep dive on char primitive data type - Part 3
- Charmed Coding: Fun with Java's Char Data Type
- Introduction to integer primitive data types
- Demo of byte, short, int and long primitive data types
- Demo of Overflow and Underflow
- int overflow
- Introduction to floating data types
- Demo of float and double primitive data types - Part 1
- Demo of float and double primitive data types - Part 2
- [Java 7] Using underscore in numeric literals
- Creating a float number with underscores
- Other formats supported by integer & floating data types
- Demo of octal number format in Java
- Demo of hexa number format in Java
- Demo of binary number format in Java
- Type casting in Java
- Demo of implicit and explicit casting - Part 1
- Demo of implicit and explicit casting - Part 2
- Trying explicit casting
- Introduction to String in Java
- Demo of String in Java
- Joke Of the Day using a String variable
UNIDAD 3 - What happens behind the scenes when a Java program executes · 14 leccionesUNIDAD 3 - What happens behind the scenes when a Java program executes
UNIDAD 3 - What happens behind the scenes when a Java program executes
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to life cycle of a Java program
- What is JDK, JRE, JVM
- How Java became a platform independent language - Part 1
- How Java became a platform independent language - Part 2
- Quick knowledge check on Java life cycle & it's components
- Introduction to Java program code structure
- Writing first Java class, compiling & running it
- [JAVA 11] Launch Single-File Source-Code Programs
- [JAVA 25] Compact Source Files and Instance Main Methods
- Introduction to IDE & IntelliJ IDEA
- Create first Java project in IntelliJ & set up a theme
- Writing first Java class in IntelliJ
- Generate a Joke using a Java class, main method and String variable
UNIDAD 4 - Deep dive on Java classes, methods, fields, constructors · 41 leccionesUNIDAD 4 - Deep dive on Java classes, methods, fields, constructors
UNIDAD 4 - Deep dive on Java classes, methods, fields, constructors
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Java supports Object-oriented programming (OOP)
- So, what is a Java class
- Demo of creating a Java class
- Declaring fields in a Java class - Theory
- Declaring fields in a Java class - Demo
- Introduction to methods in Java - Part 1
- Introduction to methods in Java - Part 2
- Demo of Java methods - Part 1
- Demo of Java methods - Part 2
- Introduction to method signature
- Purpose of a return statement in Java methods
- Syntax of method invocation in Java
- Let’s say hi to main method again
- How to create & initialize Java objects - Theory
- How to create & initialize Java objects - Demo
- Introduction to Constructor in Java
- Demo of Constructor in Java & introduction to debugging
- Problem with default or no-args constructor
- Constructor Overloading in Java
- Constructor chaining in Java
- Usage of return statement in constructor
- Instance Initialization Block in Java class - Part 1
- Instance Initialization Block in Java class - Part 2
- Introduction to static variables in Java - Theory
- Introduction to static variables in Java - Demo
- How to define constant final static variables
- Differences between static & instance variables
- Introduction to static methods in Java - Theory
- Demo of static methods in Java - Part 1
- Demo of static methods in Java - Part 2
- Static Initialization Block in Java class - Part 1
- Static Initialization Block in Java class - Part 2
- Debugging of method invocations in IntelliJ
- Where does Java store classes, objects, variables, methods
- Deep dive on Heap memory and stack memory
- Demo of Heap memory and stack memory in IntelliJ
- Introduction to null in Java
- Object Destruction and Garbage collection in Java
- Class vs Object vs Instance vs Reference
- What is encapsulation in Java
UNIDAD 5 - Comments in Java · 10 leccionesUNIDAD 5 - Comments in Java
UNIDAD 5 - Comments in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Comments in Java
- Single line Comments in Java - Theory
- Single line Comments in Java - Demo
- Multi line Comments in Java - Theory
- Multi line Comments in Java - Demo
- Introduction to javadoc comments
- Introduction to javadoc comments Demo - Part 1
- Introduction to javadoc comments Demo - Part 2
- Generating javadoc using IntelliJ
UNIDAD 6 - Deep dive on String in Java · 40 leccionesUNIDAD 6 - Deep dive on String in Java
UNIDAD 6 - Deep dive on String in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to agenda of the section
- Introduction to String Pool in Java - Theory
- Demo of String Pool in Java
- The intern method in String
- The concat method in String
- Let's concat Strings
- Escape sequence character & Unicode char values in String
- Finding the length of a String
- Comparing Strings in Java - Part 1
- Comparing Strings in Java - Part 2
- Compare two Strings
- Fetching a character at an index in String
- CharAt challenge
- Checking if a String is empty
- Find if a String is empty or not
- Changing the case in String
- Convert a String content into uppercase
- Converting values as String
- Convert a float into a String
- Searching for a value in String
- Searching for a value in String
- Trimming a String
- Fetching Substring from a String
- Fetching Substring from a String
- Replacing a part of a String
- Replacing a part of a String
- Splitting Strings
- [JAVA 8] Joining Strings
- The format() method in String
- System.out.printf() method
- Trying printf() method
- Understanding how String objects are immutable
- How to create mutable strings in Java
- Demo of creating mutable strings in Java
- Palindrome assignment
- [JAVA 15] Text Block in Java
- Converting String to primitive data type values - Theory
- Converting String to primitive data type values - Demo
- Convert String to double data type
UNIDAD 7 - Operators in Java · 43 leccionesUNIDAD 7 - Operators in Java
UNIDAD 7 - Operators in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Operators & Operands in Java
- Operators categorisation in Java
- Expressions in Java
- Assignment Operator in Java - Part 1
- Assignment Operator in Java - Part 2
- Introduction to Arithmetic Operators in Java
- Addition Operator in Java - Part 1
- Addition Operator in Java - Part 2
- Calculating sum using Addition Operator
- String Concatenation Operator
- String Concatenation
- Division Operator in Java
- Modulus Operator in Java
- Unary plus and minus operators
- Compound Arithmetic Assignment Operators in Java
- Increment and Decrement operators in Java - Part 1
- Increment and Decrement operators in Java - Part 2
- Introduction to Relational Operators in Java
- Equality Operator in Java - Part 1
- Equality Operator in Java - Part 2
- Inequality Operator in Java
- Greater than, Greater than or equal, Less than, Less than or equal operators
- Introduction to Logical Operators in Java
- Logical NOT operator in Java
- Logical Short-Circuit AND, Logical AND operators in Java - Theory
- Logical Short-Circuit AND, Logical AND operators in Java - Demo
- Logical Short-Circuit OR, Logical OR operators in Java - Theory
- Logical Short-Circuit OR, Logical OR operators in Java - Demo
- Logical XOR operator in Java
- Compound Logical Assignment Operators in Java
- Bitwise Operators in Java
- Bitwise NOT operator or 1’s complement in Java
- Bitwise AND operator in Java
- Bitwise OR operator in Java
- Bitwise XOR operator in Java
- Left Shift operator in Java
- Signed Right Shift operator in Java
- Unsigned Right Shift operator in Java
- Compound assignment bitwise operators in Java
- Ternary or Conditional operator in Java
- Introduction to Java operators Precedence & Associativity
- Details of Java operators Precedence & Associativity
UNIDAD 8 - Control flow statements in Java · 33 leccionesUNIDAD 8 - Control flow statements in Java
UNIDAD 8 - Control flow statements in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Control flow statements in Java
- Deep dive on if, else if, else statements in Java - Theory
- Demo of if, else if, else statements in Java - Part 1
- Demo of if, else if, else statements in Java - Part 2
- Check if a number is even or odd using modulus operator and if, else statements
- Finding if it is raining using Logical NOT operator and if, else statements
- Nested if- else if - else statements
- Funny food decision using Logical AND, OR operator and if, else statements
- Ternary operator in the place of if-else statement
- Rank Calculator using Ternary operator
- Deep dive on switch case statement - Theory
- Deep dive on switch case statement - Demo
- [JAVA 14] Deep dive on switch expression - Theory
- [JAVA 14] Deep dive on switch expression - Demo
- Mood Analyzer using Switch expression
- Funny memes around if and switch statements
- Deep dive on while statement - Theory
- Deep dive on while statement - Demo
- Sum of first 100 numbers using while loop
- Deep dive on do while statement
- Calculate Factorial using do while statement
- Deep dive on for loop - Theory
- Deep dive on for loop - Demo
- Sum of numbers using for loop
- Deep dive on nested for loops
- break statement - Theory
- break statement - Demo
- Find Divisible Number using while loop and break statement
- continue statement
- return statement
- Local variables & Scope - Theory
- Local variables & Scope - Demo
UNIDAD 9 - packages in Java · 16 leccionesUNIDAD 9 - packages in Java
UNIDAD 9 - packages in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to the structuring of code in Java projects
- Introduction to packages & benefits of them
- Creating a package - Part 1
- Creating a package - Part 2
- Rules & standards to name a package
- Using package members with import statement
- The great java.lang package
- The static import statements
- Important points about packages & imports
- Introduction to access modifiers
- Demo of access modifiers for java classes
- Demo of access modifiers for methods, fields in classes
- access modifiers real life analogies
- Deep dive on POJO classes - Part 1
- Deep dive on POJO classes - Part 2
UNIDAD 10 - Inheritance in Java · 35 leccionesUNIDAD 10 - Inheritance in Java
UNIDAD 10 - Inheritance in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Agenda of the section & quick revision of OOPs concepts
- Introduction to Inheritance in Java
- Deep dive on Inheritance - Theory
- Inheritance Demo - Part 1
- Inheritance Demo - Part 2
- Object class is the default Superclass
- is-a & has-a relationships in Java
- What a subclass inherits from its superclass
- Introduction to upcasting in Java
- Demo of upcasting - Part 1
- Demo of upcasting - Part 2
- Introduction to downcasting & it's demo
- instanceof Operator
- [JAVA 16] instanceof Operator with pattern matching
- Static Binding and Dynamic Binding in Java
- What is Polymorphism in Java
- Method Overriding - Theory
- Method Overriding - Demo
- Demo of dynamic polymorphism using method overriding
- super keyword to invoke super class methods from sub class
- Method Overloading - Theory
- Method Overloading - Demo
- Method overriding vs Method overloading
- Method hiding in Java Inheritance
- Field hiding in Java Inheritance
- The story of constructors & Inheritance together - Part 1
- The story of constructors & Inheritance together - Part 2
- this and super keywords in Java
- Types of Inheritance in Java
- abstract methods and classes - Part 1
- abstract methods and classes - Part 2
- final keyword in Java
- [JAVA 17] sealed classes & interfaces
- Funny memes of Inheritance
UNIDAD 11 - Interfaces in Java · 16 leccionesUNIDAD 11 - Interfaces in Java
UNIDAD 11 - Interfaces in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Interfaces
- How to create an interface
- Implementing a interface in Java
- Advantages of interfaces
- Constant Field Declarations in interface
- Different method declarations allowed in interface
- [JAVA 8] Why we need default methods in interfaces
- [JAVA 8] How to build default methods in interfaces
- [JAVA 8] How to build static methods in interfaces
- Multiple Inheritance using interfaces - Part 1
- Multiple Inheritance using interfaces - Part 2
- Interface defines a new type
- Marker Interface
- [JAVA 8] Functional Interface
- Class Vs Abstract Class Vs Interface
UNIDAD 12 - Arrays in Java · 24 leccionesUNIDAD 12 - Arrays in Java
UNIDAD 12 - Arrays in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- What is a Array in Java
- Declaring & initializing Arrays - Part 1
- Declaring & initializing Arrays - Part 2
- Arrays length
- Multiple String storage using Array
- Iterate elements of Array using for loop
- Iterate elements of Array using for-each loop
- Iterate Animal Sounds array
- Arrays advantages and disadvantages
- Copying Arrays using loops
- Copying Arrays using arraycopy and copyOf methods
- Converting Arrays
- Sorting Arrays
- Searching an Array
- Filling an Array
- Introduction to multidimensional or nested arrays
- Two-Dimensional or 2D Arrays - Theory
- Two-Dimensional or 2D Arrays - Demo
- Addition of two matrices using 2D arrays
- Subtraction of two matrices using 2D arrays
- Jagged Arrays
- Three-Dimensional or 3D Arrays
- Funny memes of Arrays
UNIDAD 13 - Accept input using BufferedReader and Scanner · 18 leccionesUNIDAD 13 - Accept input using BufferedReader and Scanner
UNIDAD 13 - Accept input using BufferedReader and Scanner
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Agenda of the section
- Understanding System.out.println
- Demo of Java Basic Input
- Introduction to BufferedReader
- Demo of BufferedReader
- BufferedReader examples to identify even number and sum
- BufferedReader example to identify prime number
- BufferedReader example to read the file content
- Arithmetic Operations using BufferedReader
- Introduction to Scanner & Demo - Part 1
- Introduction to Scanner & Demo - Part 2
- Scanner example to read the file content
- Arithmetic Operations using Scanner
- Comparison of BufferedReader and Scanner
- Don’t use System.out.println in Production code
- Logging in Java - Part 1
- Logging in Java - Part 2
UNIDAD 14 - Exception handling using try, catch and finally · 23 leccionesUNIDAD 14 - Exception handling using try, catch and finally
UNIDAD 14 - Exception handling using try, catch and finally
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Agenda of the section
- Taste of first Exception
- try-catch block - Part 1
- try-catch block - Part 2
- multiple catch blocks - Part 1
- [JAVA 7] multiple catch blocks - Part 2
- finally block
- [JAVA 7] try- with-resources statement
- Rules while handling exceptions
- The Exception Hierarchy - Part 1
- The Exception Hierarchy - Part 2
- Checked Exceptions
- Unchecked Exceptions
- throws keyword
- throw keyword
- Differences between throw and throws keyword
- Exception Propagation
- Nested try block
- Custom Checked Exception
- Custom Unchecked Exception
- final, finally and finalize
- Funny memes around exception handling
UNIDAD 15 - Unmasking Java's Superclass(java.lang.Object) Secrets · 20 leccionesUNIDAD 15 - Unmasking Java's Superclass(java.lang.Object) Secrets
UNIDAD 15 - Unmasking Java's Superclass(java.lang.Object) Secrets
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to the methods in Object class
- Deep dive on getClass() in Object class
- Deep dive on hashCode() in Object class - Part 1
- Deep dive on hashCode() in Object class - Part 2
- Deep dive on equals() in Object class
- Override hashCode() & equals() methods
- Override hashCode() & equals() methods using IntelliJ
- Deep dive on toString() in Object class
- Demo of hashCode(), equals() & toString() methods of String
- Deep dive on finalize() in Object class
- Deep dive on clone() in Object class
- Details about Shallow cloning & Deep cloning - Theory
- Details about Shallow cloning & Deep cloning - Demo
- Mutable and Immutable objects - Theory
- Mutable and Immutable objects - Demo
- [JAVA 16] Record classes - Part 1
- [JAVA 16] Record classes - Part 2
- [JAVA 10] var (local variable type inference) - Part 1
- [JAVA 10] var (local variable type inference) - Part 2
UNIDAD 16 - Introduction to Collections & Wrapper Classes · 10 leccionesUNIDAD 16 - Introduction to Collections & Wrapper Classes
UNIDAD 16 - Introduction to Collections & Wrapper Classes
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Arrays have limitations
- What are Collections & why they accept only objects
- Introduction to Wrapper Classes
- Convert Primitive Type to Wrapper Objects (Boxing)
- Convert Wrapper Objects into Primitive Types (Unboxing)
- Autoboxing and unboxing - Theory
- Autoboxing and unboxing - Demo
- Caching with valueOf() methods
- Java Collection Framework Hierarchy
UNIDAD 17 - Lists and ArrayLists Unleashed – A Hilarious Journey through Data Structures · 18 leccionesUNIDAD 17 - Lists and ArrayLists Unleashed – A Hilarious Journey through Data Structures
UNIDAD 17 - Lists and ArrayLists Unleashed – A Hilarious Journey through Data Structures
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Deep dive on the Collection Interface
- [JAVA 21] Deep dive on the Sequenced Collections
- Deep dive on the List Interface
- How to create objects of ArrayList
- Demo of ArrayList
- [JAVA 7] Diamond Operator in Java
- ArrayList performance
- [JAVA 9] Creating Immutable Lists
- Iterate ArrayList using for-each and iterator()
- Iterate ArrayList using listIterator()
- ArrayList Operations in Java
- Sorting ArrayList using sort() methods
- Sorting ArrayList using custom Comparator
- Sorting ArrayList of custom data type using Comparable
- Sort Persons based on age using Comparable
- Sorting ArrayList of custom data type using Comparator
- Arrays vs ArrayList
UNIDAD 18 - LinkedLists - Java's Dance of Nodes · 10 leccionesUNIDAD 18 - LinkedLists - Java's Dance of Nodes
UNIDAD 18 - LinkedLists - Java's Dance of Nodes
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction of LinkedList
- How to create objects of LinkedList
- Demo of LinkedList
- Iterate LinkedList elements
- Sorting LinkedList elements
- LinkedList Operations in Java
- LinkedList performance
- ArrayList vs LinkedList
- Funny memes around LinkedList
UNIDAD 19 - Generics in Java · 13 leccionesUNIDAD 19 - Generics in Java
UNIDAD 19 - Generics in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Generics in Java
- Why we need Generics in Java
- Generic class in Java - Demo
- Storage Generic class
- Generics methods in Java - Demo
- Generic method to swap array elements
- Collections with out Generics - Demo
- Collections without Generics
- Covariance Demo
- Subtype or Upper Bound Wildcards
- Supertype or Lower Bound Wildcards
- Unbounded Wildcards
UNIDAD 20 - Deep dive on Map, HashMap, TreeMap, LinkedHashMap · 13 leccionesUNIDAD 20 - Deep dive on Map, HashMap, TreeMap, LinkedHashMap
UNIDAD 20 - Deep dive on Map, HashMap, TreeMap, LinkedHashMap
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Map in Java
- Demo of HashMap
- How HashMap Store Key, Value
- How HashMap retrieve Value
- [JAVA 8] HashMap improvements in Java 8
- Iterating HashMap using keySet() and entrySet()
- Iterating HashMap using values()
- HashMap Operations in Java
- Introduction to TreeMap in Java
- Demo of TreeMap in Java
- Demo of LinkedHashMap in Java
- [JAVA 9] Creating Immutable Maps
UNIDAD 21 - Set, HashSet, TreeSet, LinkedHashSet · 11 leccionesUNIDAD 21 - Set, HashSet, TreeSet, LinkedHashSet
UNIDAD 21 - Set, HashSet, TreeSet, LinkedHashSet
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Set in Java
- Demo of HashSet
- How HashSet works internally
- Iterating HashSet
- Vowel Remover using HashSet
- Set operations
- Demo of TreeSet in Java
- Demo of LinkedHashSet in Java
- [JAVA 9] Creating Immutable Sets
- List vs Set
UNIDAD 22 - Enums in Java · 10 leccionesUNIDAD 22 - Enums in Java
UNIDAD 22 - Enums in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Enums
- Problems with normal Java class constants approach
- Demo of Enum approach
- More details about enum - Part 1
- More details about enum - Part 2
- Associating Data to Enum Constants
- Demo of EnumSet and it's important methods
- Advantages of Enums
- Calculate Toll using Enums
UNIDAD 23 - Date and Time in Java · 33 leccionesUNIDAD 23 - Date and Time in Java
UNIDAD 23 - Date and Time in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- How Java supports Date and Time
- Why a new Date API introduced in Java 8
- Demo of java.util.Date - Part 1
- Demo of java.util.Date - Part 2
- Date formatting and parsing using SimpleDateFormat
- Create a java.util.Date and format it
- Demo of java.sql.Date
- Demo of java.util.Calendar - Part 1
- Demo of java.util.Calendar - Part 2
- TimeZone specific Date and Time
- NewYork Date and Time using GregorianCalendar
- [JAVA 8] Introduction to new Date & Time API from Java 8
- [JAVA 8] The of() methods in java.time Date and Time API
- [JAVA 8] The from() & withXxx() methods in java.time Date and Time API
- [JAVA 8] The toXxx() & atXxx() methods in java.time Date and Time API
- [JAVA 8} The getXxx(), plusXxx() and minusXxx() methods in new Date & Time API
- New DateTime API operations
- [JAVA 8] Introduction to Instant and Duration in java.time Date and Time API
- [JAVA 8] Demo of Instant and Duration in java.time Date and Time API
- [JAVA 8] Period in java.time Date and Time API
- [JAVA 8] The multipliedBy(), dividedBy() & negated() methods
- [JAVA 8] The truncatedTo() method
- [JAVA 8] Demo of ZoneId, ZonedDateTime
- [JAVA 8] Demo of ZoneOffset
- [JAVA 8] Demo of OffsetDateTime and OffsetTime
- [JAVA 8] Demo of Day Light Saving with ZonedDateTime
- Conference Call scheduling between two teams located in different time zones
- [JAVA 8] Non-ISO Calendars in java.time Date and Time API
- [JAVA 8] Formatting Dates and Times using DateTimeFormatter
- [JAVA 8] Parsing Dates and Times using DateTimeFormatter
- Formatting and Parsing of the Date Time values
- Funny memes around Java Date and Time APIs
UNIDAD 24 - [JAVA 8] Functional Programming using lambda expressions · 29 leccionesUNIDAD 24 - [JAVA 8] Functional Programming using lambda expressions
UNIDAD 24 - [JAVA 8] Functional Programming using lambda expressions
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Functional Programming
- Imperative style vs functional style programming
- What are lambda expressions and their syntax
- How to build Lambda expressions
- Deep dive on Functional Interfaces
- How Functional Interface & Lambda expressions are linked - Part 1
- How Functional Interface & Lambda expressions are linked - Part 2
- Functional Interface and Lambda expression to transform Strings
- Anonymous inner class in the place of lambda expressions
- Predefined Functional interfaces inside JDK
- Deep dive on Predicate functional interface - Part 1
- Deep dive on Predicate functional interface - Part 2
- Filtering a List of Custom Objects
- Deep dive on Function functional interface
- Transforming a List of Strings
- Deep dive on UnaryOperator interface
- Incrementing a List of Integers
- Deep dive on Consumer interface
- String List Processing using Consumer interface
- Deep dive on Supplier interface
- Identify Current Day using Supplier
- Deep dive on BiFunctional Interfaces - Part 1
- Deep dive on BiFunctional Interfaces - Part 2
- Primitive Type functional interfaces - Theory
- Primitive Type functional interfaces - Demo
- Deep dive on Lexical Scoping of Lambda expressions
- this and super inside lambda expression
- Funny memes around Functional Programming
UNIDAD 25 - [JAVA 8] Building Lambda expressions using Method References · 6 leccionesUNIDAD 25 - [JAVA 8] Building Lambda expressions using Method References
UNIDAD 25 - [JAVA 8] Building Lambda expressions using Method References
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Method References
- Demo of Static Method Reference
- Demo of Instance Method Reference
- Demo of Instance method Reference using Class type
- Demo of Constructor Reference
UNIDAD 26 - [JAVA 8] Streams API · 22 leccionesUNIDAD 26 - [JAVA 8] Streams API
UNIDAD 26 - [JAVA 8] Streams API
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to java.util.stream API
- Creating a Stream from collections - Part 1
- Creating a Stream from collections - Part 2
- Streams have no storage
- Introduction to Streams Pipeline
- Demo of Streams map() method
- Introduction to Streams flatMap() method
- Demo of Streams flatMap() method
- Demo of Streams filter() method
- Demo of Streams limit() method
- Demo of Streams skip() method
- Streams are traversable only once
- Introduction to Streams reduce() method
- Demo of Streams reduce() method
- Demo of Streams collect() method
- Demo of Streams collectingAndThen() method
- Demo of Streams groupingBy() and partitioningBy() method
- Finding and Matching methods in Streams
- Quick revision about stream pipeline
- Deep dive on parallel streams and demo
- Collections Vs Streams
UNIDAD 27 - [JAVA 8] Optional to deal with nulls in Java · 7 leccionesUNIDAD 27 - [JAVA 8] Optional to deal with nulls in Java
UNIDAD 27 - [JAVA 8] Optional to deal with nulls in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- Introduction to Optional class
- Demo of Optional - Part 1
- Demo of Optional - Part 2
- Demo of ifPresent, ifPresentOrElse, orElse, orElseGet methods
- Demo of orElseThrow, map, filter methods
- Quick tip to filter null elements with Stream API
UNIDAD 28 - MultiThreading in Java · 22 leccionesUNIDAD 28 - MultiThreading in Java
UNIDAD 28 - MultiThreading in Java
- DETAILS OF SOURCE CODE AND PDF CONTENT
- What is MultiThreading
- How a program or a software executes inside a computer
- Parallel vs Concurrent Execution
- How multiple threads improve performance
- Creating Threads in Java - Part 1
- Creating Threads in Java - Part 2
- MultiThreading Demo Program
- Demo of Thread methods getId, threadId, getName, setName, currentThread, sleep
- Demo of Thread method join, getPriority, setPriority
- Demo of wait(), notify(), notifyAll() - Part 1
- Demo of wait(), notify(), notifyAll() - Part 2
- Introduction to Race condition & synchronized keyword
- Demo of synchronized methods and blocks
- Introduction to volatile keyword
- Demo of volatile keyword
- Introduction to Deadlock
- Demo Deadlock & possible fixes
- [JAVA 21] Introduction to Virtual Threads - Part 1
- [JAVA 21] Introduction to Virtual Threads - Part 2
- [JAVA 21] Introduction to Virtual Threads - Part 3
- [JAVA 21] Demo of Virtual Threads
UNIDAD 29 - New features from Java 22, Java 23 and Java 24 · 16 leccionesUNIDAD 29 - New features from Java 22, Java 23 and Java 24
UNIDAD 29 - New features from Java 22, Java 23 and Java 24
- DETAILS OF SOURCE CODE AND PDF CONTENT
- [JAVA 22] Launch Multi-File Source-Code Programs
- [JAVA 22] Unnamed Variables & Patterns - Theory
- [JAVA 22] Unnamed Variables & Patterns - Demo
- [JAVA 23] Markdown Documentation Comments - Part 1
- [JAVA 23] Markdown Documentation Comments - Part 2
- [JAVA 24] Introduction to Stream Gatherers API
- [JAVA 24] Getting to know the basic syntax of using Gatherer interface
- [JAVA 24] Using Gatherer.of() to create an intermediate operation
- [JAVA 24] Gatherers with Mutable State & Initializer
- [JAVA 24] Finisher in a Stream Gatherer
- [JAVA 24] Parallel Gatherers - Theory
- [JAVA 24] Parallel Gatherers - Demo
- [JAVA 24] Interrupting and Chaining Gatherers
- [JAVA 24] fold(),scan(),mapConcurrent() methods in Gatherers
- [JAVA 24] windowFixed, windowSliding methods in Gatherers
UNIDAD 30 - New features from Java 25 · 11 leccionesUNIDAD 30 - New features from Java 25
UNIDAD 30 - New features from Java 25
- DETAILS OF SOURCE CODE AND PDF CONTENT
- [JAVA 25] Module Import Declarations
- [JAVA 25] Compact Source Files and Instance Main Methods - Part 1
- [JAVA 25] Compact Source Files and Instance Main Methods - Part 2
- [JAVA 25] Flexible Constructor Bodies - Part 1
- [JAVA 25] Flexible Constructor Bodies - Part 2
- [JAVA 25] Scoped Values - Part 1
- [JAVA 25] Scoped Values - Part 2
- [JAVA 25] Scoped Values - Part 3
- [JAVA 25] Performance improvements using AOT - Theory
- [JAVA 25] Performance improvements using AOT - Demo
UNIDAD 31 - Thank You & Congratulations · 1 leccionesUNIDAD 31 - Thank You & Congratulations
UNIDAD 31 - Thank You & Congratulations
- Congratulations & Thank You
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
31 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
1 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Eazy Bytes.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 31 unidades · 611 lecciones · 60 h
- 12 meses de acceso
- 1 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Eazy Bytes; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.

![Muestra del certificado: Mastering Modern Java Programming: Beginner to Pro [2026]](https://www.institutoimec.edu.mx/wp-content/uploads/inec-landing/certificado-muestra.jpg)
