
Java Programming Essentials
Learn core Java concepts including syntax, loops, and basic object-oriented programming.

Track
Software Development
Level
Foundation
Language
English
Duration
60 hours
Learning Mode
Learn at ALC or at Home
Introduction
- Understand the introduction and features of Java and its significance in the programming world.
- Identify and use data types, variables, and literals in Java, and write basic Java code.
- Develop Java programs using various IDEs, including NetBeans, Eclipse, and IntelliJ.
- Read and process input values of various data types using Java’s Scanner class and other methods.
- Apply different operators in Java to perform arithmetic, logical, relational, and other operations.
- Implement control structures using if statements and switch case constructs.
- Utilize iteration statements (loops) such as while, do-while, and for loops in Java programs.
- Implement advanced iteration techniques using break and continue statements.
- Enhance programming skills through practice programs that use loops.
- Understand and use nested loops for solving complex programming tasks.
What you'll learn ?
- By the end of the course, learners will be able to:
- Explain why Java is important, install the JDK, and understand OOP principles like encapsulation, inheritance, abstraction, and polymorphism.
- Declare and use variables, data types, and literals, write Java code, and use command line arguments effectively.
- Create and manage projects in various IDEs, write and execute Java programs, and apply concatenation and command line arguments.
- Read input values using the Scanner class, perform implicit and explicit type casting, and format output using printf() and other methods.
- Use arithmetic, relational, logical, unary, ternary, and compound assignment operators in Java programs with correct precedence and associativity.
- Implement if statements, if-else if ladders, nested if statements, and switch case constructs, and understand their differences.
- Write and understand while, do-while, and for loops, including their properties and sample programs.
- Apply break and continue statements within loops and understand their impact on loop execution.
- Solve various programming problems using loops, such as finding prime numbers, generating Fibonacci series, and more.
- Implement nested loops in Java programs and solve complex problems like printing tables and factorials.
Syllabus
Introduction and Features of Java
- Why should you learn Java?
- Prerequisites for this course
- What are you going to learn?
- Introduction to programming languages
- Installing Java Development Kit (JDK)
- JDK, JRE and JVM
- Importance of Java in the context of Internet
- Features of Java
- Object Oriented Programming Paradigm (OOP)
- Relationship between classes and objects
- Features of OOPs - Encapsulation and Inheritance
- Features of OOPs - Abstraction and Polymorphism
Data Types, Variables, Literals and Coding
- Data types in Java - Integers, floating-point, characters, Boolean
- Concept of variables, their declarations
- Literals - Integer, floating-point, character, Boolean, strings
- How to Write java code, compile and execute?
- Explanation of System class and printing method
- First Java Program using Notepad
- Explanation of important terms like main(), public, void, static
- Comments in Java
- Understanding command line arguments
- Sample program of command line arguments
- Using parseInt() with command line arguments
- Using parseFloat() with command line arguments
Writing programs in Netbeans & its options
- Introduction to IDEs
- Components of Netbeans
- Creating a project in Netbeans
- Exporting & importing projects
- Intro to Eclipse IDE
- Intro to IntelliJ IDE
- Online IDEs
- First Java Program using NetBeans
- Second Java program in NetBeans
- Understanding concatenation
- Coding examples of concatenation
- Using Command Line arguments in Java program written in NetBeans
Reading the Values of Various Data Types
- Reading values from keyboard using Scanner class object
- Tricks to prevent the skipping of String input value
- Implicit type casting
- Explicit type casting
- Sample programs
- Formatting output using printf()
- More about formatting output
- Formatting dates
Operators
- Operators in Java
- Precedence and associativity of operators
- Examples of precedence and associativity
- Sample programs illustrating usage of arithmetic operators
- Sample programs illustrating usage of relational operators
- Sample programs illustrating usage of logical operators
- Sample programs illustrating usage of unary operators
- Sample programs illustrating usage of ternary operator
- Compound assignment operators with sample programs
Control Structures - If and Switch Case
- Programming Construct Sequence
- Sample programs of sequence
- if statement
- Sample programs of if
- if else if ladder
- Sample programs of if else if ladder
- Nested if
- Sample programs of nested if
- Overview of switch case construct
- Sample programs of switch case
- Difference between if and switch case
- Practice program - Switch Case - To find out salary of employee
Iteration (Looping)
- Basics of loops and while loop
- sample programs of while loop
- while loop pre-tested property
- Basics of do…while loop
- while loop post-tested property
- Basics of for loop
- Sample programs of for loop
- for loop pre-tested property
More about Iteration, break and continue
- More features of for loop
- Infinite loops
- Using break statement
- Using continue statement
- Practice program - Factorial
- Practice program - Reverse a number
- Practice program - Palindrome number
- Practice program - Armstrong number
Honing the Programming Skills using Loops
- Practice program - Prime number
- Practice program - Biggest among n numbers
- Practice program - finding the square roots of a range of numbers
- Practice program - finding the power of numbers
- Practice program - generating Fibonacci series
- Practice program - printing ASCII set
- Practice program - Number guessing game
Honing the Programming Skills using Nested Loops
- Introduction to nested loops
- Second sample program of nested loops
- Third sample program of nested loops
- Fourth sample program of nested loops
- Fifth sample program of nested loops
- Practice program - Printing multiple tables
- Practice program - Asking the user whether to continue printing factorials
- Practice program - Asking the user whether to continue printing tables
Methods of Integer and Float classes
- Explanation of Integer methods - compareto, toString, valueOf
- Programs of compareTo, toString, valueOf
- Explanation of Integer methods - doubleValue, floatValue, equals
- Programs of doubleValue, floatValue, equals
- Explanation of Integer methods - Signum, Min, Max, parseInt
- Programs of Signum,Min, Max, parseInt
- Explanation of Integer methods - intValue, sum
- Programs of intValue, sum
- Explanation of float methods - compareTo, toString
- Programs of compareTo, toString
- Explanation of valueOf, doublevalue, equals, parseFloat
- Programs of valueOf, doubleValue, equals, parseFloat
Concept of Arrays
- The basic concept of arrays
- Declaring an array dynamically using two methods
- Traversing array elements
- Array name-reference to the array
- Using for each format of the for loop
- Merging two arrays
- Getting the absolute values of array elements
- Array of strings
Searching & Sorting Techniques
- Linear Search Logic and algorithm
- Linear search program
- Logic of Binary search
- Algorithm of binary search
- Program of binary search
- Flow of Logic of Bubble sort
- Algorithm of bubble sort
- Bubble sort program
- Flow of logic of selection sort
- Algorithm of selection sort
- Selection sort program
- Using sort method of Array class
Double Dimensional Arrays
- Basics of double dimensional arrays
- First sample program of 2-D arrays
- Second sample program of 2-D arrays
- Third sample program of 2-D arrays
- 2-D arrays with different number of columns
- Matrix addition - logic and algo
- Program of matrix addition
- Logic of matrix multiplication
- Algorithm of matrix multiplication
- Program of matrix multiplication
Functions (Methods)
- Basics of functions
- Components of a function
- Understanding actual & formal parameters - explanation
- Understanding actual & formal parameters - sample program
- Second sample program
- To return or not to return a value - sample programs
- Scope of variables in functions
- Facts about return statement
Array Passing and Recursion
- Passing an array to a function - Explanation
- Passing an array to a function - example code
- Getting average age in an array
- Returning array reference
- Basics of recursion
- Basics of stacks
- Algo to push into a stack
- Algo to pop from a stack
- Factorial program through recursive function
Java Coding for Classes and Objects
- Practical coding of classes and objects
- Area of rectangle
- Area of circle
- Hospital billing
- Income tax calculation
- Creating an object within the class itself
References, Garbage collection & Method Overloading
- Array of references to objects - Company employees’ example
- Array of references to objects - Exam result example
- The concept of null reference
- Assigning reference to another reference variable
- Automatic Garbage Collection
- Method Overloading (Compile-time polymorphism)
- Method overloading - Rainfall recording data
Constructors, Documentation Comments, This Keyword
- Constructors in Java
- Default constructors
- Constructor overloading
- Constructor overloading - contd.
- Documentation comments
- this keyword
Getters and Setters, Static Members
- Basics of getters and setters
- Using getters and setters for Office_rooms class
- Automatic creation of setter getter code
- Generating setters and getters for Pet_dogs class
- Generating setters and getters for Pet_dogs class
- static members of a class
- Counting number of objects - static members
Packages in Java
- Basics of Packages
- Access specifiers (Visibility modes) in Java
- Understanding default and private members practically
- Same package classes in different programs
- same package classes in different programs - contd.
- Working in different packages
- usage of import keyword of Java
- usage of import keyword of Java - contd.
Method Signatures, Abstract Classes, Interfaces
- Method signatures
- Creating abstract classes
- Abstract class Trainers
- The basics of interfaces
- Practical coding of interfaces
- Interface for areas and circumference
- An interface extending another interface
Inheritance
- Introduction to Inheritance
- Syntax of applying inheritance and Method overriding
- Writing the Java code for Inheritance
- Multi-Level inheritance
- Behaviour of constructors in inheritance
- Practical example of constructors without arguments in inheritance
- Practical example of constructors with arguments in inheritance
Using Final Keyword, Abstract Methods, Polymorphism
- Final classes
- Final methods
- Assigning reference of sub-class object into super class reference variable
- Abstract methods
- Basics of Polymorphism
- Practical implementation of Polymorphism
Exception Handling
- Basics of exception handling
- Uncaught exceptions
- Catching exceptions using try …. catch blocks
- Printing Exception Class Reference Variable
- Multiple catch blocks
- calling a method from within try block
- calling a method from within try block - Execution
- Using super class Exceptio
Exception Handling (continued)
- Handling NullPointerException
- Handling NumberFormatException
- throw: throwing an exception manually
- throws: handling checked exceptions
- Nested try block
Java Collection Framework (JCF)
- Introduction to data structures
- Basics of Collections and ArrayList traversal using Iterator interface
- Traversing ArrayList elements using for each loop
- Storing user-defined objects and retrieving them using Iterators interface
- Storing user-defined objects and retrieving them using foreach loop
- Storing and retrieving objects of nations’ capitals
- Using toArray() method of ArrayList class
- Basics of linked lists
- Explanation of logic of traversal of nodes using algorithm
- Programs of LinkedList Collection
- Programs of stacks
- Basics of trees
- Adding numeric elements in a TreeSet
- Adding string elements in a tree TreeSet
- Removing an element from a TreeSet
- Searching an element from a TreeSet
- Basics of queues
- Explanation of insertion operation of a queue using algorithm
- Explanation of deletion operation of a queue using algorithm
- Programs of queues
- ListIterator interface - Traversing collection elements in both directions
- Using sort method of Collections class
- Sorting user-defined objects
- Hashset explanation and example
- Hashset with numeric values
- Applying size and contains methods of HashSet class
- Applying remove() method of HashSet class
- Applying clear() and isEmpty() methods of HashSet class
- LinkedHashset class
Work-Centric Approach
The academic approach of the course focuses on ‘work-centric’ education. With this hands-on approach, derive knowledge from and while working to make it more wholesome, delightful and useful. The ultimate objective is to empower learners to also engage in socially useful and productive work. It aims at bringing learners closer to their rewarding careers as well as to the development of the community.
- Step 1: Learners are given an overview of the course and its connection to life and work
- Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
- Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
- Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
- Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
- Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
- Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
- Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
- Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
- Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
- Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
- Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!