Introduction

  • This course will help you learn the core programming concepts and make you ready to write programs to solve complex problems.

  • This course includes hands-on practice and will give you a solid knowledge of the Java language. After completing this course, you will be able to identify Java’s benefits, understand the code behind various websites and start programming in Java.


What you'll learn ?

  • Core programming concepts like Data types, Variables, Operators, Control Structures, Loops, Arrays, Functions, Recursions, Classes and Objects, Method Overloading, Constructors, Inheritance, Polymorphism etc.
  • Along with the core concepts, you will also learn Java Collection Framework, Strings in Java, Multithreading, LAMBDA Expressions.
  • In this course, you will learn about Basics of Databases & MySql, JDBC (Java Database Connectivity), Streams in Java, Java Applets, AWT Controls, Frame Projects, Java Swings
  • This course focuses on creating Java projects and so includes introduction to Web Development, Using Java classes in JSP, Interacting with HTML Forms, Sessions and Cookies in JSP, JSP standard tag library (JSTL), Introduction to Servlets, Interaction between multiple pages, etc.


Certification

  • KLiC courses are recognised by Yashwantrao Chavan Maharashtra Open University (YCMOU).
  • MKCL provides certificate to the KLiC learner after his/her successful course completion.
  • Yashwantrao Chavan Maharashtra Open University (YCMOU) provides mark sheet to successfully passed KLiC learners (Jurisdiction: Maharashtra).

Important Dates

  • Batch Commencement: One batch in each calendar month (January to December)
  • Date(s) of Application and Fee Payment by Learner: 1st - 30th day of each calendar month
  • Date(s) of Learner Confirmation by ALC: 1st - 30th day of each calendar month
  • Course Start Date and Date of Issuing Learner Login: Date of admission confirmation

Academic Approach

The academic approach of the courses focuses on the “work-centric” education i.e. begin with work (and not from a book!), derive knowledge from work and apply that knowledge to make the work more wholesome, useful and delightful. The ultimate objective is to empower the Learner to engage in socially useful and productive work. It aims at leading the learner to his/her rewarding career as an employee or entrepreneur as well as development of the community to which s/he belongs. Learning methodology:

  • 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!



Syllabus
Introduction to Java
  • Why you should learn Java?
  • Introduction to programming languages
  • Installing Java Development Kit (JDK)
  • JDK, JRE and JVM
  • Importance of Java in the context of Internet
Features of Java
  • Features of Java
  • Object Oriented Programming Paradigm (OOP)
  • Relationship between classes and objects
  • Features of OOPs - Encapsulation, Inheritance, Abstraction and Polymorphism
Data Types, Variables, Literals
  • Data types in Java - Integers, floating-point, characters, boolean
  • Concept of variables, their declarations
  • Literals - Integer, floating-point, character, boolean, strings
Let's dive into the Java coding
  • How to Write java code, compile and execute?
  • First Java Program using Notepad
  • Explanation of important terms like main(), public, void, static
  • First Java Program using Netbeans
  • Using Command Line arguments in Java program written in Notepad
  • Using Command Line arguments in Java program written in Netbeans
Important options of Netbeans IDE
  • Introduction to IDEs
  • Components of Netbeans
  • Creating a project in Netbeans
  • Exporting & importing projects
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
Operators
  • Operators in Java
  • Precedence and associativity of operators
  • Examples of precedence and associativity
  • Programs illustrating usage of arithmetic operators, relational operators, logical operators, unary operators, ternary operator
  • Compound assignment operators
Programming building blocks (Control structures)
  • Programming Construct Sequence
  • if statement
  • if else if ladder
  • Nested if
Switch case construct
  • Overview of switch case construct
  • Difference between if and switch case
Iteration (Looping)
  • Basics of loops and while loop
  • while loop pre-tested property
  • Basics of do..while loop
  • while loop post-tested property
  • Basics of for loop
  • for loop pre-tested property
  • More features of for loop
  • Infinite loops
  • Using break statement
  • Using continue statement
  • Programs to find - Factorial, Reverse a number, Palindrome number, Armstrong number, Prime number, Biggest among n numbers
  • Using for each format of the for loop
  • break and continue statements with examples
  • Nested while loop with examples
  • Nested for loop with examples
Honing the programming skills using Loops
  • Programs - using loops
  • Programs - using nested loops
The concept of Arrays
  • The basic concept of arrays
  • Declaring an array dynamically using two methods
  • Traversal of array elements
  • Initialising array elements
Searching Techniques
  • Linear Search Logic and Algorithm
  • Logic of Binary Search
  • Algorithm of Binary search
  • Programs - Linear Search and Binary search
Sorting Techniques
  • Logic of Bubble sort
  • Algorithm of Bubble sort
  • Logic of Selection sort
  • Algorithm of Selection sort
  • Programs - Bubble sort and Selection sort
Double dimensional (2-D) Arrays
  • Basics of double dimensional arrays
  • Double dimensional arrays with different number of columns
  • Matrix addition - logic and program
  • Logic of matrix multiplication
  • Algorithm and program of matrix multiplication
  • Using sort method of Arrays class
Functions (Methods)
  • Basics of functions
  • Developing Functions - with a practical approach
  • Scope of variables in functions
  • Some facts about return statement
  • Passing an array to a function
Recursion
  • Recursion (Recursive functions)
Java coding for Classes and Objects
  • Practical coding of classes and objects
Method Overloading
  • Method Overloading (Compile-time polymorphism)
Constructors
  • Constructors in Java
  • Default Constructors
  • Constructor overloading
  • this keyword
Getters and Setters
  • Basics of getters and setters
  • Automatic creation of setter getter code
Static Members of a class
  • Static members of a class
Packages in Java
  • Basics of Packages
  • Access specifiers (Visibility modes) in Java
  • Understanding default and private members practically
  • Package classes in different programs
  • Working in different packages
  • Usage of import keyword of Java
Method Signatures
  • Method signatures
Abstract Classes
  • Creating abstract classes
Interfaces in Java
  • The basics of interfaces
  • Practical coding of interfaces
  • An interface extending another interface
Inheritance
  • Introduction to Inheritance
  • Syntax of applying Inheritance and Method overriding
  • Multi-Level inheritance
Behaviour of Constructors in Inheritance
  • Behaviour of constructors in Inheritance
  • Practical examples of constructors with and without arguments in inheritance
Using final keyword
  • Final classes
  • Final methods
Storing reference of sub-class object into super class reference variable
  • Assigning reference of sub-class object into super class reference variable
Abstract Methods
  • Abstract methods
Polymorphism
  • Basics of Polymorphism
  • Practical implementation of Polymorphism
Exception Handling
  • Basics of exception handling
  • Uncaught exceptions
  • Catching exceptions using try .... catch blocks
  • Multiple catch blocks
  • Calling a method from within try block
  • Using super class Exception
  • Handling NullPointerException
  • Handling NumberFormatException
  • throw: throwing an exception manually
  • throws: handling checked exceptions
  • Nested try block
Java Collection Framework
  • Basics of Collections and ArrayList traversal using Iterator interface
  • Traversing ArrayList elements using for each loop
  • Storing objects of user defined classes in collection
  • Using toArray() method of ArrayList class
  • LinkedList Collection
  • ListIterator interface - Traversing collection elements in both directions
  • Using sort method of Collections class
  • Sorting user-defined objects
Strings in Java
  • Basics of strings in Java
  • Important String class methods
Multithreading
  • Basics of Multithreading
  • Implementing Runnable interface for Multithreading
  • Extending Thread class for Multithreading
  • Thread Names, Priorities, parent thread
  • Method main as a thread
Anonymous Inner Classes & LAMBDA Expressions
  • Anonymous inner classes
  • LAMBDA expressions
Basics of Databases & MySQL
  • Introduction to DBMS & Databases
  • Creating a Database and Table using MySQL Workbench GUI
  • Creating a Database and Table at command prompt
  • Issuing SQL statements on Command prompt
JDBC (Java DataBase Connectivity)
  • Basics of JDBC
  • Architecture of JDBC
  • Coding JDBC program for SQL statement Select, Insert, Delete, Update
Streams in Java
  • Basics of streams
  • Using BufferedReader and InputStreamReader classes
  • Reading from a file
  • Writing on a file
Java Applets
  • Basics of Java Applets
  • Writing your first applet and understanding life cycle
  • Working with colors and fonts
  • Passing parameters to an applet
Applet Programming in NetBeans
  • First Applet in Netbeans
  • Drawing figures
Event Handling in Applets
  • Basics of event handling
  • Handling mouse events
AWT Controls
  • AWT Controls
  • Using Fonts and Colors in AWT Controls
  • Positioning AWT Controls by setBounds() method
Event Handling of AWT Controls
  • Handling Button events
  • Handling Checkbox events
  • Handling Radio button events
  • Handling Scrollbar events
  • Handling List events
Applet Form Projects - Using Pallette Box
  • Example of an Applet form project
  • Handling Button events through Applet forms
  • Handling Checkbox events through Applet forms
  • Handling Choice events through Applet forms
Frame Projects
  • Differences between Applets and Frames
  • Example of a Frame
  • Getting more comfortable - Example of a Frame
  • Changing the Title and Size of a Frame window
  • Changing the background color of a Frame window
Java Swings
  • Basics of Swings & differences from Applets
  • Using setBounds() and setFonts() with swing controls
  • Using JCheckBox class object
  • Creating a tree structure using JTree class object
Event Handling in Java Swings
  • Handling events of JButton objects
  • Handling events of JCheckBox object
  • Handling events of JRadioButton objects
Swing Programs in Netbeans - Using JApplet project
  • Swing Program in Netbeans
  • Using Swing controls in JApplet project
  • Event Handling in Japplet
  • Using JOptionPane class for message dialog boxes
Working with JApplet Form Projects
  • JApplet Form swing
  • More stuff on JApplet Form swings
Working with JFrame Form Projects
  • Program of JFrame Project
  • Working with DateChooser
  • Creating a MenuBar - Menu objects, MenuItem Objets
  • Handling Events of MenuItems
Introduction to Web Development
  • Requirements
  • Introduction to web applications
  • Installing Tomcat server
  • Installing Eclipse IDE
  • Connecting Eclipse to Tomcat
Let's dive into JSP programming
  • The very first program of JSP
  • JSP Tags
  • Implicit objects in JSP
  • Request implicit object of JSP
  • JSP tags practical examples
  • Using import
  • Including pages into a JSPpage
  • Difference between jsp:forward and jsp:include
Using Java classes in JSP
  • Creating a class & using it in JSP program
Interacting with HTML forms
  • Reading data from Textboxes
  • Alternative to getParameter() method
  • Reading data from dropdown list
  • Reading data from radio buttons (option buttons)
  • Reading data from a single checkbox
  • Reading data from a group of checkboxes
Sessions in JSP
  • Basics of session management
  • Storing & retrieving from a session object
Cookies in JSP
  • Concepts of cookies
  • Storing & retrieving cookies
  • Working with multiple cookies
JSP standard tag library (JSTL)
  • Basic concepts of JSTL
  • Using & JSTL tags
  • Using JSTL tag
  • Using JSTL tag
  • Using , & JSTL tags
JDBC in JSP - Learning the basics
  • Understanding DBMS, databases & tables etc.
  • Getting familiar with JDBC API
  • Steps for JDBC coding
  • Downloading XAMPP for MySQL
  • Alert ! Listen before you proceed
  • Learning SQL
  • How to create a database and tables using GUI in XAMPP
JDBC in JSP - coding part
  • Importing MySQL connector
  • Executing SQL command select in JDBC code
  • Displaying the rows in HTML table
  • Executing SQL command insert in JDBC code
Introduction to Servlets
  • Basics of servlets
  • Difference between servlets and JSP
  • Introduction to important classes and interfaces
  • First servlet Program - Reading from an HTML form
  • Creating an HTML form within a servlet
  • Dealing with numbers in servlets
Interaction between multiple pages
  • Introduction to RequestDispatcher interface
  • Coding with RequestDispatcher interface
  • Introduction to SendRedirect method and difference from forward method
  • Coding with sendRedirect method
  • Working with hidden fields
  • URL rewriting
Cookies in Servlets
  • Introduction to cookies
  • Writing and reading cookies
  • Login and logout with cookies example
Sessions in Servlets
  • Introduction to sessions
  • Writing and reading session objects
Context parameters and Config parameters
  • Introduction to ServletContext and ServletConfig interfaces
  • Storing and retrieving a single context parameters
  • Storing & retrieving multiple context parameters
  • Storing & retrieving a single config parameter
  • Storing & retrieving multiple config parameters
Java DataBase Connectivity (JDBC) with Servlets
  • JDBC code for select SQL statement
  • JDBC code for insert SQL statement
  • JDBC code for delete SQL statement