KLiC Certificate in Java Programming Essentials and Mobile App Development
Introduction
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 start Mobile App Development
Objectives of the Course
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.
Gain a comprehensive understanding of the Android operating system, its architecture, and version history, enabling informed decision-making during app development for diverse Android devices.
Develop proficiency in Java and Kotlin programming languages, including mastering syntax, object-oriented concepts, control structures, data types, and error handling, crucial for building stable Android applications.
Navigate and efficiently utilize Android Studio and associated development tools for setting up environments, managing projects, using version control, and comprehending the compilation and deployment processes.
Design and develop Android applications by applying user interface (UI) and user experience (UX) principles, handling activities and fragments, implementing navigation, and utilizing Android's widgets and layout managers for visually appealing and functional apps.
Integrate advanced features such as location services, media functions, web services, JSON data processing, and SQLite databases into Android applications to enhance functionality and user engagement.
Understand and implement best practices for ensuring security and privacy of user data, including handling permissions, secure data storage and retrieval, and implementing secure communication protocols.
Learn the process of preparing and deploying Android apps to the Google Play Store, including signing applications, optimizing for search engines, and implementing strategies for effective app marketing and monetization.
Gain hands-on experience in developing real-world Android applications through case studies and project-based learning, from conception to deployment, to build a portfolio showcasing skills for potential employers. Additionally, explore the development of applications for Wear OS and understand the principles of designing multi-screen applications for a seamless user experience across different device types.
What you'll learn ?
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.
Understanding Android Ecosystem and Architecture: Gain a deep understanding of the Android operating system, including its versions, architecture, and the features that differentiate Android from other mobile platforms. This knowledge will enable them to make informed decisions while developing apps tailored for various Android devices.
Proficiency in Java and Kotlin: Become proficient in Java and Kotlin, the primary languages used for Android development. This includes mastering the syntax, object-oriented programming concepts, control structures, data types, and error-handling mechanisms essential for building stable applications.
Android Studio and Development Tools: Learn to navigate and utilize Android Studio and its associated development tools efficiently. This includes setting up development environments, managing project files, using version control systems, and understanding the compilation and deployment process.
Design and Development of Android Applications: Acquire the skills to design and develop Android applications. This covers understanding user interface (UI) and user experience (UX) design principles, handling activities and fragments, implementing navigation, and utilizing Android's vast set of widgets and layout managers to create visually appealing and functional apps.
Integration of Advanced Android Features: Integrate advanced features such as location services, media functions, web services, JSON data processing, and SQLite databases into their applications, enhancing functionality and user engagement.
Security and Data Management: Understand and implement the best practices for ensuring the security and privacy of user data. This includes handling permissions, secure data storage and retrieval, and implementing secure communication protocols.
Deployment and Marketing of Android Applications: Learn the process of preparing and deploying apps to the Google Play Store, including signing applications, optimizing for search engines, and understanding the strategies for effective app marketing and monetization.
Real-world Application Development Experience: Through case studies and project-based learning, gain hands-on experience in developing real-world Android applications, from conception to deployment, equipping them with a portfolio to showcase their skills to potential employers.
Wear OS and Multi-Screen Applications: Explore the development of applications for Wear OS and understand the principles of designing multi-screen applications, ensuring a seamless user experience across different device types.
Syllabus
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 in Java - Integers, floating-point, characters, Boolean
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
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 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 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
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
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 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
Programs - using loops
Programs - using nested 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
Introduction to nested loops
Second program of nested loops
Third program of nested loops
Fourth program of nested loops
Fifth 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
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
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
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
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
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
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
Practical coding of classes and objects
Area of rectangle
Area of circle
Hospital billing
Income tax calculation
Creating an object within the class itself
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 in Java
Default constructors
Constructor overloading
Constructor overloading - contd.
Documentation comments
this keyword
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
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
Creating abstract classes
Abstract class Trainers
The basics of interfaces
Practical coding of interfaces
Interface for areas and circumference
An interface extending another interface
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
Final classes
Final methods
Assigning reference of sub-class object into super class reference variable
Abstract methods
Basics of Polymorphism
Practical implementation of Polymorphism
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 Exception
Handling NullPointerException
Handling NumberFormatException
throw: throwing an exception manually
throws: handling checked exceptions
Nested try block
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
Introduction to Android
Introduction to Google Play Store
Booming Job Prospects
Career Opportunities in Android
Android Operating System
Android versions
Features of Android
Android Architecture
Android Devices
History of Android
Android Apps
In-Built Applications
Applications by Google
Social Networking Applications
Types of Applications
Paid and Free Apps
Google Model
Prerequisites
Android Environment Setup
Downloading JDK
Setting Path of JDK
Installation of Android Studio in Mac, Linux and Windows
Setting up ADT Plug In
Creating First Android Application
Creation of App
Android Studio Vs Eclipse
Android Studio Fundamentals and Android Studio IDE
Viewing and adding Java
Compilation and Runtime
Compilation Process
Creating Hello Project
Android Components
Android Intent
Types of Intent
MVP Pattern
Advantages of using MVP
Android Services
Types of Android Services
Broadcast Receivers
Android Content Provider
Types of Views
Overview of Android Widgets
History of Java
Introduction to Java
Java Development Structure
Java Program Platform
Features of Java Program
Difference between POP and OOP
Java Applications
Java Virtual Machine
JVM Architecture
JDK Alpha and Beta
J2SE
Java SE version
Setting up Java and Installation of JDK
Setting Java Variable
Java Program
Program structure of Java
Java Import Statements
Java Class Definition
Java Class Member Ordering
Different styles of Print Statements
Main Method Signatures
Java Identifiers
Reserved Words
Variables
Datatypes
Type Casting
Operators
If Statement
Switch Statement
While Loop
Do-While Loop
For Loop
For Each Loop
Java Break Statement
Java Continue Statement
Arrays
Java Maps
Program Flow
Introduction to Class and Object
Working with Object Initialization
Object Oriented Programming
Constructors
Overloading
Packages
Uses of Import
Access Modifiers of Java
Inheritance of Java
Uses of Inheritance
Relationship between Class and Interface
Polymorphism of Java
Java Exceptions
Introduction to Event Handling
Overview of Event Handlers
Overview of Event Listeners
Overview of Event Registration
Declarative Event Handling
Programmatic Event Handling
Working with Event Handling
Types of Errors
Demonstration of Syntax Errors
Runtime Exception
Demonstration of Runtime Exception
Logical Errors
Demonstration of Logical Error
Component Activation
Android Lifecycle
Demonstration of Activity Lifecycle
Intent and its types
Implementing the Intent
Passing data to another Activity
Introduction to Themes and Colors
Working with Themes and Colors - Creating Project, Changing values of defined colors, Theme Colors, Styles
Introduction to App Bar
Working with App Bar - Adding items, working with Toolbar Activity
Fragments
Working with Fragment Design
Working with Fragments Activity
Long Running Task
Demonstration of the Long Running Tasks
Introduction to AsyncTask
Demonstration of the AsyncTask
Introduction to Shared Preference
Overview of Operating Mode
Introduction to Editor
Overview of Methods
Storing Data
Overview of Retrieving Data
Clear and Delete
Working with Shared Preference - xml File, Main Activity
Verifying file
Internal Storage
Difference between Shared Preference and Internal Storage
Read and Write data to Internal Storage
Syntax to Write a text file and Reading a text file
Demonstration of Internal Storage
App Number Shapes
Working with Number Shapes App
Fizzbuzz App
Working with FizzBuzz App
Multiplication Table
Working with Multiplication Table App
Outline Methods
Layout
Understanding of Constraint and Linear Layout
Understanding of Frame and Relative Layout
Image View
Demonstration of Image View
Animation
Demonstration of Animation
Working with Tic-Tac-Toe Game
Working with Video
Controlling Audio
Audio Volume Seeking
Grid Layout and working with Grid Layout
App Basic Phrases
Working with App Basic Phrases
ListView
Time Table App
Working with Time Table App
Egg Timer App
Working with Egg Timer App
Showing and Hiding UI Element
Demonstration of Showing and Hiding UI Element
Brain Trainer
Working with Brain Trainer App
Try and Catch Block
Java String Manipulation
Java Classes
Implementing Java String
String Concatenation and its types
Implementing Java String Methods
Guessing Player App
Processing JSON Data
Working JSON Data
Climatic Condition App
Working with Climatic Condition App
Implementing Map Activity
Working with Customize App
Hikers Watch App
Implementing Hikers Watch App
Memorable Places App
Implementing Memorable
Storing Data Permanently
Demonstration of Splash Screen
Working with Login Activity
Adding Show Activity
Introduction to Custom Action Bar
Customizing Action Bar
Alert Dialog
Adding Alert Dialog
Notes Application
Creating Notes Application
SQLite Database
Implementing and working with SQLite Database
SQLite Advance
Working with SQLite Advance
Webview
Working with Webview
Bluetooth
Implementing Bluetooth
Version Control
Implementing Version Control
Implementing the Firebase
ADMob and ADmob implementation
Local Notification
Implementing Local Notification
Multi-Screen
Working with Multi-Screen
Introduction to Wear OS
Working with Hello Round World Project
Working with different watch faces
Working with People Counter App
Working with Cards
Understanding Card
Making use of List
Understanding List
Working with Adapter Class
Working with List
Working with Voice Input
Communicating with User Phone
Working with Communication Wear Module
Notification in Wearable OS
Custom Watch Faces
Creating Google Sign in
Configuration for Google Sign in
Demonstration of Google Sign in
Building Facebook Login
Demonstration of Facebook Login
Working with OTP Verification
Case Study: Near By Places App
Case Study: Visitor Management App Case Study: Online YouTube Player Case Study: Chatting App
Case Study: Art Interest App Case Study: Salon App
Case Study: Grocery Store Online Shopping App Case Study: Hotel Booking App
Strategies for Marketing and App Search Engine
App Store Optimization
Generating Signed APK
Creating Play store account
Updating Developer Profile
Uploading App on the Play Store
Basics of Kotlin
Difference between Kotlin and Java
Demonstration of Weather App
Exploring Kotlin Language
Certificate (YCMOU Recognised Courses)
KLiC 120 hour 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).
Please Refer Fee Structure for YCMOU Certification
Academic Approach
The Academic Approach of the course 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 well as development of the society.
Learning methodology
Learners are given an overview of the course and its connection to life and work.
Learners are then exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
Learners are then acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
Learners are then acquainted with the architecture of the tool or Tool Map so as to appreciate various parts of the tool, their functions and their inter-relations.
Learners are then exposed to simple application development methodology by using the tool at the beginner’s level
Learners then perform the differential skills related to the use of the tool to improve the given ready-made outputs.
Learners are then engaged in appreciation of real-life case studies developed by the experts.
Learners are then encouraged to proceed from appreciation to imitation of the experts.
After imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
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.
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
MKCL’s KLiC Certificate will be provided to the learner who will satisfy the below criteria:
Learners who have successfully completed above mentioned 3 Sections i.e. Section 1, Section 2 and Section 3
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
KLiC Courses Fee Structure from 01 July, 2025 Onwards
KLiC 120 hour course fee applicable from 01 July, 2025 all over Maharashtra
KLiC Course Duration
MFO: MKCL Share (Including 18% GST)
ALC Share (Service Charges to be collected by ALC)
MKCL Certificate
YCMOU Marksheet
120 hours (Without YCMOU Marksheet)
Rs. 1,000/-
Rs. 5,000/-
Available
Not Available
120 hours (With YCMOU Marksheet)
Rs. 1,118/-
Rs. 5,000/-
Available
Available
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
KLiC Courses Fee Structure upto 30 June, 2025
From 01 January 2025 onwards, the fees for all KLiC courses in ALCs of Mumbai Metropolitan Regional Development Authority (MMRDA), Pune Metropolitan Regional Development Authority (PMRDA) and Rest of Maharashtra will be applicable as shown in the table below:
KLiC Courses of 120 Hours:
Mode
Total Fee (Rupees)
Single Installment (Rupees)
Two Installments (Rupees)
Single Installment
6000/-
6000/-
N/A
Two Installments
6200/-
3100/-
3100/-
Total fee is including of Course fees, Examination fees and Certification fees
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