
Introduction to Java Programming Fundamentals
Learn Java syntax, data types, and core programming concepts through hands-on exercises.

Track
Software Development
Level
Foundation
Language
English
Duration
30 hours
Learning Mode
Learn at ALC or at Home
Introduction
- Compare the fundamental features of HTML and JSP, highlighting their respective roles in web development.
- Examine the process of session management in JSP, analysing how data is stored and retrieved using session objects.
- Categorize the diverse types of HTML forms, demonstrating how data is read and processed from various form elements.
- Differentiate between servlets and JSP, elucidating their individual strengths and use cases in web development.
- Distinguish the key characteristics of JDBC (Java Database Connectivity) and its significance in servlets for database interaction.
- Estimate the execution time and resource usage of different Java programs, considering factors like loop complexity and method calls.
- Predict the output of Java programs involving conditional statements, loops, and method calls, enhancing the ability to foresee program behaviour.
- Rate the efficiency and appropriateness of different loop structures in Java, providing insights into their optimal use cases.
- Arrange the steps involved in installing and configuring a Tomcat server, demonstrating the systematic setup required for web development.
- Assemble a comprehensive JSTL (JavaServer Pages Standard Tag Library) example, integrating various JSTL tags to achieve specific functionality.
What you'll learn ?
- By the end of the course, learners will be able to:
- Experiment with various Java features, gaining practical insights into their applications.
- Make use of Java advantages, understanding when and how to apply its features in programming scenarios.
- Utilize Integrated Development Environments (IDEs) such as Netbeans, Eclipse, and IntelliJ effectively.
- Combine variables and literals creatively, highlighting a nuanced understanding in Java code.
- Solve programming challenges using a variety of operators, demonstrating problem-solving skills.
- Predict and control program flow through effective use of control structures like if statements and switch case.
- Survey and master various looping techniques, including while, do..while, and for loops.
- Compare and evaluate different programming constructs, distinguishing use cases for if statements, switch case, and various loop types.
- Examine the functionality of Integer and Float class methods, applying them effectively in Java programming scenarios.
- Differentiate array manipulation techniques and explore search/sort methods, including linear search, binary search, bubble sort, and selection sort.
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 - Part 1
- Reading values from keyboard using Scanner class object - Part 2
- Tricks to prevent the skipping of String input value
- Implicit type casting
- Explicit type casting
- Some sample programs - Part 1
- Some sample programs - Part 2
- Some sample programs - Part 3
- Formatting output using printf()
- More about formatting output
- Formatting dates
Operators
- Operators in Java - Part 1
- Operators in Java - Part 2
- Operators in Java - Part 3
- Precedence and associativity of operators
- Examples of precedence and associativity
- Some sample programs illustrating usage of arithmetic operators
- Some sample programs illustrating usage of relational operators
- Some sample programs illustrating usage of logical operators
- Some sample programs illustrating usage of unary operators
- Some 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
Control Structures - If and Switch Case
- 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 - Part 1
- Practice program - Prime number - Part 2
- 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 - Part 1
- Scope of variables in functions - Part 2
- Some facts about return statement
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!