In this Series of Java Programming for ICSE kids we will be going through whole ICSE Syllabus right from beginner to advanced level . In this series we’ll have all tips, tricks , important questions , expected questions, repeated questions especially for Java Programming for ICSE 10th. But today in this post we will be looking at the curriculum and pattern of ICSE 10th Computer Science Question paper for the year of 2026.
Pattern of ICSE Computer Application Questions
There are two sections SECTION A and SECTION B
SECTION A
Under Section A , we have two questions each carrying 20 marks
Question 1 consists of questions that are very basic . This question is to check the students understanding of the fundamentals in java programming language . This question is consist of choose the right question from a multiple choices . This part of Question can be tricky if you don’t have the understanding of Java programming but it will be very easy if you’re an expert in the basics of java programming. This question also carries 20 marks and there are 20 multiple choice questions as it’s clear each question carries one mark .
- What is a value type question / predict the output question from topics like string, characters , integer types
- An access specifier question is most expected question therefore be clear about the difference between different access specifier like public , private and protected .
- Questions from String Functions and Character fucntions are very common like indexOf(),compareTo(),charAt(),length(),substring(),Character.toLowerCase() etc
- Be aware of Concepts of Constructors , functions , call by parameters , call by value ,call by reference , call by method
- Most expected question would be Object creation question eg . The correct statement to create an object named mango of class fruit:
- (a)fruit apple = apple();
- (b) fruit mango = new fruit();
- (c)Mango fruit=new Mango();
- (d) fruit mango= new mango();
- Therefore the correct answer is (b) as the object name is “mango” and class name is “fruit”
- Assertion and Reasoning type is being followed for past two years so there are high possibility of repeated in future years .
- Questions from Mathematical functions like Math.sqrt(),Math.pow(),Math.min(),Math.max(),Math,ceil() are the most expected question under this category
- Questions from data types , definitions of OOP concept and 5 different types are OOP concept can be asked .
- Deep understanding of the type casting , Wrapper classs , number of bits occupied by each data type is must .
Question 2
From Question 2 , most of the questions are asked to question the understanding of java programming fundamentals so therefore this question concentrates on output based questions/predict the output based questions .
Question 2 carries 20 marks as well. There are 10 questions each of which carries two marks each.
- Predict based output from Strings , String Functions , working of loops , Calling of functions .
- Find errors type questions eg .
- The following code to compare two strings is compiled, the following syntax error was displayed – incompatible types – int cannot be converted to Boolean. Identify the statement which has the error and write the correct statement. Give the output of the program segment.
void calculate()
{
String a = “KING”, b = “KINGDOM”;
boolean x = a.compareTo(b);
System.out.println(x);
}
Issue Explanation:
The error you’re encountering in the code is due to the fact that the compareTo
method of the String
class in Java returns an int
, not a boolean
. This is why the statement boolean x = a.compareTo(b);
causes a type mismatch error because you are trying to assign an int
to a boolean
variable.
Corrected Statement:
You need to modify the code to store the result of compareTo
in an int
variable. If you want to check whether the strings are equal (for example, returning a boolean value), you can compare the result of compareTo
with 0
.
void calculate() {
String a = “KING”, b = “KINGDOM”;
int x = a.compareTo(b); // Store the result as an integer
boolean result = (x == 0); // Check if the strings are equal
System.out.println(result); // Output the result
}
Explanation of compareTo
:
compareTo
compares two strings lexicographically (i.e., it checks their alphabetical order).- If the strings are equal, it returns
0
. - If the first string is lexicographically smaller than the second, it returns a negative integer.
- If the first string is lexicographically larger than the second, it returns a positive integer.
Output of the Program:
In this case, "KING"
and "KINGDOM"
are not the same, so compareTo
will return a negative integer (because “KING” is lexicographically smaller than “KINGDOM”).
Thus, the value of result
will be false
because x == 0
is not true.
- How many times is the loop executed ?
- Convert the following do…while loop to for loop:
- Write the Java expression type question are mandatory questions
- Evaluate the expression when the value of “x =10 ” is also a mandatory questions
Section B
Section B are straight forward questions it consist of 6 java programs out of which you can choose any 4 questions . Each question carries 15 marks . Therefore , it makes total of 60 for Section B.Let’s analyze different types of questions
Question 3 would be very simple they are function based question we just need to convert the given function into java program
example :
DTDC a courier company charges for the courier based on the weight of the parcel. Define
a class with the following specifications:
class name: courier
Member variables: name – name of the customer
weight – weight of the parcel in kilograms
address – address of the recipient
bill – amount to be paid
type – ‘D’- domestic, ‘I’- international
Member methods:
void accept ( ) – to accept the details using the methods of the Scanner class only.
void calculate ( ) – to calculate the bill as per the following criteria:
Weight in Kgs Rate per Kg
First 5 Kgs Rs.800
Next 5 Kgs Rs.700
Above 10 Kgs Rs.500
An additional amount of Rs.1500 is charged if the type of the courier
is I (International)
void print ( ) – To print the details
void main ( ) – to create an object of the class and invoke the methods
Question 4 :
This question consists of function overload questions
Question 5
This would be String based question therefore it is necessary for the understanding of fundamentals of strings , accessing of string s, manipulation of strings etc
Question 6
It can consist of number program / to find the sum of series program / to write a java code to the given pattern so it is necessary to practice different types of number based question for you to think of the logic behind the program as quick as possible .
Question 7
This question consist of programs from array based questions . Be clear about the concepts of Searching like linear search , binary search and sorting like selection sort , bubble sort using array
Example :
Define a class to accept values into an array of double data type of size 20. Accept a double
value from user and search in the array using linear search method. If value is found
display message “Found” with its position where it is present in the array. Otherwise
display message “not found”.
Question 8
This question can be anything like string based / number based / pattern based questions
Example :
Define a class to accept values in integer array of size 10. Find sum of one digit number
and sum of two digit numbers entered. Display them separately.
Example: Input: a[ ] = {2, 12, 4, 9, 18, 25, 3, 32, 20, 1}
Output: Sum of one digit numbers : 2 + 4 + 9 + 3 + 1 = 19
Sum of two digit numbers : 12 + 18 + 25 + 32 + 20 = 107
Example for output based question
the following code to compare two strings is compiled, the following syntax error was displayed – incompatible types – int cannot be converted to boolean. identify the statement which has the error and write the correct statement. give the output of the program segment. void calculate() { string a = “king”, b = “kingdom”; boolean x = a.compareto(b); system.out.println(x); }
Okay, let’s break down that code and fix the error!
The issue lies in this line:
Java
boolean x = a.compareTo(b);
The compareTo()
method in Java doesn’t directly return a boolean (true or false). Instead, it compares two strings lexicographically:
- Returns 0: If both strings are equal.
- Returns a positive value: If the first string comes after the second string lexicographically.
- Returns a negative value: If the first string comes before the second string lexicographically.
Since compareTo()
returns an integer, trying to assign it to a boolean variable causes the “incompatible types” error.
To fix this, we need to change the logic to check if the result of compareTo()
indicates equality:
Java
boolean x = (a.compareTo(b) == 0);
This corrected line checks if the result of a.compareTo(b)
is zero, which means the strings are equal.
Here’s the corrected code:
Java
void calculate() {
String a = "king", b = "kingdom";
boolean x = (a.compareTo(b) == 0);
System.out.println(x);
}
Output:
This code will print:
false
because “king” and “kingdom” are not the same string.
In simpler terms:
Imagine you’re comparing two words in a dictionary. compareTo()
tells you which word comes first. We’re not interested in which comes first, but whether they are exactly the same word. So, we check if the result of the comparison is zero, which means the words are identical.
I hope this explanation is helpful! Let me know if you have any other coding questions.
So we’re at the end of this post I hope you guys understood the pattern of computer application for ICSE 10th Class . So , If you have any questions contact me at admin@learnwithmira.in I’m always open to answer your questions . Stay updated on upcoming post related to java Icse Computer Science 10th grade.