Explore multithreading, collections, and exception handling to write efficient Java code.

Advanced Java Programming Concepts and Techniques
Course Features:
  • Language: English
  • Duration: 30 hours (1 month)
  • Learning Mode: Center
  • Jurisdiction: Maharashtra
  • Certificate of Completion

Eligibility
  • Learner should preferably a std. 10th Pass student (Not Compulsory)
  • It is desirable that Learner should have done MS-CIT Course (Not Compulsory)

Introduction

  • Classify the various methods of the String class into distinct categories based on their functionalities.
  • Describe the life cycle of a Java Applet, highlighting key events and their execution order.
  • Identify and differentiate between AWT and Swing controls used in Java graphical user interfaces.
  • Organize a comprehensive list of SQL statements and categorize them based on their purposes in database management.
  • Reorganize the code of a multithreading program by implementing the Runnable interface instead of extending the Thread class.
  • Summarize the key features and differences between StringBuffer and StringBuilder classes in Java.
  • Discuss the implications of using Lambda expressions in Java programming and their benefits in terms of code conciseness.
  • Explain the importance of handling mouse events in Java GUI programming and how to implement it effectively.
  • Compare and contrast the usage of BufferedReader and InputStreamReader classes for reading from files in Java.
  • Report the steps involved in creating a Database and Table using MySQL Workbench GUI, emphasizing best practices in database design.

What you'll learn ?

  • By the end of the course, learners will be able to:
  • Interpret fundamental concepts related to string manipulation in Java, demonstrating a comprehensive understanding of their applications.
  • Illustrate proficiency in using essential methods provided by the String class for effective string handling and manipulation.
  • Implement multithreading using both the Runnable interface and Thread class, considering thread names, priorities, and main method usage.
  • Defend the application of Character and StringBuilder classes, highlighting their effectiveness in enhancing string operations and improving code efficiency.
  • Transform programming skills to efficiently compare and manipulate strings, addressing diverse real-world scenarios.
  • Paraphrase foundational knowledge of Database Management Systems (DBMS) and practical experience in creating, modifying, and querying databases using MySQL Workbench.
  • Report the execution of SQL statements through the command prompt and graphical user interface (GUI) for effective database management.
  • Implement JDBC coding proficiently for common SQL operations, including select, insert, delete, and update.
  • Review the fundamentals of streams in Java, demonstrating the application of BufferedReader and InputStreamReader classes for efficient file input and output operations.
  • Rewrite and illustrate the creation of Java applets, comprehending their life cycle, and highlighting the ability to handle events, parameters, and form projects.

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).

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

  • Basics of strings in Java
  • Important String class methods - Part 1
  • Important String class methods - Part 2
  • Comparing two strings
  • Printing an object using toString() method
  • StringBuffer & StringBuilder classes
  • Finding length without using an in-built function
  • Explanation of isletter, isDigit, isWhitespace, isUpperCase, isLowerCase
  • Programs of isLetter, isDigit, isWhitespace, isUpperCase, isLowerCase
  • Explanation of toUppercase, toLowercase, toString
  • Programs of toUppercase, toLowercase, toString
  • Explanation of reverse and delete methods
  • Programs of reverse and delete methods
  • Explanation of Insert, compareTo, compareToIgnoreCase
  • Programs of Insert, compareTo, compareToIgnoreCase
  • Explanation of getBytes, getChars(), lastindex, matches
  • Programs of getBytes, getChars(), lastindex, matches
  • Explanation of split, subSequence, valurOf
  • Programs of split, sunSequence, valueOf
  • Explanation of join, contains
  • Programs of join and contains
  • Basics of MultiThreading
  • Implementing Runnable interface for Multithreading
  • Extending Thread class for Multithreading
  • Thread Names, Priorities, the parent thread
  • Method main as a thread
  • Anonymous inner classes Part - 1
  • Anonymous inner classes Part - 2
  • LAMBDA expressions
  • Introduction to DBMS & Databases
  • Creating a Database and Table using MySQL Workbench GUI
  • Creating a Database and Table at the command prompt
  • Issuing SQL statements on Command prompt Part - 1
  • Issuing SQL statements on Command prompt Part - 2
  • Alter table queries
  • Indexes
  • Constraints
  • Constraints (Contd)
  • Basics of JDBC & its architecture
  • Steps for JDBC coding
  • Coding a JDBC program for SQL statement Select Part - 1
  • Coding a JDBC program for SQL statement Select Part - 2
  • Coding a JDBC program for SQL statement Insert
  • Coding a JDBC program for SQL statement delete
  • Coding a JDBC program for SQL statement update
  • Basics of streams
  • Using BufferedReader and InputStreamReader classes
  • Reading from a file
  • Writing on a file
  • Copying the content of a file into another
  • Using BufferedReader class to read files
  • Serialization of objects
  • Deserialization of objects
  • Basics of Java Applets
  • Writing your first applet and understanding life cycle - Part 1
  • Writing your first applet and understanding life cycle - Part 2
  • Working with colors and fonts
  • Passing parameters to an applet
  • Passing parameters to an applet - execution
  • First Applet in Netbeans
  • Drawing figures
  • Basics of event handing
  • Handling mouse events - Part 1
  • Handling mouse events - Part 2
  • AWT Controls - Part 1
  • AWT Controls - Part 2
  • Using Fonts and Colours in AWT Controls
  • Positioning AWT Controls by setBounds() method
  • Handling Button events - Part 1
  • Handling Button events - Part 2
  • Handling Checkbox events
  • Handling Radio button events
  • Handling Scrollbar Events Part - 1
  • Handling Scrollbar Events Part - 2
  • Handling List Events Part -1
  • Handling List Events Part - 2
  • First Example of an Applet form project
  • Using AWT Controls from Palette Box
  • Autogenerated Code
  • Handling Button events through Applet forms
  • Handling Checkbox events through Applet forms
  • Handling Choice events through Applet forms
  • Differences between Applets and Frames
  • First Example of a Frame
  • Getting more comfortable - Another example of a Frame
  • Second Example of a Frame - Execution
  • Changing the Title and Size of a Frame Window
  • Changing the background color of a Frame window
  • Basics of Swings & differences from Applets
  • First sample program of swings Part - 1
  • First sample program of swings Part - 2
  • Using setBounds() and setFonts() with swing controls
  • Using JCheckBox class object
  • Creating a tree structure using JTree class object
  • Handling events of JButton objects
  • Handling events of JCheckBox object
  • Handling events of JRadioButton objects
  • First Sample swing Program in Netbeans
  • Using Swing controls in JApplet project
  • Event Handling in Japplet
  • Using JOptionPane class for message dialog boxes
  • First sample JApplet Form swing
  • More stuff on JApplet Form swings
  • First Example program of JFrame Project
  • Working with DateChooser - Part 1
  • Working with DateChooser - Part 2
  • Creating a MenuBar - Menu objects, MenuItem Objects
  • Handling Events of MenuItems - Part 1
  • Handling Events of MenuItems - Part 2

Evaluation Pattern

Evaluation Pattern of KLiC Courses consists of 4 Sections as per below table:

Section No. Section Name Total Marks Minimum Passing Marks
1 Learning Progression 25 10
2 Internal Assessment 25 10
3 Final Online Examination 50 20
Total 100 40
4 SUPWs (Socially Useful and Productive Work in form of Assignments) 5 Assignments 2 Assignments to be Completed & Uploaded
YCMOU Mark Sheet

Printed Mark Sheet will be issued by YCMOU on successful completion of Section 1, Section 2 and Section 3 and will be delivered to the learner by MKCL.
YCMOU Mark Sheet will be available only for Maharashtra jurisdiction learners

MKCL's KLiC Certificate

The certificate will be provided to the learner who will satisfy the below criteria:

  1. Learners who have successfully completed above mentioned 3 Sections i.e. Section 1, Section 2 and Section 3
  2. Additionally, learner should have completed Section 4 (i.e. Section 4 will comprise of SUPWs i.e. Socially Useful and Productive Work in form of Assignments)
    • Learner has to complete and upload minimum 2 out of 5 Assignments

Courses Fee Structure from 01 July, 2025 Onwards

KLiC 30 hour course fee applicable from 01 July, 2025 all over Maharashtra

KLiC Course Duration MFO
(Inclusive of GST)
ALC Share
(Service Charges to be collected by ALC)
30 hours Rs. 300/- Rs. 1,500/-
Important Points:
* Above mentioned fee is applicable for all Modes of KLiC Courses offered at Authorised Learning Center (ALC) and at Satellite Center
* Total fee is including of Course fees, Examination fees and Certification fees
* MKCL reserves the right to modify the Fee anytime without any prior notice