0% found this document useful (0 votes)
8 views98 pages

Sol 23,24,25, R, Imp

The document is a comprehensive guide from the Council for the Indian School Certificate Examinations (CISCE) detailing the Analysis of Pupil Performance for ICSE and ISC Examinations, providing insights into student performance and feedback for educators. It includes a mission statement, ethos, and a foreword expressing gratitude to contributors, as well as a preface outlining the document's purpose and the subjects covered. The document also contains a section on Computer Applications with questions, examiner comments, suggestions for teachers, and a marking scheme to aid in the teaching-learning process.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views98 pages

Sol 23,24,25, R, Imp

The document is a comprehensive guide from the Council for the Indian School Certificate Examinations (CISCE) detailing the Analysis of Pupil Performance for ICSE and ISC Examinations, providing insights into student performance and feedback for educators. It includes a mission statement, ethos, and a foreword expressing gratitude to contributors, as well as a preface outlining the document's purpose and the subjects covered. The document also contains a section on Computer Applications with questions, examiner comments, suggestions for teachers, and a marking scheme to aid in the teaching-learning process.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

November 2023

____________________________________________________________________________________________

© Copyright, Council for the Indian School Certificate Examinations


All rights reserved. The copyright to this publication and any part thereof solely vests in the Council for the Indian
School Certificate Examinations. This publication and no part thereof may be reproduced, transmitted, distributed or
stored in any manner whatsoever, without the prior written approval of the Council for the Indian School Certificate
Examinations.
Council for the Indian School Certificate Examinations (CISCE)

MISSION STATEMENT

The Council for the Indian School Certificate


Examinations is committed to serving the nation's
children, through high quality educational
endeavours, empowering them to contribute towards
a humane, just and pluralistic society, promoting
introspective living, by creating exciting learning
opportunities, with a commitment to excellence.

ETHOS OF CISCE

Trust and fair play.


Minimum monitoring.
Allowing schools to evolve their own niche.
Catering to the needs of the children.
Giving freedom to experiment with new ideas
and practices.
Diversity and plurality - the basic strength for
evolution of ideas.
Schools to motivate pupils towards the
cultivation of:
Excellence - The Indian and Global
experience.
Values - Spiritual and cultural - to be the bedrock
of the educational experience.
Schools to have an 'Indian Ethos', strong roots in
the national psyche and be sensitive to national
aspirations.
FOREWORD

The Analysis of Pupils’ Performance document for ICSE (Class X) and ISC (Class XII) Examinations
stands out as a unique and indispensable resource. Over the years, it has evolved to become a valuable
tool for schools, shedding light on both the strengths and challenges faced by candidates as they
navigate these Examinations.
We would like to extend our heartfelt appreciation to the Research Development and Consultancy
Division (RDCD) of the CISCE for their painstaking efforts in creating this analysis. Furthermore,
our gratitude goes out to the examiners who have generously provided feedback on candidates’
performance during the examinations, along with suggestions for teachers and students to enhance
their curriculum.
We hope that the schools find this document to be of value. We also invite schools to share their
sincere thoughts on its utility and quality.

Sangeeta Bhatia
November 2023 Deputy Secretary

i
PREFACE

The Analysis of Pupil Performance documents have been prepared by the CISCE since the year 1994,
with the objective to facilitate the teaching-learning process by providing subject/ paper wise
feedback to teachers regarding performance of students at the ICSE and ISC Examinations. With the
aim of ensuring wider accessibility to all stakeholders, from the year 2014, the ICSE and the ISC
documents have been made available on the CISCE website [Link]. These documents are
being released after a two-year gap, understandably caused by the challenges in conducting
examinations during the pandemic.
The documents for the ICSE and ISC Examination Year 2023 include a detailed qualitative analysis
of the performance of students in various subjects. The Analysis of Pupil Performance document for
ICSE for the Examination Year 2023 covers the following subjects - English Language, Literature in
English, History and Civics, Geography, Mathematics, and Computer Applications.
The subjects covered in the ISC Analysis of Pupil Performance document for the Year 2023 are
English Language, Literature in English, Mathematics, History, Accounts, and Physics.
The relevance of this question-by-question analysis lies in the valuable insights into the performance
of candidates on each question in the subject paper. The Comments of Examiners section is based on
inputs provided by examiners from examination centers across the country. It comprises of question
wise feedback on the performance of candidates in the form of the common errors made by
candidates. The Suggestions for Teachers section along with, provides pedagogical interventions that
teachers can utilize to rectify/ reduce these errors. The criteria used for marking each question has
been provided for both teachers and students to understand in the Marking Scheme section. Certain
topics in the question paper that were found to be challenging or confusing for the majority of the
candidates have been listed, along with general recommendations for candidates to prepare for the
subject paper to perform better in the examination.
I humbly acknowledge and appreciate the pivotal contributions of all the ICSE and the ISC examiners
who have enriched the document with their valuable insights on each question.
My gratitude and best wishes to the RDCD team of Dr. Manika Sharma, Ms. Parul Kohli and
Ms. Mansi Guleria, who have worked tirelessly towards the meticulous preparation and timely release
of this document.
We are sanguine that this document will empower teachers to support their students towards
efficacious preparation for the upcoming ICSE/ ISC Examinations.

Bhawna Taragi
November 2023 Deputy Head - RDCD

ii
COMPUTER APPLICATIONS

SECTION A (40 Marks)


(Attempt all questions from this Section.)

Question 1
Choose the correct answers to the questions from the given options. [20]
(Do not copy the questions, write the correct answers only.)
(i) A mechanism where one class acquires the properties of another class:
(a) Polymorphism
(b) Inheritance
(c) Encapsulation
(d) Abstraction
(ii) Identify the type of operator &&:

(a) ternary
(b) unary
(c) logical
(d) relational
(iii) The Scanner class method used to accept words with space:
(a) next()
(b) nextLine()
(c) Next()
(d) nextString()
(iv) The keyword used to call package in the program:
(a) extends
(b) export
(c) import
(d) package
(v) What value will [Link] ([Link] (15.3)) return?
(a) 16.0

1
(b) 16
(c) 4.0
(d) 5.0
(vi) The absence of which statement leads to fall through situation in switch case
statement?
(a) continue
(b) break
(c) return
(d) [Link](0)
(vii) State the type of loop in the given program segment:
for (int i = 5; i ! = 0; i - = 2)
[Link](i);
(a) finite
(b) infinite
(c) null
(d) fixed
(viii) Write a method prototype name check() which takes an integer argument and
returns a char:
(a) char check()
(b) void check (int x)
(c) check (int x)
(d) char check (int x)
(ix) The number of values that a method can return is:
(a) 1
(b) 2
(c) 3
(d) 4
(x) Predict the output of the following code snippet: String P = "20", Q ="22";
int a = [Link](P);
int b = [Link](Q);
[Link](a+""+b);
(a) 20

2
(b) 20 22
(c) 2220
(d) 22
(xi) The String class method to join two strings is:
(a) concat(String)
(b) <string>.joint(string)
(c) concat(char)
(d) Concat()
(xii) The output of the function "COMPOSITION".substring(3, 6):
(a) POSI
(b) POS
(c) MPO
(d) MPOS
(xiii) int x = (int) 32.8; is an example of __________ typecasting.
(a) implicit
(b) automatic
(c) explicit
(d) coercion
(xiv) The code obtained after compilation is known as:
(a) source code
(b) object code
(c) machine code
(d) java byte code
(xv) Missing a semicolon in a statement is what type of error?
(a) Logical
(b) Syntax
(c) Runtime
(d) No error
(xvi) Consider the following program segment and select the output of the same
when n = 10 :
switch(n)
{case 10 : [Link](n*2);

3
case 4 : [Link](n*4); break;
default : [Link](n);
}
(a) 20
40
(b) 10
4
(c) 20, 40
(d) 10
10
(xvii) A method which does not modify the value of variables is termed as:
(a) Impure method
(b) Pure method
(c) Primitive method
(d) User defined method
(xviii) When an object of a Wrapper class is converted to its corresponding primitive
data type, it is called as ___________.
(a) Boxing
(b) Explicit type conversion
(c) Unboxing
(d) Implicit type conversion
(xix) The number of bits occupied by the value ‘a’ are:
(a) 1 bit
(b) 2 bits
(c) 4 bits
(d) 16 bits
(xx) Method which is a part of a class rather than an instance of the class is termed
as:
(a) Static method
(b) Non static method
(c) Wrapper class
(d) String method

4
Comments of Examiners
(i) Majority of the candidates chose Suggestions for teachers
the correct option (b). Some − Teach the concepts of OOPS using daily
candidates, however, chose option
life examples.
(a).
(ii) Most of the candidates chose the − Ensure that the students understand the
correct option (c). Some difference between logical and relational
candidates who were not clear of operator.
the concept chose option (d). − Lay stress on the symbols used for
(iii) Majority of the candidates were relational and logical operator.
unable to choose the correct option − Give short questions to the students to
(b). They chose either (a) or (c) identify the category of an operator.
whereas the question stated, ‘words − Lay stress on the programs based on
with space’. accepting a name with two words.
(iv) Few candidates chose option (d) − Teach how to use package while teaching
instead of option (c).
the concept of Scanner class input.
(v) Most of the candidates chose the
− With examples of nested function, lay
correct option (c). Some
candidates, however, selected stress on the order of evaluation – that the
option (a) or (b) or mentioned 4 inner function should be executed/called
instead of 4.0 clearly showing that first and then on the returned value of the
they had no idea about a nested inner function the outer function to be
function cell. executed.
(vi) Many candidates chose option (d) − Adequate practice to be given on return
instead of option (b). type of the function.
(vii) Most of the candidates chose either − Teach the concept of fall through
option (a) or option (d) instead of condition with suitable programs.
option (b). − Ensure that the students understand that
(viii) Most of the candidates chose either all loops are not fixed loop or finite loop.
option (b) or option (c) instead of
− Ensure that the students are clear when to
option (d).
use void as a return data type and when to
(ix) Most of the candidates chose the
correct option (a). A few, however, use other data type as a return data type.
chose option (b). − Explain, using suitable programs in the
(x) Many candidates chose option (c) computer lab, that in a method, only one
instead of option (b). value can be returned.
(xi) Instead of the correct option (a), − Lay emphasis on using correct syntax for
candidates chose either option (c) all string methods.
or option (d). − Ensure that the students understand that
(xii) Very few candidates chose the changing the case of a letter in string
correct option (b). method may lead to an error message.
(xiii) Instead of the correct option (c), − Explain to the students that in a string,
most of the candidates chose the
index number starts from 0 and not from
incorrect option (a) or option (b).
1.
(xiv) Very few candidates chose the
correct option (d). − Explain the types of conversion with
(xv) Only a few candidates chose the alternate names for implicit and explicit
correct option (b). conversion.

5
(xvi) Few candidates chose the incorrect
option (c) instead of the correct one
(a) Suggestions for teachers
(xvii) Instead of the correct option (b), − Teach the difference between syntax error,
many candidates chose the runtime error and logical error with proper
incorrect option (a) or (d). examples in the computer lab.
(xviii) Most of the candidates chose either − Explain to the students in detail, the
the option (b) or (d) instead of the meaning of auto boxing and unboxing with
correct option (c). suitable programs in the computer lab.
(xix) Many candidates chose the − Ensure that the students understand the
incorrect option (a) or option (b). difference between implicit and explicit
(xx) Most of the candidates chose the conversion.
correct option (a). However, some − Teach the students the number of bits /
candidates chose the incorrect bytes occupied by each primitive data
options (b) or option (d). type.
− Make the use of static variables and
instance variables to explain this concept
properly.

MARKING SCHEME
Question 1
(i) (b) Inheritance

(ii) (c) logical

(iii) (b) nextLine()

(iv) (c) import

(v) (c) 4.0

(vi) (b) break

(vii) (b) infinite

(viii) (d) char check (int x)

(ix) (a) 1

(x) (b) 20 22

(xi) (a) concat(String)

(xii) (b) POS

(xiii) (c) explicit

6
(xiv) (d) java byte code

(xv) (b) Syntax

(xvi) 20
(a)
40

(xvii) (b) pure method

(xviii) (c) unboxing

(xix) (d) 16 bits

(xx) (a) static method

Question 2
(i) Write the Java expression for (𝑎𝑎 + 𝑏𝑏)𝑥𝑥 . [2]
(ii) Evaluate the expression when the value of x = 4: [2]
x * = - - x + x++ + x
(iii) Convert the following do…while loop to for loop: [2]
int x=10;
do
{x– –;
[Link](x);
}while (x>=1);
(iv) Give the output of the following Character class methods: [2]
(a) [Link] ('a')
(b) [Link]('#')
(v) Rewrite the following code using the if-else statement: [2]
int m= 400;
double ch = (m>300) ? (m / 10.0) * 2: (m / 20.0) - 2;
(vi) Give the output of the following program segment: [2]
int n = 4279; int d;
while(n>0)
{d=n%10;
[Link](d);

7
n=n/100;
}
(vii) Give the output of the following String class methods: [2]
(a) "COMMENCEMENT" . lastIndexOf('M')
(b) "devote" . compareTo("DEVOTE")
(viii) Consider the given array and answer the questions given below: [2]
int x[ ]={4,7,9,66,72,0,16};
(a) What is the length of the array?
(b) What is the value in x[4]?
(ix) Name the following: [2]
(a) What is an instance of the class called?
(b) The method which has same name as that of the class name.
(x) Write the value of n after execution: [2]
char ch ='d';
int n = ch + 5;

Comments of Examiners
(i) Many candidates did not use any Suggestions for teachers
mathematical method. A few − Explain each mathematical method with
candidates used [Link] instead of the number of arguments required.
[Link] (a + b, x) − Explain how to apply BODMAS rule for
(ii) Most of the candidates did not use
evaluating expressions.
the BODMAS rule properly. Many
− Lay stress on each operator precedence
candidates did not take the initial
and operator associativity in detail.
value of x for calculation.
− Teach in detail, the syntax of each loop
(iii) Many candidates did not:
with suitable programs in the computer
- Write for loop.
lab.
- Initialize the value of x with 10.
− Explain each character class method in
- Write the iteration statement.
detail with suitable programs in the
(iv) (a) Few candidates wrote ‘a’
computer lab.
(b) Few candidates wrote ‘true’
− Teach the students how to convert
(v) The common errors made by most of
ternary operator into if .. else statement
the candidates were:
- Not having written int m = 400. using suitable programs in the computer
- Not defining variable ch. lab.
- Copying the statement as it is − Give adequate practice to the students on
without using if statement. digit extraction while updating ‘n’ with
- Not writing the else statement. various powers of 10 as students are
mostly familiar with updating ‘n’ by
division by 10.

8
(vi) Many candidates overlooked the
updating of ‘n’ by 100 and were
unable to do the correct digit Suggestions for teachers
extraction. Some candidates did − Tell the students that index number starts
outputs on the same line. from 0.
(vii) Many candidates considered first − Ensure that the students understand the
index number as 1 and gave 9 as the difference between equals() and
answer. compareTo() method.
(viii) (a) A few candidates calculated sum − Teach the students how to find the length
of all the elements. of an array and how to access each
(b) Some candidates considered the element by its index number.
first index number as 1 and wrote 66 − Ensure that the students are clear about
as the answer. the concept that index number in Arrays
(ix) (a) Most of the candidates gave starts from 0.
‘method’ as the answer. − The concept of object-oriented
(b) Majority of the answer scripts programming needs to be discussed in
had static method as the answer. detail.
(x) Most of the candidates were unable − The concept of constructor, its use and
to recollect the corresponding its application should be taught
Unicode value of the character. thoroughly with suitable programs in the
Some candidates gave the answer in computer lab.
char datatype. − Adequate practice should be given to the
students in questions where characters
corresponding Unicode is required.
− Emphasis should be laid on the concept
of implicit type conversion.

MARKING SCHEME
Question 2
(i) [Link] (a + b, x)

(ii) x = 40
x= x*(--x + x++ +x)
x=4* (3+3+4)
(iii) for(int x = 10; x > = 1; x --)
{[Link](x);}
]
(iv) (a) A
(b) false
(v) int m = 400; double ch;
if (m > 300)
ch = (m / 10.0) * 2;

9
else
ch = (m / 20.0) * 2;
(vi) 9
2
(vii) (a) 8
(b) 32
(viii) (a) 7
(b) 72
(ix) (a) object
(b) constructor
(x) n = 105

SECTION B (60 Marks)


(Answer any four questions from this Section.)

Question 3
Design a class with the following specifications: [15]
Class name: Student
Member variables: name – name of student
age – age of student
mks –marks obtained
stream – stream allocated
(Declare the variables using appropriate data types)
Member methods:
void accept() – Accept name, age and marks using methods of Scanner class.
void allocation() – Allocate the stream as per following criteria:
mks stream
> = 300 Science and Computer
> = 200 and < 300 Commerce and Computer
> = 75 and 200 Arts and Animation
< 75 Try Again
void print() – Display student name, age, mks and stream allocated.
Call all the above methods in main method using an object.

10
Comments of Examiners
The common errors made by most of the Suggestions for teachers
candidates were: − Lay stress on writing the same class
- Did not write the same class name as name as it is given in the question.
mentioned in the question. − Explain to the students to declare
member variables with the appropriate
- Did not declare the member variables or data type.
declaring it inside the accept () method. − Explain the importance of writing the
- Not having written the same member same method names as given in the
question.
method names as mentioned in the
− Solve programs in the computer lab to
question.
show how various operators are used in
- Not having written the syntax of the program.
relational operators properly. − Explain the occurrence of syntax errors
/ compilation errors in case of writing
- Not having created an object of the class wrong syntax for the operators.
and not calling member methods. − Solve programs in the computer lab to
- Missing double quotation marks in explain an object of the class with
string message. proper syntax is created and how to call
the member methods using object name.
− Lay emphasis on the concept that
double quotation is must for messages.

MARKING SCHEME
Question 3
import [Link].*;

class Student

String name;int age; int mks; String stream;

void accept()

Scanner sc=new Scanner([Link]);

[Link]("enter name, age ,mon_no,mks");

name=[Link]();

age=[Link]();

mks=[Link]();

11
void allocation ()

if(mks>=300)

stream="science and computer “;

else if(mks>=200&&mks<300)

stream="commerce and computer";

else if(mks>=75&&mks<200)

stream="arts";

else

stream="Try again";

void print()

[Link](name+" "+age+" "+mks+" "+stream);

public static void main(String args[])

Student ob=new Student();

[Link]();

[Link]();

[Link]();

(Variable description not required , if the same variables are used )

12
Question 4
Define a class to accept 10 characters from a user. Using bubble sort technique arrange [15]
them in ascending order. Display the sorted array and original array.

Comments of Examiners
Majority of the candidates declared the Suggestions for teachers
integer array instead of character array. − Teach the students to check the data type
Several candidates did not take the character given in the question and declare the array
input properly. They wrote next( ) or accordingly.
nextLine( ) − Explain how to take array input
Some candidates did not write the swapping depending on the data type.
statements properly. − Solve adequate number of programs in
A few candidates missed out writing the computer lab to explain the students
statements to print the sorted array. how to take integer input, decimal input,
character input and string input using
scanner class in an array.
− Lay emphasis on the order in which
swapping statements are written along
with the importance of each statement
and the effect of each statement with
regards to the position of element in an
array.
− Explain to students that without printing
the sorted array, it is possible to know
whether the array is sorted properly or
not.
− Ensure that students write statements to
print the sorted array.

MARKING SCHEME
Question 4
import [Link].*;
class Bubble{
public static void main(String args[]) {
Scanner sc=new Scanner([Link]);
[Link]("enter characters");
char a[ ]=new char[10];
for(int i=0;i<[Link];i++)
{

13
a[i]=[Link]().charAt(0);
}
[Link]("original array");
for(int i=0;i<[Link];i++)
[Link](a[i]);

for(int j=0;j<[Link];j++)
{
for(int i=0 ; i<[Link]-1;i++) or for(int i=0 ; i<[Link]-1-j;i++)
{
if((int)a[i]>(int)a[i+1])
{
char temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}}}
[Link]("sorted array");
for(int i=0;i<[Link];i++)
[Link](a[i]);
} } (Variable description )

Question 5
Define a class to overload the function print as follows:
void print() to print the following format
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
void print(int n) To check whether the number is a lead number.
A lead number is the one whose sum of even
digits are equal to sum of odd digits.
e.g. 3669 odd digits sum = 3 + 9 = 12
even digits sum = 6 + 6 = 12
3669 is a lead number.

14
Comments of Examiners
Most of the candidates did not use the Suggestions for teachers
method overloading concept in the
− Explain the concept of method
program. Many candidates did not use the
overloading by solving suitable
same method name as given in the question.
Some candidates did not use the nested programs.
loop concept to print the given pattern. A − Ensure that the students understand the
few candidates were unable to extract the importance and use of method
digits properly. overloading in a program.
− Emphasize on giving the same method
name as given in the question and also
giving the same method name in the
program.
− Solve number of programs in the
computer lab to explain to the students
how to print the given pattern using
nested loop.
− Explain that only writing printing
statements without using nested loop is
not acceptable.
− Solve number of programs in the
computer lab to explain to the students
how to extract each digit of the number
using while loop with proper syntax.
− Ensure that students know how to write
proper condition, use remainder
operator to extract a digit and use
division operator to reduce the number.

MARKING SCHEME
Question 5
class overload
{
public static void print( )
{
for(int i=1;i<=5;i++)
{
for(int j=1;j<=4;j++)
{
[Link](i);
}
[Link]();

15
} }

public static void print(int n)


{
int s1=0; int s2=0;
while(n>0)
{
int rem=n%10;
if(rem%2==0)
s1+=rem;
else
s2+=rem;
n/=10;
}
if(s1==s2)
[Link]("Lead number");
else
[Link]("not Lead number");
}
public static void main(String args[])
{
print( );
print(3669);
}
} (Variable description )

Question 6
Define a class to accept a String and print the number of digits, alphabets and special [15]
characters in the string.
Example: S = “KAPILDEV@83”
Output: Number of digits – 2
Number of Alphabets – 8
Number of Special characters – 1

16
Comments of Examiners
The common errors made by many Suggestions for teachers
candidates were:
− Solve number of programs in the
- Not having extracted characters in the
computer lab to explain to students the
program.
- Not having used the concept of use, syntax and importance of each string
Character class methods properly method.
- Not having used if condition properly − Solve number of programs in the
to check the range of characters and computer lab to explain the students how
digits to use each character class method in a
- Having used the alternate logic and string program.
made errors such as: − Explain the method of checking for range
• Printing inside the loop of digits and characters in a string
For example: if(ch>=48 && program.
ch<=57) − Ensure that the students understand that
d=d+1;
printing must be done outside the loop,
• [Link](“Number of
digits=”+d); otherwise the printing will be done as
many times the loop will execute.

MARKING SCHEME
Question 6
import [Link].*;
class check_string{
public static void main(String args[]) {
Scanner sc=new Scanner([Link]);
[Link]("enter string");
String s=[Link]();
int c=0,d=0,sp=0;
for(int i=0;i<[Link]();i++)
{ char ch=[Link](i);
if([Link](ch))
c++;
else if([Link](ch))
d++;
else if(!([Link](ch)))
sp++;
}
[Link]("number of digits "+d);
[Link]("number of Alphabets "+c);

17
[Link]("number of special characters "+sp);
}}
(Variable description )
Alternate logic:
1)if(ch>='0' && ch<='9')
c++;
else if((ch>= 'A' && ch<='Z') || (ch>='a' && ch<='z') )
d++;
else
sp++;
2) char ch=[Link](i);
if(ch>=48 && ch<=57)
c++;
else if((ch>= 65 && ch<=90) || (ch>=97 && ch<=122) )
d++;
else
sp++;

Question 7
Define a class to accept values into an array of double data type of size 20. Accept a [15]
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”.

18
Comments of Examiners
The common errors made by most candidates Suggestions for teachers
were:
− Emphasize the importance of checking
- Used int data type instead of double data
the data type given in the question and
type
- Took size as 10 instead of 20. declaring the array accordingly.
- Not taking an input of the number to be − Tell the students the importance of
searched. reading the question properly and
- Not using the break keyword when the declaring the array with the size as
flag variable is used in the loop. given in the question.
- Ignoring the output message “not found” − Solve programs in the computer lab to
explain to the students the importance
Some candidates made an error in the use of of taking input of the number to be
[Link](0). A few candidates did Binary searched in an array.
search instead of Linear search. − Explain to the students that without
input of number, searching is not
possible in an array.
− Importance of indicator in linear search
must be explained.
− Distinction between linear search and
binary search must be explained.
− Train students with the correct
algorithm of linear search method
− Teach the concept of [Link](0).

MARKING SCHEME
Question 7
import [Link].*;
class Linear{
public static void main(String args[]) {
Scanner sc=new Scanner([Link]);
[Link]("enter numbers");
double a[ ]=new double[20];
for(int i=0;i<[Link];i++)
{
a[i]=[Link]();
}
[Link]("enter search element");
double search=[Link]();
for(int i=0;i<[Link];i++)
{
if(a[i]==search)
{

19
[Link]("element found"+(i + 1)); OR (i)
[Link](0);
}
}
[Link]("not found");
}}
(Variable description )

Consider Alternate logic :


boolean flag =false;----->1
for(int i=0;i<[Link];i++) //
{
if(a[i]==search)//
{
flag =true;
[Link]("element found"+(i + 1)); //
break;
}
}
if(flag== false)
[Link]("not found"); //

Question 8
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

20
Comments of Examiners
Majority of the candidates lost marks in the Suggestions for teachers
identification of 2-digit number. Many − Teach the concept of checking the 2-digit
candidates were able to do the single digit number.
number checking properly but assumed that − Explain the logical operator concept.
the remaining numbers were 2-digit − Ensure that the students understand the
number. Some candidates made an error in
difference between the value display
the use of logical operator. Instead of &&
inside the loop and outside the loop.
operator candidates used || operator. A few
candidates displayed the value inside the
loop.

MARKING SCHEME
Question 8
import [Link].*;
class Que8
{
public static void main (String args[ ])
{
Scanner sc=new Scanner([Link]);
int a[ ]= new int[10]; [ Array size -10]
int s1=0; int s2=0;int i;
[Link]("enter elements");
for(i=0;i<[Link];i++)
a[i]=[Link]();
for(i=0;i<[Link];i++)
{
if(a[i]>0&&a[i]<=9)
s1+=a[i];
else if(a[i]>=10&&a[i]<=99)
s2+=a[i];
}
[Link]("sum of single digit nos"+s1);
[Link]("sum of double digit no"+s2);
}}

(Variable description )

Alternate logic to be accepted

21
GENERAL COMMENTS

Topics (a) Topics/Concepts found difficult:


found • Prefix postfix and shorthand operators.
difficult/ • Character class methods.
confusing by
• Declaration of array and input data in array through keyboard, especially character
candidates type.
• Method overloading concept.
• Use of counter variables.
• ASCII codes of characters.
• Evaluating the expression.
• Object creation and calling member methods.
• Multiple Mathematical functions.
• Nested loop.
(b) Topics/Concepts between which candidates were confused:
• The method compareTo().
• Logical operator and relational operator.
• How to declare the instance variable.
• How to invoke the methods using objects.
• The first index of the array and first index of the string.
• Array length and string length.
• How to check a particular character is a digit.
• Unboxing.
• Implicit and explicit casting.
• Wrapper class methods.

22
• Read questions carefully as lot of specifications are clearly provided in the
question.
Suggestions
• Keep in mind the case sensitivity feature of Java.
for
candidates • Understand the program-based questions in a such a way that i) input ii) process
and output.
• Choose data types carefully using common sense approach.
• Be cautious about the difference between print() and println(), specially for
output questions.
• Method prototype and correctly invoking a method to be practiced.
• Learn the ASCII codes of alphabets, digits, etc.
• Solve assignments on your own and submit the same to the teachers for their
correction.
• Solve number of programs in the computer lab in the presence of the teacher
and clarify doubts.

23
ICSE 2024
ANALYSIS OF PUPIL
PERFORMANCE
COMPUTER APPLICATIONS

Research Development and Consultancy Division


Council for the Indian School Certificate Examinations
New Delhi
November 2024
____________________________________________________________________________________________

© Copyright, Council for the Indian School Certificate Examinations


All rights reserved. The copyright to this publication and any part thereof solely vests in the Council for the Indian
School Certificate Examinations. This publication and no part thereof may be reproduced, transmitted, distributed or
stored in any manner whatsoever, without the prior written approval of the Council for the Indian School Certificate
Examinations.
Council for the Indian School Certificate Examinations (CISCE)

MISSION STATEMENT

The Council for the Indian School Certificate


Examinations is committed to serving the nation's
children, through high quality educational
endeavours, empowering them to contribute towards
a humane, just and pluralistic society, promoting
introspective living, by creating exciting learning
opportunities, with a commitment to excellence.

ETHOS OF CISCE

Trust and fair play.


Minimum monitoring.
Allowing schools to evolve their own niche.
Catering to the needs of the children.
Giving freedom to experiment with new ideas
and practices.
Diversity and plurality - the basic strength for
evolution of ideas.
Schools to motivate pupils towards the
cultivation of:
Excellence - The Indian and Global
experience.
Values - Spiritual and cultural - to be the bedrock
of the educational experience.
Schools to have an 'Indian Ethos', strong roots in
the national psyche and be sensitive to national
aspirations.
FOREWORD
The National Education Policy 2020 emphasises building 21st-century skills and competencies
through systemic reforms in pedagogy and assessments. It is an endeavour of Council for Indian
School Certificate Examinations (CISCE) to ensure that assessments are utilised as tools for
promoting learning and development in students rather than a mere end to the instruction year.

With the objective to provide feedback on the common errors made by the students in the board
examinations of both ISC and ICSE and to provide information on the question-wise performance of
students, CISCE releases the Analysis of Pupils’ Performance document every year. It is one of the
unique and best practice of the CISCE board, which supports the candidates in their preparation for
the upcoming board examinations.
We would like to extend our appreciation to the Research Development and Consultancy Division
(RDCD) of the CISCE for their efforts in creating this detailed document for the benefit of our
students. We also express our gratitude to the examiners who have provided meticulous feedback on
the candidates’ performance during the examinations and also suggested pedagogical interventions
for the teachers to mitigate the common errors made by the candidates.
We are sanguine that students, teachers, and parents would make the best use of this document by
going through the various sections in detail and implementing the learnings from the same for
successful performance in the upcoming examinations.

November 2024 Dr. Joseph Emmanuel


Chief Executive & Secretary
CISCE

i
PREFACE
As you are aware, the Analysis of Pupil Performance document has been developed by the Council
for Indian School Certificate Examinations (CISCE) with the objective to provide feedback to
teachers on the performance of students in the ICSE and ISC examinations. These subject-wise
documents highlight the misconceptions that students might have related to certain topics that are
reflected as common errors made by them while answering questions in the examinations. The
document also contains certain suggestive teaching strategies to reduce the occurrence of similar
errors in forthcoming examinations by students. The criteria used for marking each question has also
been provided in brief so that the teachers and students can comprehend the scope of the question
and the correct approach to answer it. Topics in the question paper that were found to be difficult or
unclear by the majority of the candidates have also been highlighted so that teachers can lay more
stress on bringing clarity to them, along with recommendations for candidates to attempt the
examination of a particular subject keeping in mind subject-specific nitty-gritty and techniques of
answering.
The Analysis of Pupil Performance document for ICSE for the Examination Year 2024 covers the
following 16 subjects - English Language, Literature in English, Hindi, History and Civics,
Geography, Mathematics, Physics, Chemistry, Biology, Commercial Studies, Economics, Computer
Applications, Economic Applications, Commercial Applications, Environmental Science and Home
Science.
The 20 subjects covered in the ISC Analysis of Pupil Performance document for the Year 2024 are -
Accounts, English Language, Literature in English, Hindi, Economics, Commerce, Business Studies,
Mathematics, Physics, Chemistry, Biology, Elective English, History, Political Science, Geography,
Psychology, Sociology, Computer Science, Environmental Science and Home Science
I extend my appreciation and gratitude to all the ICSE and ISC examiners who have shared their
valuable comments on each question. I also acknowledge the efforts of the RDCD team of Dr. Manika
Sharma, Ms. Parul Kohli, Ms. Lyimee Saikia and Ms. Mansi Guleria, for their focused hard work
and diligence towards the preparation of this document.
We are hopeful that this document will be helpful to teachers to bring in timely interventions for the
topics required, in order to support the students in their preparation and readiness towards the
upcoming ICSE and ISC examinations. We also hope the students learn from the detailed notes on
the common errors made while answering, so as to be well-prepared with the correct answering
strategies for the upcoming ICSE and ISC examinations.

November 2024 Dr. Bhawna Taragi


Deputy Head
RDCD, CISCE

ii
COMPUTER APPLICATIONS
SECTION A – 40 MARKS
(Attempt all questions from this Section.)

Question 1 [20]

Choose the correct answers to the questions from the given options.
(Do not copy the questions, write the correct answers only.)

(i)

Consider the above picture and choose the correct statement from the following:
(a) Polygon is the object and the pictures are classes
(b) Both polygon and the pictures are classes
(c) Polygon is the class and the pictures are objects
(d) Both polygon and the pictures are objects

(ii) int x = 98; char ch = (char)x; what is the value in ch?


(a) b
(b) A
(c) B
(d) 97

(iii) The output of the statement "CONCENTRATION".indexOf('T') is:


(a) 9
(b) 7
(c) 6
(d) (-1)

(iv) The access specifier that gives least accessibility is:


(a) package
(b) public
(c) protected
(d) private

(v) The output of the statement "talent".compareTo("genius") is:


(a) 11

1
2024 ICSE - Computer Applications

(b) –11
(c) 0
(d) 13

(vi) Which of the following is an escape sequence character in Java?


(a) /n
(b) \t
(c) /t
(d) //n

(vii) if (a>b&&b>c) then largest number is:


(a) b
(b) c
(c) a
(d) wrong expression

(viii) What is the output of [Link](5.4)+[Link](4.5)?


(a) 10.0
(b) 11.0
(c) 12.0
(d) 9.0

(ix) What is the method to check whether a character is a letter or digit?


(a) isDigit(char)
(b) isLetterOrDigit()
(c) isLetterOrDigit(char)
(d) isLETTERorDIGIT(char)

(x) The extension of a Java source code file is:


(a) exe
(b) obj
(c) jvm
(d) java

(xi) The number of bytes occupied by a character array of four rows and three
columns are:
(a) 12
(b) 24
(c) 96
(d) 48

2
2024 ICSE - Computer Applications

(xii) Which of the following data type cannot be used with switch case construct?
(a) int
(b) char
(c) String
(d) double

(xiii) Which of the following are entry controlled loops?


1. for
2. while
3. do..while
4. switch
(a) only 1
(b) 1 and 2
(c) 1 and 3
(d) 3 and 4

(xiv) Method which reverses a given number is:


(a) Impure method
(b) Pure method
(c) Constructor
(d) Destructor

(xv) If the name of the class is “Yellow”, what can be the possible name for its
constructors?
(a) yellow
(b) YELLOW
(c) Yell
(d) Yellow

(xvi) Invoking a method by passing the objects of a class is termed as:


(a) Call by reference
(b) Call by value
(c) Call by method
(d) Call by constructor

(xvii) The correct statement to create an object named mango of class fruit:
(a) Fruit Mango= new fruit();
(b) fruit mango = new fruit();
(c) Mango fruit=new Mango();
(d) fruit mango= new mango();

3
2024 ICSE - Computer Applications

(xviii) Assertion (A): Static method can access static and instance variables.
Reason (R): Static variable can be accessed only by static method.
(a) Assertion and Reason both are correct.
(b) Assertion is true and Reason is false.
(c) Assertion is false and Reason is true.
(d) Assertion and Reason both are false.

(xix) What is the output of the Java code given below?


String color [ ] = {"Blue", "Red", "Violet"};
[Link](color[2].length());
(a) 6
(b) 5
(c) 3
(d) 2

(xx) Which of the following mathematical methods returns only an integer?


(a) [Link](n)
(b) [Link](n)
(c) [Link](n)
(d) [Link](n)

4
2024 ICSE - Computer Applications

Comments of Examiners
(i) Many candidates were not clear about the
concept of class and object and they found the Suggestions for teachers
picture-based question confusing. − Explain the levels of class and objects and
(ii) Many candidates lacked conceptual clarity on explain that T is the structure that depicts
typecasting and were confused by ASCII the overall differentiation of class and
codes. Some of them were unsure about the object.
correct answer, as the options were given in − Provide more practice of picture-based
the form of alphabets. question in class along with giving real
(iii) A few candidates got confused with the index life examples to explain object.
numbers as they considered the beginning − Explain the Range of ASCII codes.
from 1 instead of 0 and hence incorrectly − Teach the concept of typecasting need
with appropriate examples.
derived the answer as (b) instead of the correct
− Ensure thorough practice on the
option (c). conversion between char and int through
(iv) Few candidates wrote public instead of private numerous workout examples.
as probably they were using only public − Provide sufficient practice of Multiple-
throughout the programming and may not be choice questions.
introduced to the other access specifiers. − Instruct students to write only one option
(v) Few candidates wrote the wrong options while answering multiple-choice
indicating lack of knowledge of compareTo() questions.
working. Few other candidates got confused − Instruct students to write the index
with the sign and wrote all the ASCII codes number just above the characters of the
and to calculate the value. given String starting from zero to avoid
(vi) Most of the candidates gave correct answers. any confusion.
However, few candidates got confused with (/) − Ensure thorough practice of students on
and (\). String methods involving character
extraction and indexing.
(vii) Many candidates have considered the whole
− Explain all access specifiers practically
question as a java statement and accordingly
and with examples highlight the
gave incorrect answers. limitations of each access specifier.
(viii) Most of the candidates who attempted this − Train students to calculate the difference
question answered it correctly. between the characters without writing
(ix) A number of candidates answered this the ASCII code and by providing ample
question correctly. number of examples.
(x) Majority of the candidates answered this − Teach the operators in java by clearly
question correctly. explaining the division operator (/)
(xi) Some candidates answered this question (slash).
correctly. A few candidates wrote 48 bytes − Emphasize on the importance of [\] [back
which was incorrect. slash) while teaching the escape
(xii) This question was well attempted by most of sequences along with providing many
the candidates. examples.
(xiii) Majority of the candidates answered this − Explain simple statement and compound
statement with examples.
question correctly.
− Give thorough practice of Math method
(xiv) Most of the candidates who attempted this outputs with the help of short, simple
question answered it correctly. exercises in class as a quiz or as a game.
(xv) Many candidates were confused with the case − Teach the upgraded Java IDE and adhere
of the answer. Few students gave the answer to the latest development of the language.
as ‘yellow’ where the letter ‘Y’ was not − Give thorough practice of Math method
identifiable as uppercase or lowercase outputs with the help of short, simple
(xvi) Most of the candidates answered this question exercises in class as a quiz or as a game.
correctly. − Teach the upgraded Java IDE and adhere
to the latest development of the language.

5
2024 ICSE - Computer Applications

(xvii) Majority of the candidates answered this


question correctly. However, a few
candidates were confused with the name of Suggestions for teachers
the class, object and case sensitivity. − Explain the concept of entry control and
(xviii) Some candidates were unclear with the exit control with appropriate examples
static and accessibility concept. and pictorial representation of the loop
(xix) Most of the candidates answered correctly structures which will be helpful for the
except a few who opted 3 as the answer students to understand the concept better
which was incorrect. also, make use of flowcharts.
(xx) Majority of the candidates were able to − Clarify that in entry control loops the
decision box comes first and then the
answer this question correctly.
statements, and, in an exit, control loop
the decision box comes after the
statements.
− Teach the concept of types of functions
with an emphasis on Call by reference
and Call by value with primitive and non-
primitive data types.
− Ensure practice of questions giving
importance to case sensitivity.
− Explain the features of constructors and
emphasize on the class naming
conventions.
− Demonstrate the working of a constructor
with examples and clarify the concept of
Call by Value and pass by reference
clearly to the students.
− Adhere to the scope of the syllabus and
teach accordingly.
− Explain pass by reference by giving
appropriate examples.
− Clearly explain the statement to create an
object of a class with proper syntax.
− Facilitate revision of Java statements to
create the objects of different classes by
conducting quiz in the class.
− Ensure adequate practice of Assertion
and Reason questions for all the concepts.
− Explain static and non-static methods
with appropriate examples for better
conceptual clarity.
− Explain the concept of the source file
name and its extension.
− Clarify the number of bytes occupied by
each primitive data type and provide
adequate practice of the same.
− Ensure that students can calculate the
number of elements of a double
dimensional array.

6
2024 ICSE - Computer Applications

MARKING SCHEME
Question 1
(i) (c) Polygon is the class and the pictures are objects

(ii) (a) b

(iii) (c) 6

(iv) (d) private

(v) (d) 13

(vi) (b) \t

(vii) (c) a

(viii) (b) 11.0

(ix) (c) isLetterOrDigit(char)

(x) (d) java

(xi) (b) 24

(xii) (d) double

(xiii) (b) 1 and 2

(xiv) (b) Pure method

(xv) (d) Yellow

(xvi) (a) Call by reference

(xvii) (b) fruit mango = new fruit();

(xviii) (c) Assertion is false and reason is true

(xix) (a) 6

(xx) (d) [Link] (n)

7
2024 ICSE - Computer Applications

Question 2
(i) Write Java expression for: [2]
|𝑎𝑎 + 𝑏𝑏|
√𝑎𝑎2 + 𝑏𝑏 2
(ii) Evaluate the expression when x is 4: [2]

x + = x + + * + + x % 2;

(iii) Rewrite the following do while program segment using for: [2]
x = 10; y = 20;
do
{
x++;
y++;
} while (x<=20);
[Link](x * y );

(iv) Give the output of the following program segment. How many times is the [2]
loop executed?
for(x=10; x>20;x++)
[Link](x);
[Link](x*2);

(v) String s1 = "45.50"; String s2 = "54.50"; [2]


double d1=[Link](s1);
double d2=[Link](s2);
int x= (int)(d1+d2);
What is value of x?

(vi) Consider the following two-dimensional array and answer the questions [2]
given below:
int x[ ][ ] = {{4,3,2}, {7,8,2}, {8, 3,10}, {1, 2, 9}};
(a) What is the order of the array?
(b) What is the value of x[0][0]+x[2][2]?
(vii) Differentiate between boxing and unboxing. [2]
(viii) The following code to compare two strings is compiled, the following syntax [2]
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.

8
2024 ICSE - Computer Applications

void calculate()
{
String a = "KING", b = "KINGDOM";
boolean x = [Link](b);
[Link](x);
}
(ix) Consider the given program and answer the questions given below: [2]
class temp
{
int a;
temp()
{
a=10;
}
temp(int z)
{
a=z;
}
void print()
{
[Link](a);
}
void main()
{
temp t = new temp();
temp x = new temp(30);
[Link]();
[Link]();
}
}
(a) What concept of OOPs is depicted in the above program with two
constructors?
(b) What is the output of the method main()?

(x) Primitive data types are built in data types which are a part of the wrapper [2]
classes. These wrapper classes are encapsulated in the [Link] package. Non
primitive datatypes like Scanner class are a part of the utility package for
which an object needs to be created.
(a) To which package the Character and Boolean classes belong?
(b) Write the statement to access the Scanner class in the program.
9
2024 ICSE - Computer Applications

Comments of Examiners
(i) Many candidates either missed the [Link] Suggestions for teachers
( ) in the numerator or ignored the | | symbol. − Clearly explain Java expressions with
They were unable to understand the symbol of math method and give clear instructions
the absolute function as | |. with respect to the parenthesis and
(ii) Some candidates were not clear with the operators.
concept of pre and post increment or − Provide adequate practice with more
decrement expressions while others were expressions.
unclear with the concept of shorthand − Teach the concept of operators in class
operators. along with Pre increment or decrement –
change and use, and Post increment or
(iii)Most of the candidates failed to implement the
decrement – change and use.
conversion of a do while loop to a for loop.
− Provide more practice for evaluation of
Many candidates were not clear with multiple the expression from left to right of the
variables in the do while statement and the expression following the hierarchy of the
empty for loop. operators and not the BEDMAS or
(iv) Most of the candidates understood the false BODMAS rules.
condition at the beginning would result in − Clearly explain the conversion of one
zero iterations. But at the same time for output type of loop to another.
of the loop gave two lines about output failing − Provide practice of variety of for-
to understand the missing braces after the loop dowhile-while conversions in the class.
indicates the very next statement to be the − Ensure that students are clear with the
body of the loop. Some candidates were not concept of initialization, process to be
clear, and they did the output for all the values performed, and condition to be checked
ranging from 10 to 20 and lost marks. when converted to while and do while.
(v) Some candidates rounded off the number and − Explain that the first print statement
should be given in the loop and the
then did the addition also some of them
second should be given outside the loop.
ignored the Type casting leading to a wrong
− Provide adequate practice to ensure that
answer. A few candidates could not convert students are well versed with the concept
the string into double and just concatenated of looping.
the strings. − Provide more practice to make the
(vi) (a)Some candidates failed to understand the students well versed with the looping
concept of order of a two-dimensional statements as they are very important for
array while some others could connect to any programming languages.
their mathematics chapter matrices and − Explain the variations of loops and the
answer correctly. step-by-step execution order of a loop.
(b)Some of the candidates could not access − Teach the Rapper class methods concept
the elements of a 2D array by their index clearly with the syntax of the method and
and hence made mistakes. the return type class to which it belongs
to.
(vii) Many candidates could answer this question
− Clearly explain Type casting to the
well but a few interchanged the answers and
students and instruct how to represent the
lost marks. answer in correct and required format.
(viii) Majority of the candidates gave the correct − Explain the use of parse wrapper class
answer either by changing the data type or by and the type caste operator uses in
changing the method itself. Some candidates programs.
did not study the case study properly and − Guide students that when output is given,
simply copied the question while some others we need to follow the steps given in
made mistakes in the output. sequence.
(ix)(a)Some of the candidates were not clear with − Clarify about the order of the array, by
the concept of oops. drawing the appropriate pictures, by
(b) Most of the candidates skipped the first storing the values in an array as given in
the question.
print method call and only gave the correct
output for the [Link] method.
10
2024 ICSE - Computer Applications

(x) (a)Majority of the candidates correctly gave the


answer as [Link] package. However, few Suggestions for teachers
candidates lost the mark as they have written
the answer as wrapper classes which was − Explain the concept of rows and columns
incorrect. clearly by giving real time examples.
(b)Many candidates were not clear with the − Provide enough practice of accessing the
individual elements of a 2D array with
import statement and its usage.
their RAW and column index and
demonstrate the memory structure of the
2D array.
− Explain the concept of boxing and
unboxing in simple terms with several
examples.
− Guide students how to answer
competency focused questions and
acquaint them with the error messages.
− Train students with the type of errors and
the error message.
− Create and provide practice of situation-
based questions to the students.
− Facilitate revision of programs based on
the constructor overloading with simple
examples.
− Explain the concept of global or instance
variables with multiple constructors and
object creation.
− Teach all the concepts of Java along with
the keywords so that students can
correctly interpret the questions.
− Explain the constructor used in object
creation along with the non-static method
call after the object creation.
− Guide students that if it is an output-based
question one needs to be clear about the
concept of constructor overloading.
− Explain the concept of method calling
with multiple objects.
− Explain [Link] and Java. util with the
included classes from their respective
packages.

11
2024 ICSE - Computer Applications

MARKING SCHEME
Question 2
(i) [Link](a+b) / [Link](a*a+b*b)

(ii) x=4

(iii) for(x=10,y=20;x<=20;x++,y++);
[Link](x*y);

(iv) Output – 20
Loop is not executed even once or Zero times

(v) 100

(vi) (a) Order of the array – 4 x 3


(b) 4 + 10 = 14

(vii) Conversion of primitive type into an object of its class is called as boxing.
Conversion of an object of the wrapper class to a variable of the corresponding data type
is called as unboxing.

(viii) int x = [Link](b);


–3, +3, +68, -68
boolean x = a. equals(b);
boolean x = a. equalsIgnoreCase(b);
boolean x = a==b;
Output – false

(ix) (a) Polymorphism


Overloading
Overloading constructors
Constructor overloading
Multiple constructors
(b) 10, 30

(x) (a) [Link]


(b) import [Link].*;
Scanner ob = new Scanner([Link]) ;

12
2024 ICSE - Computer Applications

SECTION B – (60 MARKS)


(Attempt any four questions from this Section.)

Question 3 [15]
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

13
2024 ICSE - Computer Applications

Comments of Examiners
Some common errors made by most of the Suggestions for teachers
candidates were:
− Teach this program to the students
• Did not write the same class name or perfectly as it is scoring and train them
variable names as mentioned in the well.
question. − Explain the declaration of variables,
accepting the variables using Scanner
• Did not use the compound statements class ONLY.
correctly. − Insist on writing the same names of the
• Not able to accept input for String and char methods and variables as given in the
data types with Scanner Class. question.
• Not having written the same member − Teach the concept of slab calculation.
method names as mentioned in the question. − Lay stress on writing the same class
• Not having written the syntax of relational name as given in the question.
operators properly. − Explain to students to declare member
variables with the appropriate data type
• Not using the correct slab calculations.
and as far as possible to stick to the
• Not able to check character condition. variable names given in the question.
• Missing double quotation marks in string − Highlight the importance of writing the
message. same method names as given in the
• Failed to print the member variable in the question.
print() method. − Demonstrate the scanner class input for
• Not having created an object of the class and each of the data types especially char and
not calling member methods. the String class.
A few candidates used the member variables of − Provide sufficient practice by solving
their choice and did not provide a variable programs in the class to show how slab-
based calculations are used in the
description table to support their answers.
program.
− Explain the occurrence of syntax errors/
compilation errors in case of writing the
wrong syntax for the operators.
− Facilitate practical classes in computer
lab to solve programs and explain how an
object is created and how to call the
member methods using the object name.
− Lay emphasis on the concept that double
quotation is a must for messages.
− Guide students to always write VDT or
use the mnemonics as given in the
question.

14
2024 ICSE - Computer Applications

MARKING SCHEME
Question 3
import [Link].*;
class courier
{ String name, address;
double bill,weight;
char type;
Scanner ob=new Scanner([Link]);
void accept()
{ [Link]("enter name");
name = [Link]();
[Link]("Enter address");
address=[Link]();
[Link]("Enter weight");
weight=[Link]();
[Link]("Enter type");
type = [Link]().charAt(0);
}
void calculate()
{ if(weight<=5)
bill=weight*800;
else
if(weight>5&& weight<=10)
bill=5*800+(weight-5)*700;
else
bill=5*800+5*700+(weight-10)*500;
if(type=='I')
bill=bill+1500;
}
void print()
{ [Link](name+"\t"+address+"\t"+type+"\t"+weight+"\t"+bill);
}
void main()
{ courier c = new courier();
[Link]();
[Link]();
[Link]();
}
}

15
2024 ICSE - Computer Applications

Question 4 [15]

Define a class to overload the method perform as follows:


double perform (double r, double h) to calculate and return the value of
Curved surface area of cone
𝐶𝐶𝐶𝐶𝐶𝐶 = 𝜋𝜋𝜋𝜋𝜋𝜋 𝑙𝑙 = √𝑟𝑟 2 + ℎ2
void perform (int r, int c) Use NESTED FOR LOOP to generate the
following format
r = 4, c = 5 output – 12345
12345
12345
12345
void perform (int m, int n, char ch) to print the quotient of the division of m and
n if ch is Q else print the remainder of the
division of m and n if ch is R

Comments of Examiners
Some of the common errors made by the Suggestions for teachers
candidates were:
− Clearly explain the overloading concept
• Most of the candidates did not use the by giving the necessary instructions.
method overloading concept in the − While explaining emphasise that the same
program. name to the methods follow the signature
• Many candidates did not use the same of the method given in the question.
method name as given in the question. − Provide sufficient practice of programs
• Many candidates did not convert the for the concept of overloading.
mathematical expression to Java − Explain that for Methods following
statements correctly. overloading and methods written as per
• Few candidates accepted the values in the the given instructions or signature given
method instead of using the arguments. in the question, students need NOT create
an object to invoke the methods.
• Calculation of CSA in the first method
was jumbled, instead of using a return
statement candidates have used print.
• In nested loop method some candidates got confused about what to print
• Afew candidates forgot to write the println statement after the inner loop.
• In the third method some candidates calculated m/ N and m%n, but did not print the same.

16
2024 ICSE - Computer Applications

MARKING SCHEME
Question 4
class overload
{
double perform (double r, double h)
{
double l, csa;
l = [Link](r*r+h*h) ;
csa = 22.0/7*r*l;
return csa;
}
void perform(int r, int c)
{
int x,y;
for(x=1;x<=r;x++)
{
for(y=1;y<=c;y++)
{
[Link](y);
[Link]();
}
}
void perform(int m, int n, char ch)
{
if(ch=='Q'||ch=='q')
[Link](m/n);
else
if(ch=='R' || ch=='r')
[Link](m%n)
}
}

17
2024 ICSE - Computer Applications

Question 5 [15]

Define a class to accept a number from user and check if it is an EvenPal number or not.
(The number is said to be EvenPal number when number is palindrome number (a number
is palindrome if it is equal to its reverse) and sum of its digits is an even number.)
Example: 121 – is a palindrome number
Sum of the digits – 1+2+1 = 4 which is an even number

Comments of Examiners
A few candidates answered this question Suggestions for teachers
correctly. Some common errors observed were:
• Many candidates failed to declare and − Clarify the concept of extracting and
initialize the variables. manipulating the digit.
− Provide practice through step wise
• Many candidates failed to save the duplicate
execution and a dry Run for the
copy of the input number. programs to give a clear picture to the
• Some students wrote to while loop constructs students.
to evaluate the reverse and sum of the digits. − Stress on the importance of storing the
• Few candidates wrote a complicated logic of original value in a temporary variable.
accepting the number in the form of a string − Emphasize on the fact that students need
extract convert. to process both true and false part of a
• Some candidates worked on the sample input condition and generate the appropriate
given and did not accept a number. message accordingly.
• Some candidates missed the message not a
evenpal number.

MARKING SCHEME
Question 5
import [Link].*;
class EvenPal
{
void EvenPal( )
{
Scanner sc= new Scanner ( [Link]);
[Link](“enter number”);
int n=[Link]();
int rev=0; int s=0; int num=n;
while(n>0)
{
int rem=n%10;
rev=rev*10+rem;
s+=rem;
n/=10;
}
if(num==rev &&s%2==0)
[Link](“EvenPal number”);
18
2024 ICSE - Computer Applications

else
[Link] (“not EvenPal number”);
}
}

Question 6 [15]

Define a class to accept values into an integer array of order 4 x 4 and check whether it is a
DIAGONAL array or not. An array is DIAGONAL if the sum of the left diagonal elements
equals the sum of the right diagonal elements. Print the appropriate message.

Example:

3 4 2 5 Sum of the left diagonal elements =

2 5 2 3 3 + 5 + 2 + 1 = 11

5 3 2 7 Sum of the right diagonal elements =

1 3 7 1 5 + 2 + 3 + 1 = 11

Comments of Examiners
Suggestions for teachers
Some candidates used a loop to calculate the left
and right diagonal totals. Few candidates did not − Emphasize on reading the question
carefully and to answer accordingly.
read the question attentively and missed checking
− Explain the declaration of a 2D array and
the equality of the left and right diagonal totals.
accepting the values into the array using
scanner class or a method argument or a
constructor.
− Highlight the need to handle both the true
and false conditions and print appropriate
messages as specified in the question.

19
2024 ICSE - Computer Applications

MARKING SCHEME
Question 6
class special
{
int x[][]=new int[4][4];
special(int z[][])
{
x=z;
}
void special()
{
int r,c,ld=0,rd=0;
for(r=0;r<4;r++)
{
for(c=0;c<4;c++)
{
if(r==c)
ld+=x[r][c];
if(r+c==3)
rd+=x[r][c];
}
}
if(ld==rd)
[Link]("Diagonal Array");
else
[Link]("Not a diagonal array");
}
}

Question 7
[15]
Define a class pin code and store the given pin codes in a single dimensional array. Sort
these pin codes in ascending order using the Selection Sort technique only. Display the
sorted array.
110061, 110001, 110029, 110023, 110055, 110006, 110019, 110033

20
2024 ICSE - Computer Applications

Comments of Examiners
Many candidates did insertion sort instead of Suggestions for teachers
selection sort and some of the other common − Emphasize on the sorting methods bubble
errors observed were: and selection by giving several examples.
• Wrong data type for array. − Illustrate the technique of bubble sort and
• Array was not initialized. selection sort with appropriate steps on
• Array size was not correctly calculated, nor the board for different data types.
length statement was used. − Provide practice to students to do the
• Insertion or bubble sort logic implemented illustration for the given array for sorting
instead of selection sort. the array in ascending or descending
order using the Bubble sort or the
• The criteria check was not made between
Selection Sort techniques.
the two correct elements. − Clearly explain the selection sort process
• The logical operator for ascending order by giving a stepwise representation along
was inverted. with a dry run with different examples to
• Swap was not correctly implemented. make the concept clear.
• The sorted array was not displayed.
• No loop was used to display the elements of
the sorted array.

MARKING SCHEME
Question 7
class pincodes
{
public static void main(String args[])
{
int [] arr= {110061, 110001, 110029, 110023, 110055,110006,110019,110033};

int n = [Link];
for (int i = 0; i < n-1; i++)
{
int min_idx = i;
for (int j = i+1; j < n; j++)
{if (arr[j] < arr[min_idx])
min_idx = j;}
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
for (int i=0; i<n; ++i)
[Link](arr[i]+" ");
[Link](); }}

21
2024 ICSE - Computer Applications

Question 8 [15]

Define a class to accept the gmail id and check for its validity.
A gmail id is valid only if it has:
 @
 . (dot)
 gmail
 com
Example: icse2024@[Link] is a valid gmail id.

Comments of Examiners
Many candidates attempted to substantiate their Suggestions for teachers
answer with various logic for this program. This − Ensure that students understand that
pattern of question was asked for the first time various string methods should be tried to
and only some candidates could answer correctly. implement the logic of the program.
Marks were allotted to candidates who have − Explain and encourage students to use
checked in the string ends with @ [Link]. index of and substring methods to
process string data to get the solution.
− Facilitate more programs on validation
of Strings in the classroom.
− Familiarize students with all the string
methods.
− Provide adequate practice for string
methods.

MARKING SCHEME
Question 8
class validmail
{
String s;
validmail(String y)
{
s=y;
}
void check()
{
int p,q;
char ch;
p=[Link]('@');
q=[Link]('.');
if(p==-1)
{
[Link]("invalid - no @");

22
2024 ICSE - Computer Applications

[Link](0);
}
if(q==-1)
{
[Link]("invalid - no .");
[Link](0);
}
String a = [Link](p+1,q);
String b= [Link](q+1);
if([Link]("gmail")==false)
{
[Link]("invalid - no gmail");
[Link](0);
}
if([Link]("com")==false)
{
[Link]("invalid - no com");
[Link](0);
}
[Link]("Valid Email id");
}
}

23
2024 ICSE - Computer Applications

GENERAL COMMENTS
Topics found difficult by candidates

• Question 1(ix)(a): Concept of oops


• Question 1(x): Creation of an object
• Question 1(xviii): Assertion and reasoning based questions
• Question 1: Picture based and situation-based questions
• Question 2(i): Java expressions
• Question 2(iv): Conversion of the loops
• Question 2(vi)(a): Order of the array
• Question 2(ix)(a): Constructor overloading

Concepts in which candidates got confused

• CompareTo method
• Selection Sort was confused with bubble sort
• Confusion in mathematics
• Competency and situation based questions

Suggestions for candidates

• To excel in this subject, students need to be passionate about solving problems using
programming as a tool.
• This subject requires more logical and analytical skills than rote learning.
• Practice more programming problems, output questions, and conversions.
• Practice writing the program on paper first and then executing it on the system.
• During the examination, read the instructions for each question thoroughly.
• Utilize the full 15 minutes of reading time.
• Write the variable description table for every program solved in Section B.
• Multiple-choice questions should be answered by selecting the correct option, as given
in the question. Do not write multiple answers.
• Do not waste your time writing the answer when the option is required.
• In method overloading programs, the main function need not be written; follow the
specifications given in the question, if any.
• For input of variables, the use of the Scanner class, method arguments, or a constructor
can be used.
• Write the list of variables or the variable description table for every program.

24
ICSE
ANALYSIS OF PUPIL
PERFORMANCE

October 2025

COMPUTER APPLICATIONS

Research Development and Curriculum Division


Council for the Indian School Certificate Examinations
New Delhi
OCTOBER 2025
____________________________________________________________________________________________

© Copyright, Council for the Indian School Certificate Examinations


All rights reserved. The copyright to this publication and any part thereof solely vests in the Council for the Indian
School Certificate Examinations. This publication and no part thereof may be reproduced, transmitted, distributed or
stored in any manner whatsoever, without the prior written approval of the Council for the Indian School Certificate
Examinations.
Council for the Indian School Certificate Examinations (CISCE)

MISSION STATEMENT

The Council for the Indian School Certificate


Examinations is committed to serving the nation's
children, through high quality educational
endeavours, empowering them to contribute towards
a humane, just and pluralistic society, promoting
introspective living, by creating exciting learning
opportunities, with a commitment to excellence.

ETHOS OF CISCE

Trust and fair play.


Minimum monitoring.
Allowing schools to evolve their own niche.
Catering to the needs of the children.
Giving freedom to experiment with new ideas
and practices.
Diversity and plurality - the basic strength for
evolution of ideas.
Schools to motivate pupils towards the
cultivation of:
Excellence - The Indian and Global
experience.
Values - Spiritual and cultural - to be the bedrock
of the educational experience.
Schools to have an 'Indian Ethos', strong roots in
the national psyche and be sensitive to national
aspirations.
FOREWORD
The Council for the Indian School Certificate Examination has endeavoured to sincerely take forward
the vision of NEP 2020 in enhancing pedagogy and assessments through systemic reforms. In
alignment with this vision, the CISCE also remains committed to ensuring that learning is
meaningful, and that assessment practices are utilised as tools for growth, reflection, and continuous
improvement rather than as an exercise in mere evaluation.

The ISC and ICSE examinations have long served as the cornerstone of the CISCE’s academic
framework, especially in shaping the educational journeys and futures of countless CISCE students.
In this context, the Analysis of Pupils’ Performance documents have played a significant role in
strengthening the CISCE’s assessment culture. These reports have, over the years, supported students
in understanding subject-wise expectations and in preparing effectively for the Board examinations.

Our heartfelt appreciation is extended to the Research Development and Curriculum Division
(RDCD) of the CISCE for their dedicated efforts in preparing this detailed document for the benefit
of students. We also express our gratitude to the examiners for their meticulous evaluation and
insightful feedback on candidates’ performance, as well as for recommending pedagogical strategies
to help teachers address common areas of difficulty.

We are confident that students, teachers, and parents will make the best use of this document by
engaging with its various sections in depth and by implementing the learnings to ensure enhanced
and successful performance in the forthcoming examinations.

October 2025 Dr. Joseph Emmanuel


Chief Executive & Secretary
CISCE
PREFACE
The Analysis of Pupil Performance document is a standing legacy of the Council for Indian School
Certificate Examinations (CISCE) that aims at capturing performance trends of CISCE candidates in
the annually conducted ICSE and ISC examinations. Over the years, these user-friendly and
accessible reports have helped CISCE schools analyse patterns in candidates’ responses to board
examination papers, while also providing valuable pedagogical insights and suggestions for teachers.
Each year, CISCE undertakes this exercise of a detailed analysis of the performance of candidates
for selected subjects at both the ICSE and ISC examinations. Each subject document includes the
questions from the board examination along with the marking scheme for each question, enabling
teachers and students to better understand the scope of the question and the appropriate approach to
answering it. It also presents an infographic presentation of statistical analysis and contextualised
commentaries on candidate performance with detailed insights and remedies on the errors. Towards
the end of the document, a comprehensive summary highlights the topics revealing gaps in conceptual
understanding, areas that candidates found confusing, and tailored suggestions to help students
approach examinations more effectively.
The uniqueness of this document lies in its micro-analysis of items in board examination papers
where suggested pedagogical strategies are tied to each common errors identified from candidates’
answers, a strategy that CISCE believes is rudimentary in driving improvements rather than merely
sharing a broad stroke macro analysis of candidate performance. While these reports are grounded in
real candidate data, they also lend themselves to seamlessly to classroom action.
The Analysis of Pupil Performance document for ICSE for the Examination Year 2025 covers the
following subjects - English Language, Literature in English, Hindi, History and Civics, Geography,
Mathematics, Physics, Chemistry, Biology, Commercial Studies, Economics, Computer
Applications, Economic Applications, Commercial Applications, Environmental Science and Home
Science.
The subjects covered in the ISC Analysis of Pupil Performance document for the Year 2025 are -
Accounts, English Language, Literature in English, Hindi, Economics, Commerce, Business Studies,
Mathematics, Physics, Chemistry, Biology, Elective English, History, Political Science, Geography,
Psychology, Sociology, Computer Science, Environmental Science, Home Science and Legal
Studies.
I extend my heartfelt gratitude to all the ICSE and ISC examiners who have shared their valuable
comments on each question. I also acknowledge the efforts of the RDCD team of Dr. Manika Sharma,
Ms. Parul Kohli, Ms. Lyimee Saikia, Ms. Mansi Guleria, Ms. Gunjan Khurana, Ms. Madhusree
Chatterjee and Ms. Aakriti Agrawal for their commitment to ensuring the compilation of the
comments and data into its current form.
We hope that the document is successful in its intended mission of better assisting our teachers in
identifying areas that require focused intervention and allowing them to better support CISCE
students. At the same time, we also hope that it guides our students in developing a roadmap of
effective study methods for their examinations.

October 2025 Dr. Bhawna Taragi


Deputy Head
RDCD, CISCE
QUANTITATIVE ANALYSIS

Computer Applications

Number of
Candidates Appeared Maximum Marks 100
143269
Highest Marks Lowest Marks

Boys Girls Average Marks

79467 63802 100


83

Overall Performance (Mean Marks)


3
82.5
Performance by Gender

Gender Mean SE t-value


82.4 82.7
Girls 82.7 0.05
Region-wise Performance 4.2*
(Mean Marks) Boys 82.4 0.05
82.2 85.9 *Significant at 0.05 level

Top 5 Perfoming States/UTs


82 82.3 85.8 86.1
(Mean Marks)
Eastern Western
Goa 91.4
81.1 83.8

New Delhi 91.1


81 81.3 83.4 84.2
Northern Southern Chandigarh 90.2
84.5
Assam 87.4

86 82.4 Maharashtra 86.8


Foreign

1
Performance State-wise and Foreign (Mean Marks)
Boys Girls Overall

66.7
ANDAMAN AND NICOBAR ISLANDS 68.3
67.5
78.3
ANDHRA PRADESH 78.1
78.2
87.4
ASSAM 87.4
87.4
82.0
BIHAR 82.3
82.1
76.6
CHHATTISGARH 75.7
76.1
90.1
CHANDIGARH 90.2
90.2
91.2
NEW DELHI 90.9
91.1
90.0
GOA 93.0
91.4
80.9
GUJARAT 82.4
81.5
85.2
HARYANA 85.6
85.4
79.9
HIMACHAL PRADESH 81.6
80.7
79.7
JHARKHAND 79.7
79.7
75.5
JAMMU AND KASHMIR 69.8
72.7
84.1
KARNATAKA 85.0
84.6
85.3
KERALA 86.3
85.8
86.8
MAHARASHTRA 86.8
86.8
86.9
MEGHALAYA 81.5
84.1
77.0
MADHYA PRADESH 76.0
76.6
81.3
NAGALAND
81.3
81.5
ODISHA 82.1
81.8
80.6
PUDUCHERRY 83.2
81.6
79.3
PUNJAB 81.5
80.5
85.1
RAJASTHAN 81.8
83.4
72.5
SIKKIM 73.1
72.8
84.4
TAMIL NADU 85.4
84.9
84.7
TRIPURA 81.8
83.4
81.7
TELANGANA 83.7
82.6
81.2
UTTAR PRADESH 81.4
81.3
82.3
UTTARAKHAND 82.7
82.5
83.8
WEST BENGAL 83.3
83.5
86.0
FOREIGN 82.4
84.5

0 20 40 60 80 100

2
QUALITATIVE ANALYSIS
SECTION A (40 MARKS)
(Attempt all questions from this Section.)
Question 1 [20]
Choose the correct answers to the questions from the given options.
(Do not copy the questions, write only the correct answers.)

(i) Character class methods are found in the package called:


(a) [Link]
(b) [Link]
(c) [Link]
(d) [Link]

(ii) [Link]('Z'+32); will display:


(a) z
(b) Z
(c) 122
(d) 154

(iii) double x [ ]={2.5,4.5,5.5,6.4}; occupies __________ bytes.


(a) 16
(b) 4
(c) 8
(d) 32

(iv) The output of 42/6%2 is:


(a) 1
(b) 10
(c) 2
(d) 0

(v)

Mouse Keyboard Printer

3
2025 ICSE- Computer Applications

Scanner Barcode Scanner Microphone


Consider the Two dimensional array P[2][3], of peripherals (input / output
devices) given above, state the index of the device Barcode Scanner.
(a) P[1][1]
(b) P[0][1]
(c) P[1][2]
(d) P[0][0]

(vi) Which of the following is user defined data type?


1. array 3. class
2. double 4. boolean
(a) only 1
(b) 1 and 3
(c) only 2
(d) only 4

(vii) Select the infinite loop:

(a) for(int i=1;i<=10;i++)

(b) for(int i=2; i!=0 ;i-=3)

(c) for(int i=5 ;i<=5;i++)

(d) for(int i =1;i>=1; i - -)

(viii) The output of [Link](-7, [Link](-5 ,-4)) is:

(a) –5

(b) –4

(c) –7

(d) error

(ix) Which of the following is true for the given object creation statement?
Game cricket = new Game( );

(a) Game is an object of cricket class

4
2025 ICSE- Computer Applications

(b) New keyword creates object Game

(c) Game is a class and cricket is an object

(d) Game and cricket are objects

(x) Post office is an example for __________ access specifier.

(a) public

(b) local

(c) protected

(d) private

(xi) Assertion (A): In switch case break statement avoids fall through.

Reason (R): break statement helps to execute only one case at a time.

(a) Both (A) and (R) are true and (R) is a correct explanation of (A).

(b) Both (A) and (R) are true and (R) is not a correct explanation of (A).

(c) (A) is true and (R) is false.

(d) (A) is false and (R) is true.

(xii) A physical education teacher asks the students to do the side stretch as shown
below,10 times. Which programming construct the teacher uses?
(a) if
(b) switch
(c) for
(d) if else if

(xiii) The index (subscript) of the last element of an array ar[ ] is:
(a) [Link]( )
(b) ar[ ].length
(c) [Link]()-1
(d) [Link]-1

(xiv) Assertion (A): A clock is a real-life example of nested loops.

5
2025 ICSE- Computer Applications

Reason (R): The hour hand moves through 12 positions, while the minute
hand moves through 60 positions within each hour.
(a) Both (A) and (R) are true and (R) is a correct explanation of (A).
(b) Both (A) and (R) are true and (R) is not a correct explanation of (A).
(c) (A) is true and (R) is false.
(d) (A) is false and (R) is true.
(xv) Which of the following pairs of methods will cause a compile-time error due to
incorrect method overloading?
(a) void test(int a, int b) and void test(double a, double b)
(b) void test(int a, double b) and void test(double a, int b)
(c) void test(int a, double b) and void test(int a)
(d) void test(int a) and int test(int a)
(xvi) Which of the following converts “25” to 25.0?

(a) [Link](“25”)

(b) [Link](“25”)

(c) [Link](“25”)

(d) [Link](25)

(xvii) Consider the program segment:


int p=0;
for(p=4 ; p>0 ; p- =2);
[Link](p);
[Link](p);
The above statements will display:

(a) 42

(b) 4200

0
(c)
0

(d) 00

6
2025 ICSE- Computer Applications

(xviii) [Link]("I said,\“It\'s wise to obey elders.\””);

The output of the above statement is:

(a) I said,'It is wise to obey elders.'

(b) I said, “It's wise to obey elders.”

(c) I said,It's wise to elders.

(d) “'It's wise to obey elders.'”

(xix) What is the output of the statement given below?

“ANGER”. compareTo(“ANGEL”)

(a) 3

(b) –6

(c) 6

(d) 0

xx) Consider the following program segment in which the statements are jumbled.
Choose the correct order of statements to calculate and return the factorial of 4.

for (k=1; k<=4; k++) 1


return fa; 2
long fa = 1, k; 3
fa*=k; 4

(a) 1, 2, 3, 4

(b) 3, 1, 4, 2

(c) 3, 1, 2, 4

(d) 1, 3, 2, 4

MARKING SCHEME
(i) (b) [Link]
(ii) (c) 122
(iii) (d) 32
(iv) (a) 1
(v) (a) P[1][1]
(vi) (b) 1 and 3
(vii) (b) for(int i=2; i!=0 ;i-=3)

7
2025 ICSE- Computer Applications

(viii) (a) –5 or (d) error


(ix) (c) Game is a class and cricket is an object
(x) (a) public
(xi) (a) Both (A) and (R) are true and (R) is a correct explanation of (A).
(xii) (c) for
(xiii) (d) [Link]-1
(xiv) (a) Both (A) and (R) are true and (R) is a correct explanation of (A).

(xv) (d) void test(int a) and int test(int a)


(xvi) (c) [Link](“25”)
(xvii) (d) 00
(xviii) (b) I said, “It's wise to obey elders.”
(xix) (c) 6
(xx) (b) 3, 1, 4, 2

8
2025 ICSE- Computer Applications

Comments of Examiners
(i) Most of the candidates chose the correct Suggestions for teachers
option (b) i.e. [Link] package. A few − Teach the concept of packages [Link],
candidates incorrectly chose the option (a). java. util, default package [Link] and
(ii) A few candidates got confused with the the need for an import statement for the
concept of implicit typecasting, thus utility package.
− Provide sufficient practice of multiple-
choosing the incorrect options (a) or (d). choice questions.
(iii) Most of the candidates answered it − Explain the concept of implicit and
correctly. However, a few candidates chose explicit type casting with a variety of
the wrong options. output-based questions with different data
(iv) Majority of the candidates were able to give types for better conceptual clarity.
the correct option. A few candidates opted − Explain the definition of arrays, how to
declare the arrays, the number of elements
for option (d), which was incorrect.
in the array, the size in bytes and bits
(v) Many candidates could answer this question occupied by the array of different
well. primitive datatypes.
(vi) Most candidates chose the correct option − Ensure thorough practice on the
(b). A few candidates opted for option (a) evaluation of a variety of mathematical
and lost marks. expressions involving different
(vii) Few candidates got confused as all the loop combinations of the arithmetic operators.
− Provide more practice for evaluation of
statements looked alike, and thus chose the the expression from left to right of the
wrong options. expression following the hierarchy of the
(viii) Most of the candidates answered this part operators and not the BEDMAS or
correctly. BODMAS rules.
(ix) A few candidates chose the wrong option. − Guide the students that the index begins
(x) Majority of the candidates answered it from 0.
correctly. However, a few of them gave the − Explain explicitly the concept of primitive
datatypes and user-defined data types /
incorrect option (c). non primitive data types.
(xi) Most of the candidates chose the correct − Teach the concept of types of loops by
option. giving examples.
(xii) This question was answered correctly by − Ensure that the students do a dry run to
most of the candidates. check for the type of the loop [ finite or
(xiii) Few candidates got confused between infinite ].
− Provide thorough exercises on Iterative
options (c) and (d).
statements.
(xiv) Majority of the candidates answered this − Give thorough practice of Math method
question correctly. outputs with the help of short, simple
(xv) This question was answered correctly by exercises in class as a quiz or as a game.
many of the candidates. − Clearly explain the concept of creating an
(xvi) Most of the candidates got this question object of the class by providing a simple
right. Some candidates also chose the syntax as -<class name><object name > =
new <class name>();
incorrect options. − Explain the concept of encapsulation and
(xvii) Many candidates did not consider the the visibility rules with the help of
semicolon at the end of the ‘for statement’ examples.
and also ignored the [Link],print() − Ensure adequate practice of Assertion and
followed by [Link](), resulting Reason type questions for all the concepts.
in the incorrect answer. − Highlight the difference between
(xviii) A few candidates got confused with the length(number of elements in an array)
and length() [ method which results in the
punctuation marks given in the question and number of characters in a string].
thus wrote the incorrect answer. − Teach the concept of the wrapper class
methods with appropriate syntax and the
set of arguments.

9
2025 ICSE- Computer Applications

(xix) Most of the candidates answered this


question correctly. Suggestions for teachers
(xx) This question was answered well by most of
the candidates. − Lay emphasis on the effect of a semicolon
at the end of a for loop along with the
importance of println( ) and print( ) by
giving output questions.
− Clearly highlight the effect of print and
println in displaying the results.
− Emphasise on the importance of [\] [back
slash) while teaching the escape sequences
by providing a number of examples.

Question 2
(i) Write the java expression to find the product of square root of P and the square [2]
root of Q using the methods of Math class.

(ii) Write the output of the following String method: [2]


String x= “ talent” ; String y=”matrix” ;
[Link]([Link](3).concat([Link](3))) ;

(iii) Write the Java statement for creating an object named ‘sifra’ of the class [2]
‘Robot’, which takes three double parameters.
(iv) Convert the given loop into exit controlled loop. [2]
int a,b;
for ( a=10 ,b=1; a>=1 ;a-=2)
{
b+=a;
b++;
}
[Link](b);

(v) Consider and give the output of the following program: [2]
class report
{ int a,b;
report()
{ a=10;
b=15;
}
report(int x, int y)
{ a=x;
b=y;
}

10
2025 ICSE- Computer Applications

void print()
{ [Link](a*b);
}
static void main()
{ report r = new report();
[Link]();
report p = new report(4, 5);
[Link]();
}
}
(vi) (a) Name one String method which results in positive integer only. [2]
(b) Name one String method which results in a character.

(vii) John was asked to write a Java code to calculate the surface area of a cone, [2]
the following code was written by him:
Surface area of cone is A=πrl 𝑙𝑙 = √𝑟𝑟 2 + ℎ2
class area
{ double area (double r, double h)
{ double l, a;
a=22.0/7*r*l;
l=[Link](r*r+h*h);
return a;
}
}
Specify the type of the error in the above program, correct and write the
program to be error free.

(viii) Consider the following array and answer the questions given below: [2]
int a[ ] = {12,10,8,4,6,2,3,5,7}

(a) What is the output of [Link](a[0]+a[5]);?

(b) What is the index (subscript) of the largest element of the array a[ ]?

(ix) (a) Write the Java statement to initialise the first 6 odd numbers in a 3 × 2 [2]
array.

(b) What is the result of x[0][1] + x[2][1] of the above array?

(x) Give the output of the following program segment and specify how many
[2]
times the loop is executed.
String s = “JAVA”;

11
2025 ICSE- Computer Applications

for(i=0;i<[Link]();i+=2)
[Link]([Link](i));

MARKING SCHEME
(i) [Link](P) * [Link](Q) / [Link]( P,1.0/2) * Math. Pow( Q,1.0/2) / [Link](P
*Q) / Math. Pow (P *Q ,1.0/2)
(ii) entrix/ lentrix
(iii) Robot sifra = new Robot(double a, double b, double c);
sifra Robot = new sifra();
Robot sifra = new Robot ( a, b, c)
Robot sifra = new Robot ( any three values) [ int/float/char/double
(iv) int a=10 , b=1;
do
{
b+=a;
b++;
a-=2;
}while(a>=1);
[Link](b);
(v) (a) 150
(b) 20
(vi) (a) length ( )
(b) charAt(int)
(vii) Syntax error / Logical / Compile time error
double l, a;
l=[Link](r*r+h*h);
a=22.0/7*r*l;
return a;
(viii) (a) 14
(b) 0 / a[0]
(ix) (a) int x[ ] [ ] = {{1, 3}, {5, 7}, {9, 11}};
(b) 3 + 11 = 14
(x) JAVA
VA
Two times

12
2025 ICSE- Computer Applications

Comments of Examiners
(i) Most of the candidates were able to convert the Suggestions for teachers
statement into a Java expression. However, a
− Clearly explain java expressions with
few candidates missed out the * symbol. math method and give clear instructions
(ii) This question had a missing bracket; thus, with respect to the parenthesis and
marks were allotted if a candidate attempted operators.
this question. Many of the candidates answered − Provide adequate practice by giving more
this question correctly. expressions.
(iii) Most of the candidates gave the correct answer; − Provide practice on output statements
however, a few missed out on the argument involving multiple string methods.
part. − Explain the statement to create an object
(iv) Many candidates could not attempt this full of a class with proper syntax.
question correctly as they were not clear with − Teach the concept of entry-controlled
the concept of exit controlled statement, and loops [for and while] and the exit
also missed the semicolon at the end of the controlled loop [ do while ] by explaining
the syntax and working in detail followed
while statement. Some candidates missed
by conversion of one iterative statement
either the updating statement or the multiple to another.
initialisation, due to which they scored only − Instruct the students to read the question
one mark. carefully.
(v) Some candidates wrote the answer in reverse − Give a variety of loop structures for
order. Very few candidates got this question conversion.
correct. − Ensure that students are clear with the
(vi) (a) Most of the of candidates were not able to concept of initialization, process to be
answer this part of the question correctly. performed, and condition to be checked
Several candidates wrote compareTo, index when converted to while and do while.
of (), lastIndexOf() and lost marks. − Explain the concept of constructor
(b)Most of the candidates wrote the correct overloading by solving suitable programs.
answer as charAt(). A few candidates wrote − Ensure that the students understand the
the ‘Character class methods’ as they did concept of creating multiple objects
not read the question carefully, which invoking multiple constructors following
the concept of overloading.
mentioned ‘String method’.
− Execute such programs and let the
(vii) Most of the candidates wrote the incorrect
students understand which constructor is
answer as ‘logical error’. invoked based on the arguments given
(viii) (a) Most of the candidates wrote it correctly. while creating the objects.
(b) Many candidates could answer this part − Provide a code with the constructors
correctly. However, some of the candidates having same parameter list to the students
wrote the answer as a [0] for which a mark and make them identify the errors in it.
was allotted. − Explain string methods specifying the
(ix) (a) Many candidates wrote in matrix form. name of the method, purpose of the
Some candidates wrote Initialisation of method, syntax, arguments if any to be
Double Dimensional Array incorrectly, given, return type of the method followed
also random even / odd numbers with no by ample number of examples.
curly brackets were given. − Instruct students to answer the questions
(b) Based on the values given in ix(a), the on methods(char/Math/String) in an
appropriate manner.
candidates answered, and accordingly,
− Clarify the flow of statements/calculations
marks were allotted. by giving examples.
(x) Marks were given for this question as the bracket − Explain the concept of initialization of
was missing in the program segment. double dimensional array based on the
specifications [order ] by giving variety of
examples and exercises.

13
2025 ICSE- Computer Applications

SECTION B (60 MARKS)


(Attempt any four questions from this Section.)

Question 3 [15]
Define a class named CloudStorage with the following specifications:
• Member Variables:
- int acno - stores the user's account number.
- int space - stores the amount of storage space in GB purchased by
the user.
- double bill - stores the total price to be paid by the user.
• Member Methods:
- void accept() - prompts the user to input their account number and
storage space using Scanner class methods only.
- void calculate() - calculates the bill total price based on the storage space
purchased using the pricing table provided:
Storage range Price per GB (Rs)
First 15 GB 15
Next 15 GB 13
Above 30 GB 11
- void display() - displays the account number, storage space and bill to
be paid.

Write a main method to create an object of the class and invoke the methods of the class
with respect to the object.

14
2025 ICSE- Computer Applications

MARKING SCHEME
import [Link].*;
class CloudStorage
{
int acno,space;double bill;
Scanner ob = new Scanner ([Link]);
void accept()
{
[Link]("Enter Account number");
acno=[Link]();
[Link]("Enter Storage Space");
space=[Link]();
}
void calculate()
{
if(space<=15)
bill=space*15;
else
if(space>15&&space<=30)
bill=15*15+(space-15)*13;
else
bill=15*15+15*13+(space-30)*11;
}
void display()
{
[Link]("Account Number="+acno);
[Link]("Storage Space="+space);
[Link]("Bill to be paid="+bill);
}
void main()
{
CloudStorage c = new CloudStorage();
[Link]();
[Link]();
[Link]();
}
}

15
2025 ICSE- Computer Applications

Comments of Examiners
Some common errors made by the candidates were: Suggestions for teachers
• Majority of the candidates did not use the − Instruct the students to follow the
slab/tier method to calculate the bill. variables names, method names as given
• Many of them were unaware of creating an in the question.
object and call the methods too. − Encourage students to follow step wise
• Some of the candidates accepted the value of representation of the program as per the
the bill. specifications given.
• Some candidates used the incorrect class − Provide sufficient practice of these
questions specifying how to represent
name, member variables.
systematically declare variables, create an
• Some of the candidates declared the member object of the scanner class, and accept the
variables inside the accept( ) method. required values using scanner class
• Incorrect declaration of scanner class object methods in the accept ( ) method.
and the methods to accept the respective − Elaborate on how to calculate the required
values. value as per the specifications in the
• Calculations were not as per the appropriate method, display the contents,
specifications given. create the object in the main method, and
• Some candidates initialized the data member invoke the methods with respect to the
object created.
as bill and stored the bill amount in another
new variable, which was not a data member.
• display( ) – only the bill was printed.
• A few candidates did not declare the member variable bill.

Question 4 [15]

Define a class to accept values into a 4 x 4 integer array. Calculate and print the NORM
of the array.
NORM is the square root of sum of squares of all elements.
1 2 1 3
5 2 1 6
3 6 1 2
3 4 6 3
Sum of squares of elements = 1+4+1+9+25+4+1+36+9+36+1+4+9+16+36+9 = 201
NORM= Square root of 201 = 14.177446878757825

16
2025 ICSE- Computer Applications

MARKING SCHEME
import [Link].*;
class norm
{
int x[][]=new int[4][4];
Scanner ob = new Scanner ([Link]);
void calculate()
{
int r,c,sum=0;
//accept the values in the array
for(r=0;r<4;r++)
{
for(c=0;c<4;c++)
{
[Link]("Enter value");
x[r][c]=[Link]();
sum+=x[r][c]*x[r][c];
}
}
[Link]("Norm="+[Link](sum));
}
}

Comments of Examiners
Some common mistakes made by the candidates
were: Suggestions for teachers
• Declaration and accepting the values in a
double dimensional array. − Guide the students to analyse the question
in order to code the program that is
• Sum not initialized to zero.
input -process-output.
• Most of the candidates forgot to sum up the − Teach the concept of 2D array by
squares of each element. encouraging the students to declare the
• Square root of the sum was ignored. array as per the specifications [ order of the
• The nested for loop was done incorrectly. array ], accept the values into the array
Loops were from 1 to 4 instead of 0 to <4. using Scanner class methods in an
• Missed subscripts while inputting. appropriate nested for loop.
• a[i][j] was written as a[ ][ ] =[Link]();. − Provide practice to the students on
summing up the square of each element.
• Wrote [Link](s,2) instead of
[Link](s).

17
2025 ICSE- Computer Applications

Question 5 [15]

Define a class to accept a String and Print if it is a Super string or not. A String is Super
if the number of uppercase letters are equal to the number of lower case letters.
[Use Character & String methods only]
Example : “COmmITmeNt”
Number of Uppercase letters – 5
Number of Lowercase letters – 5
String is a Super String

MARKING SCHEME
import [Link].*;
class superstring
{
String s;
Scanner ob = new Scanner ([Link]);
void check()
{
[Link]("Enter a string");
s=[Link]();
int i, l =[Link](),uc=0,lc=0; char ch;
for(i=0;i<l;i++)
{
ch=[Link](i);
if([Link](ch))
uc++;
if([Link](ch))
lc++;
}
if(uc==lc)
[Link]("Super String");
else
[Link]("Not a Super String");
}
}

18
2025 ICSE- Computer Applications

Comments of Examiners
Some of the common errors made by the Suggestions for teachers
candidates were:
• Did not use the character methods. − Instruct the students to read the question
• Initialization of number of uppercase paper carefully and answer according to
the requirements of the question.
characters and number of lower-case
− Encourage the students to make use of the
characters was done inside the loop.
wrapper class and string methods
• String was initialized instead of accepting. wherever possible.
• Missed length ( ) . − Guide the students to initialize the counter
• Used if( ch>=’A’ && ch<=’Z”) instead variables before the loop.
of character class method. − Provide sufficient practice of questions
• Not printed the messages as ‘Super String’ which involve the wrapper class and string
or ‘Not super String’. methods.
• Wrote if(uc=lc) instead of if (uc== lc) . − Clearly highlight that when the question
specifies print the message, students need
to print the message.

Question 6 [15]

Define a class to initialise the following data in an array.

Search for a given character input by the user, using the Binary Search technique.

Print “Search Successful” if the character is found otherwise print “Search is not
Successful”.

‘A’, ‘H’, ‘N’, ‘P’, ‘S’, ’U’, ‘W’, ‘Y’, ‘Z’, ‘b’, ‘d’

19
2025 ICSE- Computer Applications

MARKING SCHEME
import [Link].*;
class search
{
char ch[]={'A','H','N','P','S','U','W','Y','Z','b','d'};
char n;
Scanner ob = new Scanner([Link]);
void search()
{
[Link]("Enter character to be searched");
n=[Link]().charAt(0);
int f=0,l=[Link],m;
while(f<l)/while (f=l)
{
m=(l+f)/2;
if(n==ch[m])
{
[Link]("Search Successful");
[Link](0);
}
if(n>ch[m])
f=m+1;
if(n<ch[m])
l=m-1;
}
[Link]("Search is not successful");
}
}

20
2025 ICSE- Computer Applications

Comments of Examiners
Common observations were:
• Some candidates got confused as the array
Suggestions for teachers
given was a character array. − Explain the concept of sorting and
• Some candidates wrote the program using searching programs by using integer
linear search. arrays.
• Instead of initializing the array as − Provide sufficient practice to the students
of these programs with the different data
specified, some candidates accepted the
types as int, char, String(only linear
elements into the array double. search).
• Search element was not accepted. − Ask students to initialize the values as
• Integers were initialized / accepted instead given in the question.
of characters, − Explain the set of statements in binary
• length was written as length(). search in detail.
• Given while condition as (last<first). − Encourage the students to try the binary
• Wrongly placed statement. search using the different data types
initializing the array in a sorted format.
• Missing the mid-value calculation.
− Instruct students not to sort the array
• Checking for char using equals() instead again.
of ==. − Lay stress on the usage of System. exit(0)
• Both if conditions were wrongly written. when the search value is found, which is
• (a[mid]<search) was written as easier compared to the flag concept.
mid<search.
• First and last updating done incorrectly.
• Not used flag or [Link]().
• Printing both the messages was done inside loop itself, if search element was found.

Question 7
Define a class to overload the method print( ) as follows: [15]

void print ( ) – To print the given format using nested loops.

@#@#@

@#@#@

@#@#@

@#@#@

double print(double a, double b) – To display the sum of numbers between a and b


with difference of 0.5.

e.g. if a = 1.0, b = 4.0

output is: 1.0 + 1.5 + 2.0 + 2.5 + ……………. + 4.0

int print(char ch1, char ch2) – compare the two characters and return the ASCII code
of the largest character.

21
2025 ICSE- Computer Applications

MARKING SCHEME
class overload
{ void print ( )
{ for( int i=1;i<=4;i++)
{ for(int j=1;j<=5;j++)
{ if( j%2==0) ]
[Link](“#”);
else
[Link](“@”);
}
[Link]();
}
}
double print( double a , double b)
{ double s=0.0;
for( ;a<=b ;a+=0.5)
{ s+=a;
}
return s;
}
int print( char ch1 , char ch2)
{ if(ch1>ch2)
rerurn (int)ch1;
else
return (int)ch2;
}}

22
2025 ICSE- Computer Applications

Comments of Examiners
Some common mistakes observed were:
• Wrote separate programs (polymorphism
Suggestions for teachers
was not followed). − Clearly state the rules to be followed for
• The specifications given in the question using Polymorphism in the programs.
were not followed. − Instruct the students to use the same
method signature given in the question.
• In pattern program, println() was used
− Encourage the students to use
in both the loops.
[Link] to display the format in
• In first method , outer for loop and the first part – nested loop format.
inner loop were reversed. − Explain the concept of nested for loop and
• In second & third method, double and ask the students to write code for a variety
[Link]( ) were written together. of simple patterns.
• for (double i=1.0 ; i<=b ;i++) { − Provide rigorous practice to the students to
s+=a+0.5;}, some candidates were unable write the code for the summation series
to construct for loop with a double value. involving integers and for the double
• [Link]( ) was written instead of values.
return statement. − Instruct the students to make use of the
wrapper class methods.

Question 8 [15]

Define a class to accept a number. Check if the sum of the largest digit and the smallest
digit is an even number or an odd number. Print appropriate messages.

Sample Input: 6425 3748

Largest digit: 6 8

Smallest digit: 2 3

Sample Output: Sum is even Sum is odd

MARKING SCHEME
import [Link].*;
class check
{ void main( )
{ Scanner sc=new Scanner([Link]);
[Link]("enter number");
int n=[Link]();
int small=n%10 ;
int large=n%10;
while(n>0)
{ int rem=n%10;
if(rem>large)
large=rem;
if(rem<small)

23
2025 ICSE- Computer Applications

small=rem;
n=n/10;
}
if((small+large)%2==0)
[Link]("Sum is even");
else
[Link]("Sum is odd");
}}

Comments of Examiners
• Many candidates were unclear about the
extraction of digits and the manipulation of the
Suggestions for teachers
digits of a number. − Clarify the concept of extracting and
• Some of the candidates found the sum inside manipulating the digit.
the loop. − Clearly explain to the students to
• Some candidates wrote the incorrect while manipulate the digit as per the
loop and used the wrong brackets. specification mentioned in the question.
− Provide practice of the programs based on
• A few candidates did wrong initialization of
extraction, manipulation of digits of the
max and min, while some other missed the number
update n/=10.
• A few candidates used the incorrect if
condition sign to find max and min.

24
2025 ICSE- Computer Applications

GENERAL COMMENTS
• Package names.
Topics found • Array initialization/accessing the elements of a 2D array.
• Assertion and Reasoning.
difficult by • Method overloading.
candidates • Nested loops.

• One dimensional and two-dimensional array declaration


and working and index positions.
Concepts in which • Creation of object.
• Constructor overloading.
candidates got • Exit and entry-controlled loop.
confused • Character wrapper class usage.
• Public /private/protected.
• Types of errors.

25
2025 ICSE- Computer Applications

• Make your own notes on every topic and practice the concepts
on a regular basis.
• Avoid selective study.
• Note down every minute detail of each program.
• Write the list of variables or prepare a variable description
table for every program.
• Understand the concept by doing a dry run of the program with
different inputs.
• Practice writing programs on paper before executing them on
the system.
• Revise the subject at least twice a week.
• Be thorough with all wrapper class methods and string
methods.
Suggestions for • For Section A, candidates need to be thorough with all the
candidates basic concepts.
• Make effective use of the fifteen minutes of reading time.
• Choose only one option while answering multiple-choice
questions.
• Show the working steps for output-based questions.
• For any program-based question, understand the exact
requirement of the question.
• Use the same variable names and method names as given in
the question.
• Follow the specifications given in the question for method
overloading.
• Write all answers in legible handwriting.
• Practice questions from previous years’ board papers,
specimen papers, and competency-based questions.

26
ICSE Examination PAPER - 2025
COMPUTER APPLICATIONS
Class-10th
(Solved)
Maximum Marks: 100 Time Allotted: Two Hours
Instructions to Candidates:
1. Answers to this Paper must be written on the paper provided separately.
2. You will not be allowed to write during first 15 minutes.
3. This time is to be spent in reading the question paper.
4. The time given at the head of this Paper is the time allowed for writing the answers.
5. This Paper is divided into two Sections.
6. Attempt all questions from Section A and any four questions from Section B.
7. The intended marks for questions or parts of questions are given in brackets[].

SECTION A (40 Marks)


(Attempt all questions from this Section.)
Question 1 [20]
Choose the correct answers to the questions from the given options.
(Do not copy the questions, write only the correct answers.)
(i) Character class methods are found in the package called:
(a) [Link] (b) [Link]
(c) [Link] (d) [Link]
(ii) [Link](‘Z’ + 32); will display:
(a) z (b) Z
(c) 122 (d) 154
(iii) double x []−{2.5,4.5,5.5,6.4); occupies __________ bytes.
(a) 16 (b) 4
(c) 8 (d) 32
(iv) The output of 42/6%2 is:
(a) 1 (b) 10
(c) 2 (d) 0
(v)

Mouse Keyboard Printer

Scanner Barcode Scanner Microphone


Consider the Two dimensional array P/2/13], of peripherals (input / output devices) given above, state the
index of the device Barcode Scanner.
(a) P[1][1] (b) P[0][1]
(c) P[1][2] (d) P[0][0]
2 Oswaal ICSE Question Bank Chapterwise & Topicwise, COMPUTER APPLICATIONS, Class-X

(vi) Which of the following is user defined data type?


1. array 3. class
2. double 4. boolean
(a) only 1 (b) 1 and 3
(c) only 2 (d) only 4
(vii) Select the infinite loop:
(a) for(int i=1;i<=10;i++) (b) for(int i=2; i!=0;i-=3)
(c) for(int i=5;i<=5;i++) (d) for(int i=1;i>=1;1−−)
(viii) The output of [Link](−7, [Link](−5,−4)) is
(a) −5 (b) −4
(c) −7 (d) error
(ix) Which of the following is true for the given object creation statement?
Game cricket = new Game();
(a) Game is an object of cricket class (b) New keyword creates object Game
(c) Game is a class and cricket is an object (d) Game and cricket are objects
(x) Post office is an example for __________ access specifier.
(a) public (b) local
(c) protected (d) private
(xi) Assertion (A): In switch case break statement avoids fall through.
Reason (R): break statement helps to execute only one case at a time.
(a) Both (A) and (R) are true and (R) is a correct explanation of (A).
(b) Both (A) and (R) are true and (R) is not a correct explanation of (A).
(c) (A) is true and (R) is false.
(d) (A) is false and (R) is true.
(xii) A physical education teacher asks the students to do the side stretch is steer below, 10 times. Which
programming construct the teacher uses.

Side 10
Stretch

(a) if (b) switch


(c) for (d) if else if
(xiii) The index (subscript) of the last element of an array ar[] is
(a) [Link]() (b) ar[].length
(c) [Link]()-1 (d) [Link]-1
(xiv) Assertion (A): A clock is a real-life example of nested loops.
Reason (R): The hour hand moves through 12 positions, while the minute hand moves through 60
positions within each hour.
(a) Both (A) and (R) are true and (R) is a correct explanation of (A).
(b) Both (A) and (R) are true and (R) is not a correct explanation of (A).
(c) (A) is true and (R) is false.
(d) (A) is false and (R) is true.
(xv) Which of the following pairs of methods will cause a compile-time error due to incorrect method
overloading?
(a) void test(int a, int b) and void test(double a, double b)
(b) void test(int a, double b) and void test(double a, int b)
(c) void test(int a, double b) and void test(int a)
(d) void test(int a) and int test(int a)
solved PAPER - 2025 3

(xvi) Which of the following converts “25” to 25.0?


(a) Double. Parsedouble(“25”) (b) [Link](“25”)
(c) [Link](“25”) (d) [Link](25)
(xvii) Consider the program segment:
int p=0;
for(p=4; p>0; p−=2);
[Link](p);
[Link](p);
The above statements will display:
(a) 42 (b) 4200
(c) 00 (d) 00
(xviii)[Link](“I said, “It’s wise to obey elders.\””);
The output of the above statement is:
(a) I said,’lt is wise to obey elders.’ (b) I said, “It’s wise to obey elders.”
(c) I said, It’s wise to elders. (d) “‘It’s wise to obey elders.’”
(xix) What is the output of the statement given below?
“ANGER”.compareTo(“ANGEL”)
(a) 3 (b) −6
(c) 6 (d) 0
(xx) Consider the following program segment in which the statements are jumbled. Choose the correct order
of statements to calculate and return the factorial of 4.
for (k=1; k<=4; k++) → 1
return fa; → 2
long fa 1, k; → 3
fa*=k; → 4
(a) 1, 2, 3, 4 (b) 3, 1, 4, 2
(c) 3, 1, 2, 4 (d) 1, 3, 2, 4
Question 2
(i) Write the java expression to find the product of square root of P and the square root of Q using the [2]
methods of Math class.
(ii) Write the output of the following String method: [2]
String x= “talent”; String y=”matrix”;
[Link]([Link](3).concat([Link](3));
(iii) Write the Java statement for creating an object named ‘sifra’ of the class ‘Robot’, which takes three double [2]
parameters.
(iv) Convert the given loop into exit controlled loop. [2]
int a,b;
for (a=10, b=1; a>=1; a−2)
{
b+= a;
b++;
}
[Link](b);
(v) Consider and give the output of the following program: [2]
class report
{ int a,b;
report()
{ a=I0;
b=15;
{
report(int x, int y)
{ a=x;
b=y;
}
void print()
{ [Link](a*b);
4 Oswaal ICSE Question Bank Chapterwise & Topicwise, COMPUTER APPLICATIONS, Class-X

}
static void main()
{ report r=new report();
[Link]);
report p = new report(4, 5);
[Link]();
}
}
(vi) (a) Name one String method which results in positive integer only. [2]
(b) Name one String method which results in a character.
(vii) John was asked to write a Java code to calculate the surface area of a cone, the following code was written [2]
by him:
Surface area of cone is A=πrl l = r 2 + h2
class area
{ double area (double r, double h)
{ double 1, a;
 a=22.0/7*r*l;
 l=[Link](r*r+h* h);
 return a;
}
}
Specify the type of the error in the above program, correct and write the program to be error free.
(viii) Consider the following array and answer the questions given below: [2]
int a[] = {12, 10, 8, 4, 6 , 2, 3, 5, 7}
(a) What is the output of [Link](a[0]+a[5]);?
(b) What is the index (subscript) of the largest element of the array a[]?
(ix) (a) Write the Java statement to initialise the first 6 odd numbers in a 3 × 2 array. [2]
(b) What is the result of x[0][1]+x[2][1] of the above array?
(x) Give the output of the following program segment and specify how many times the loop is executed. [2]
String s = "JAYA";
for(i=0;i<[Link]();i+=2)
[Link]([Link](i);
SECTION B (60 Marks)
(Attempt any four questions from this Section.)
The answers in this section should consist of the programs in either BlueJ environment or any
program environment with Java as the base.
Each program should be written using variable description / mnemonic codes so that the logic of
the program is clearly depicted.
Flowcharts and algorithms are not required.
solved PAPER - 2025 5

Question 3 [15]
Define a class named CloudStorage with the following specifications:
• Member Variables:
– int acno – stores the user's account number.
– int space – stores the amount of storage space in GB purchased by the user.
– double bill – stores the total price to be paid by the user.
• Member Methods:
– void accept() – prompts the user to input their account number and storage space using
Scanner class methods only.
– void calculate() – calculates the bill total price based on the storage space purchased using
the pricing table provided:
Storage range Price per GB (Rs)
First 15 GB 15
Next 15 GB 13
Above 30 GB 11

– void display() – displays the account number, storage space and bill to be paid.
Write a main method to create an object of the class and invoke the methods of the class with respect to
the object.
Question 4 [15]
Define a class to accept values into a 4 × 4 integer array. Calculate and print the NORM of the array.
NORM is the square root of sum of squares of all elements.
1 2 1 3
5 2 1 6
3 6 1 2
3 4 6 3
Sum of squares of elements = 1 + 4 + 1 + 9 + 25 + 4 + 1 + 36 + 9 + 36 + 1 + 4 + 9 + 16 + 36 + 9 = 201
NORM Squareroot of 201 = 14.177446878757825
Question 5 [15]
Define a class to accept a String and Print if it is a Super string or not. A String is Super if the number of
uppercase letters are equal to the number of lower case letters.
[Use Character & String methods only]
Example: "COmmlTmeNt"
Number of Uppercase letters −5
Number of Lowercase letters −5
String is a Super String
Question 6 [15]
Define a class to initialise the following data in an array.
Search for a given character input by the user, using the Binary Search technique.
Print "Search Successful" if the character is found otherwise print "Search is not Successful".
'A', 'H', 'N', 'P', 'S', 'U', 'W', 'Y', 'Z', 'b', 'd'
Question 7 [15]
Define a class to overload the method print() as follows:
void print()− To print the given format using nested loops.
@#@#@
@#@#@
@#@#@
@#@#@
@#@#@
double print(double a, double b)− To display the sum of numbers between a and b with difference of 0.5.
e.g. if a=1.0, b=4.0
output is: 1.0 + 1.5 + 2.0 + 2.5 + .................... +4.0
int print(char ch1, char ch2)− compare the two characters and return the ASCII code of the largest
character.
6 Oswaal ICSE Question Bank Chapterwise & Topicwise, COMPUTER APPLICATIONS, Class-X

Question 8 [15]
Define a class to accept a number. Check if the sum of the largest digit and the smallest digit is an even
number or an odd number. Print appropriate messages.
Sample Input: 6425 3748
Largest digit: 6 8
Smallest digit: 2 3
Sample Output: Sum is even Sum is odd
solved PAPER - 2025 7

Answers
Section A starts from 0 to n−1.
1. (i) Option (b) is correct. (xiv) Option (a) is correct.
Explanation: In Java, the Character class methods, Explanation: Since the hour hand moves 12 times
which provide functionalities for manipulating and with each iteration the minute hand moves for
characters, are located in the [Link] package. 60 times, it is a nested loop, loop inside loop.
(ii) Option (c) is correct. (xv) Option (d) is correct.
Explanation: ‘Z’ + 32 means ASCII code is 90. Explanation: Java does not consider the return type
90 + 32 = 122, which is printed. for method overloading. By changing the return
(iii) Option (d) is correct. type does not mean that the method is overloaded.
Explanation: The array carries [2, 5, 4.5, 5.5, 6.4], Hence, void test (int a) and int test (int a) causes a
which means 2 integers and 3 doubles, So, total compile time error.
memory occupied will be 2 × 4 + 3 × 8 = 8 + 24 (xvi) Option (c) is correct.
= 32 bytes. Explanation: The [Link](“25”) con-
(iv) Option (a) is correct. verts the string “25” to double 25.0.
Explanation: 42/6%2 = 7%2 = 1. (xvii) Option (d) is correct.
(v) Option (a) is correct. Explanation: Since there are no statements in the
Explanation: The element is in row index 1 and loop, no values of p are printed inside the loop.
column index 1, so P[1, 1]. When the loop ends p has become 0.
(vi) Option (b) is correct. The last two print statements print the value of p,
Explanation: Arrays and classes are user defined that is 00.
data types in java. Both can hold multiple data (xviii) Option (b) is correct.
elements. Explanation: The ‘\’ escape sequence hides the
(vii) Option (b) is correct. special meaning of character.
Explanation: The loop is for (i=2; I!=0; I−=3), (xix) Option (c) is correct.
starting from value 2 , if I is decreased by 3 every Explanation: Here the compareTo() compares the
time, it will never reach 0, hence it is an infinite strings “ANGEL” and “ANGER” and gives the
loop. difference in ASCII codes of the differentiating
(viii) Option (a) is correct. characters ‘L’ and ‘R’:
Explanation: [Link](−5, −4) gives −5 and "ANGER" vs "ANGEL":
[Link](−7, −5) gives −5. • 'A' == 'A' → equal
(ix) Option (c) is correct. • 'N' == 'N' → equal
Explanation: Cricket is an object of the Game class, • 'G' == 'G' → equal
created using the new operator in the statement • 'E' == 'E' → equal
Game cricket = new Game(); • 'R' vs 'L' → 'R' (82) − 'L' (76) = 6
(x) Option (a) is correct. (xx) Option (b) is correct.
Explanation: A public access specifier allows a class, Explanation: First the variables are initialised. Next
method, or variable to be accessed from anywhere the loop starts, and then the value of k is repeatedly
in the program. multiplied with the return variable ‘fa’. Finally, the
A Post Office is a public service that is accessible to return value is returned.
everyone, similar to how the public access modifier 2. (i) [Link](P) * [Link](Q)
makes members accessible to all parts of a program. (ii) ‘entrix”
(xi) Option (a) is correct. Explanation: [Link](3) returns characters
Explanation: Because of the break statement control from index 3 to the end of x, giving “ent”, similarly
of execution goes out of the switch….case construct [Link](3) returns characters from index 3 to the
and fall through is avoided and also the valid end of y giving ‘rix’. Both are concatenated.
matching case(s) are executed. (iii) Robot Sifra=new Robot(77.213, 182.668, 919.817);
(xii) Option (c) is correct. (iv) int a,b;
Explanation: Since the work done here is repetitive a=10;
in nature, the for programming construct is used
b=1;
here.
do
(xiii) Option (d) is correct.
{
Explanation: [Link] gives the last position and
b+=a;
−1 gives the actual index, as the index of the array
8 Oswaal ICSE Question Bank Chapterwise & Topicwise, COMPUTER APPLICATIONS, Class-X

b++; Scanner sc=new Scanner([Link]);


a−=2;  [Link](“Enter your account number
} while(a>=1); :”);
[Link](b); acno=[Link]();
(v) 150   [Link](“Enter amount of storage
20 space required :”);
Explanation: When the 1st time report class object r space=[Link]();
is created, the default constructor is called and a, b [Link]();
are initialised with 10,15. Thus the print() function }
prints 150. public void calculate()
2nd time when the object p is created, the {
parameterised constructor is called to initialize a,b if (space<=15)
with values 4,5. Thus the print() function gives 20.   bill=space*15;
(vi) (a) length(): Returns the number of characters in a else if(space<=30)
string.
   bill=15*15 + ((space-15)*13));
(b) charAt(): Returns the character at the index
else if (space>30)
specified.
(vii) Logical Error: Area has been calculated before    bill=15*15 + 15 *13 + ((space-30)*11);
calculation of l. }
class area public void display()
{ double l, a; {
double area(double r, double h) [Link](“Account No.: “ + acno);
{ [Link](“Storage :” + space);
   l=[Link](r*r + h*h) [Link](“Bill : “+ bill);
   a=22.0/7*r*l; }
  return a; public static void main(String[] args)
} {
} CloudStorage ob=new CloudStorage();
(viii) (a) 14. [Link]();
Explanation: a[0] is 12, a[5] is 2. [Link]();
(b) 0. [Link]();
Explanation: Largest element is 12 at index 0. }
(ix) (a) int ar[][]={{1,3},{5,7},{9,11}}; }
(b) 14. 4. import [Link];
Explanation: x[0][1] = 3, x[2][1]=11 public class Main {
3 + 11 = 14. public static void main(String[] args) {
(x) JAVA double sum=0.0;
VA double norm=0.0;
Loop executes for 2 times. Scanner scanner = new Scanner([Link]);
Explanation: The string “JAVA” has length 4 and int[][] matrix = new int[4][4];
the loop variable increases by 2 every time, hence   [Link]("Enter numbers for 4x4
loop goes for 2 times. matrix: ");
Substring i shows strings from index i to the end    for (int i = 0; i < 4; i++) {
of the string. (i takes the values 0 and 2 hence the     for (int j = 0; j < 4; j++) {
substrings shown are “JAVA” and “VA”.     matrix[i][j] = [Link]();
Section B      }
3. import [Link]; }
class CloudStorage for (int i = 0; i < 4; i++) {
{ for (int j = 0; j < 4; j++) {
int acno;    sum+=matrix[i][j] * matrix[i][j];
int space; }
double bill; }
public void accept(): norm=[Link](sum);
{   [Link](“Norm of the matrix is :”+
solved PAPER - 2025 9
norm); int n = [Link];
[Link](); [Link]("Enter search character :");
} char c=[Link]().charAt(0);
} int res = [Link](arr, 0, n - 1, c);
5. import [Link].*; if (res == -1)
public class SuperString {    [Link]("Search is not successful");
public static void main(String[] args) { else
   int uppercaseCount = 0, lowercaseCount = 0;   [Link]("Search successful , Element
   Scanner sc = new Scanner([Link]); found at index " + res);
   [Link]("Enter string: "); [Link]();
   String sen = [Link](); }
   for (int i = 0; i < [Link](); i++) { }
    char ch = [Link](i); 7. import [Link].*;
   if ([Link](ch)) { public class Overload {
    lowercaseCount++; // Method to print the given pattern
    } else if ([Link](ch)) { public void print() {
    uppercaseCount++; for (int i = 0; i < 4; i++) {
}    for (int j = 0; j < 4; j++) {
}     if (j % 2 == 0)
[Link]("Number of Uppercase letters: "     [Link]("@");
+ uppercaseCount);    else
[Link]("Number of Lowercase letters: "     [Link]("#");
+ lowercaseCount); }
if (uppercaseCount == lowercaseCount) { [Link](); // New line after each row
[Link]("String is a Super String"); }
} else { }
[Link]("String is NOT a Super String"); // Method to display the sum of numbers between a
} and b with step 0.5
[Link](); public void print(double a, double b) {
} double sum = 0.0;
} [Link]("Output: ");
6. import [Link].*; for (double x = a; x <= b; x += 0.5) {
public class BinarySearch    [Link](x + " + ");
{    sum += x;
int binarySearch(char a[], int l, int r, char x) }
{  [Link]("\b\b = " + sum); // Removes
   while (l <= r) { last `+ ` and prints the sum
    int m = (l + r) / 2; }
    if (a[m] == x) { // Method to return ASCII code of the larger
    return m; character
    } else if (a[m] > x) { public int print(char ch1, char ch2) {
     r = m - 1; return (ch1 > ch2) ? (int) ch1 : (int) ch2;
   } else { }
     l = m + 1; public static void main(String args[]) {
   } Overload obj = new Overload();
  } // Testing pattern printing
  return -1; [Link]();
} // Testing sum function
public static void main(String args[]) [Link](1.0, 4.0);
{ // Testing character comparison
BinarySearch ob = new BinarySearch();  [Link]("Larger character ASCII: " +
Scanner sc=new Scanner([Link]); [Link]('A', 'Z'));
char arr[]= {'A','H','N','P','S','U','W','Y','Z','b','d'}; }
}
10 Oswaal ICSE Question Bank Chapterwise & Topicwise, COMPUTER APPLICATIONS, Class-X

8. import [Link].*;
   lg=d;
public class LargestSmallest
  if (d<sg)
{
   sg=d;
public static void main(String args[]) {
  num/=10;
{
}
Scanner sc=new Scanner([Link]);
[Link]("Largest digit :"+lg);
[Link]("Enter number :");
[Link]("Smallest digit :"+sg);
int d,lg=0,sg=0,num;
if ((sg+lg)%2==0){
num=[Link]();
 [Link]("Sum of largest and smallest
lg=num%10; digits is even");
sg=num%10;
}else {
while (num>0)
 [Link]("Sum of largest and smallest
{ digits is odd");
  d=num%10; }
  if (d>lg)
}

}

Common questions

Powered by AI

Teachers are suggested to teach the difference between syntax error, runtime error, and logical error by using proper examples in the computer lab to aid understanding and practical application .

Pedagogical interventions aim to mitigate common student errors by emphasizing clarity in difficult topics, providing detailed explanations of common errors, and offering specific teaching strategies that focus on problematic areas reflected in exam performances .

The Analysis of Pupil Performance document provides feedback to teachers on students' performance, highlights common errors and misconceptions, and suggests teaching strategies to address these issues. It also includes subject-specific tips and marking criteria to help teachers and students better understand exam demands .

Teaching students to use array inputs according to data type improves their understanding of programming concepts, enhances accuracy in coding tasks, and aids in better program optimization by preventing data type mismatches .

Understanding implicit and explicit conversion is critical for students as it affects how data types interact within programs, influences code efficiency, and prevents type-related runtime errors. Implicit conversion happens automatically, while explicit conversion requires explicit syntax, making comprehension essential for robust programming .

The exam feedback documents serve as a continuous improvement tool by providing detailed insights into students' strengths and weaknesses, offering targeted suggestions for pedagogical adjustments, and encouraging reflective practices in teaching and learning .

The Analysis of Pupil Performance document is considered indispensable because it offers valuable insights into students' exam performances, allowing schools to address educational gaps. After the pandemic's disruption, it provides a structured approach to re-aligning educational objectives and methods to meet exam standards .

The focus on allowing schools to evolve their own niche aligns with the CISCE's mission to empower students through diverse and innovative educational experiences, fostering a pluralistic society and encouraging introspective living .

The diversity of subjects, ranging from humanities to sciences, reflects CISCE's educational goals to provide a well-rounded syllabus that caters to varied interests and talents, promoting holistic development and alignment with both national and global educational standards .

The CISCE aims to incorporate diversity and plurality in their educational framework by giving schools the freedom to experiment with new ideas and practices, which is considered a strength as it supports the evolution of ideas and caters to the diverse needs of children, fostering a rich educational environment .

You might also like