2025 CISCE Pupil Performance Analysis
2025 CISCE Pupil Performance Analysis
ANALYSIS OF PUPIL
PERFORMANCE
October 2025
COMPUTER SCIENCE
MISSION STATEMENT
ETHOS OF CISCE
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.
Computer Science
Number of
Candidates Appeared Maximum Marks 100
26067
Highest Marks Lowest Marks
Boys Girls
Average Marks
16460 9607 100
83
Performance by Gender
Gender Mean SE t-value
82.3 83
Girls 83 0.14
Region-wise Performance 3.8*
(Mean Marks) Boys 82.3 0.12
81.6 82.5 *Significant at 0.05 level
89.3 92
Haryana 91.2
Foreign
1
Performance State-wise and Foreign (Mean Marks)
BOYS GIRLS OVERALL
85.2
ANDHRA PRADESH 85.0
85.2
85.8
ASSAM 94.7
89.0
79.4
BIHAR 79.8
79.6
93.6
CHANDIGARH 67.0
91.5
71.1
CHHATTISGARH 63.5
67.4
92.8
DUBAI (U.A.E.) 94.7
93.2
88.9
GOA 95.2
91.8
76.9
GUJARAT 79.2
77.7
90.8
HARYANA 92.7
91.2
81.3
HIMACHAL PRADESH 73.2
78.9
74.6
JAMMU AND KASHMIR 76.6
75.4
79.7
JHARKHAND 80.6
80.1
86.2
KARNATAKA 87.3
86.6
87.1
KERALA 89.6
88.0
77.9
MADHYA PRADESH 78.0
77.9
86.6
MAHARASHTRA 87.2
86.8
MEGHALAYA 81.5
81.5
92.8
NEW DELHI 92.4
92.6
75.2
ODISHA 76.7
75.8
77.1
PUDUCHERRY 73.4
76.1
81.8
PUNJAB 84.6
83.3
85.8
RAJASTHAN 89.5
87.8
76.3
SHARJAH 70.0
75.0
67.3
SIKKIM 73.4
69.0
82.1
SINGAPORE 98.0
86.9
85.0
TAMIL NADU 86.7
85.5
72.5
TELANGANA 83.0
76.4
71.5
TRIPURA 73.3
71.9
81.8
UTTAR PRADESH 82.8
82.2
85.3
UTTARAKHAND 85.2
85.3
82.9
WEST BENGAL 83.3
83.0
0 20 40 60 80 100
2
QUALITATIVE ANALYSIS
PART I– 20 MARKS
Answer all questions.
While answering questions in this Part, indicate briefly your working and
reasoning, wherever required.
Question 1
(i) The complement of the Boolean expression (A • Bꞌ) + (Bꞌ • C) is: [1]
(a) (A+ Bꞌ) • (Bꞌ + C)
(b) (Aꞌ • B) + (B • Cꞌ)
(c) (Aꞌ +B) • (B+ Cꞌ)
(d) (A • Bꞌ) + (B • Cꞌ)
(ii) Given below are two statements marked, Assertion and Reason. Read the two [1]
statements carefully and choose the correct option.
Assertion: The expression ~ ( X˅Y) is logically equivalent to ( ~X˄~Y )
Reason: The commutative property of logical operators states that the order of the
operands does not change the result of a binary operation.
(a) Both Assertion and Reason are true and Reason is the correct explanation for
Assertion.
(b) Both Assertion and Reason are true but Reason is not the correct explanation
for Assertion.
(c) Assertion is true and Reason is false.
(d) Both Assertion and Reason are false.
(iii) According to the Principle of Duality, the Boolean equation [1]
(1 + Y) • (X + Y) = Y + Xꞌ will be equivalent to:
(a) (1 + Yꞌ) • (Xꞌ + Yꞌ) = Yꞌ + X
(b) (0 • Y) + (X • Y) = Y • Xꞌ
(c) (0 + Y) • (X + Y) = Y + Xꞌ
(d) (1 • Y) + (X • Y) = Y • Xꞌ
(iv) The Associative Law states that: [1]
(a) A•B = B•A
(b) A+B=B+A
(c) A • ( B + C ) = A •B + A • C
(d) A+(B+C)=(A+B)+C
3
2025 ISC- Computer Science
4
2025 ISC- Computer Science
(viii) Study the given propositions and the statements marked, Assertion and Reason that [1]
follow it. Choose the correct option on the basis of your analysis.
P – It is a holiday
Q – It is a Sunday
Assertion: If it is not a Sunday, then it is not a holiday. (Qꞌ => Pꞌ)
Reason: Inverse is formed when antecedent and consequent are interchanged.
(a) Both Assertion and Reason are true and Reason is the correct explanation for
Assertion.
(b) Both Assertion and Reason are true but Reason is not the correct explanation
for Assertion.
(c) Assertion is true and Reason is false.
(d) Both Assertion and Reason are false.
(ix) For the given code segment, write Big O notation for worst case complexity. [1]
for ( int i=1; i<=P; i++)
{ Statements }
for (int j=1; j<=P; ++j)
for (int k=1; k<=Q; k++)
{ Statements }
(x) Write the minterms in canonical form for the Boolean Function X (A, B), from the [1]
truth table given below:
A B X
0 0 1
0 1 0
1 0 0
1 1 1
5
2025 ISC- Computer Science
MARKING SCHEME
(i) (c) or (Aꞌ + B) • (B+ Cꞌ)
(ii) (b) or Both Assertion and Reason are true but Reason is not the correct explanation
for Assertion.
(iii) (b) or (0 • Y) + (X • Y) = Y • Xꞌ
(iv) (d) or A + ( B + C ) = ( A + B ) + C
(vi) (b) or Both Assertion and Reason are true but Reason is not the correct explanation
for Assertion.
(vii) (a) or ( P + Qꞌ + R ) • ( Pꞌ + Q + Rꞌ ) • ( Pꞌ + Qꞌ + Rꞌ )
6
2025 ISC- Computer Science
Comments of Examiners
(i) Most of the candidates were confused Suggestions for teachers
between ‘dual’ and ‘complement’ of − Provide adequate practice of finding the
‘Boolean expression’. Some candidates compliment of Boolean expression to
could not understand the concept of make the students understand the
complementation and use of ‘De-Morgan’s application of De Morgan’s law.
law’ and thus answered it incorrectly. − Explain the difference between principle
(ii) Most of the candidates answered it of duality and De Morgan’s theorem and
correctly. Some candidates could not simultaneously give practice of both kind
translate the Boolean laws into proposition of sums to avoid confusion.
and were confused. − Explain explicitly the conversion of the
Boolean laws into its proposition with
(iii) Many candidates found the concepts of
examples.
‘complement’ and ‘dual’ confusing, which − Teach the analysis of the Assertion and
led to incorrect answers. Some candidates Reason and interpretation of the
altered the complements, while a few were statements to identify the correct option.
misled by the nearly identical options − Teach the difference between
provided in the question. complement and dual with sufficient
(iv) Many candidates answered this question examples.
correctly. − Conduct regular practice sessions to
(v) A large number of candidates were able to reduce incidences of error.
answer it correctly. However, some − Advise students to write all the laws as
candidates were confused by the various small handouts in one sheet of paper
combinations and chose incorrect options. along with the names, and discuss the
(vi) Most of the candidates were confused same in class.
between option (a) and option (b) because of − Teach all the properties and their laws,
along with their respective names.
the term ‘loop’ in reasoning.
− Elucidate the concept of canonical and
(vii) A few candidates answered it incorrectly
cardinal form of expression.
because of lack of clarity to convert cardinal
− Explain conversion from canonical to
number to maxterm. cardinal form and vice versa with
(viii) Most of the candidates answered this examples.
question correctly. However, some − Discuss all the terminologies like
candidates were unsure about the difference converse, inverse, contrapositive with
between ‘antecedent’ and ‘consequent’ as a suitable examples.
result failed to mark the correct option. − Provide worksheets to clarify concepts
(ix) Most candidates could answer this question on different terminologies.
correctly. Many candidates answered − Teach all three cases of complexities with
directly by considering the dominant term examples and factors that influence it.
instead of explaining the complexities of − Clearly highlight the various programs
‘non-nested’ and ‘nested loop’. Some where complexity differs- example loops,
candidates gave examples to illustrate the nested loops, conditional, recursion etc.
answers while some presented graphs to − Teach students about minterm and
maxterm with or without the help of truth
illustrate the complexities.
table.
(x) Most candidates gave the correct answer to
− Explain the difference between ‘M’ and
this question. Some gave vague answers ‘m’ along with symbols ‘∑’ and ‘π’ with
despite the correct working. A few respect to minterms, maxterms, SOP and
candidates could not understand the concept POS expression.
of the term ‘canonical’ and wrote the − Acquaint students to obtain the SOP and
incorrect answers. POS expression using the truth table.
7
2025 ISC- Computer Science
Question 2
(i) Convert the following infix notation to postfix form. [2]
(A–B/C)+(D*E/F)*G
(ii) A matrix M[−1…10, 4….13] is stored in the memory with each element requiring 2 [2]
bytes of storage. If the base address is 1200, find the address of M[2][7] when the
matrix is stored Row Major Wise.
(iii) The following function int solve( ) is a part of some class. Assume ‘m’ and ‘n’ are
positive integers. Answer the questions given below with dry run / working.
int solve(int m, int n)
{
int k=1;
if(m<0)
return −k;
else if(m==0)
return m;
else
return k+(solve(m−n, n+2));
}
(a) What will the functions solve ( ) return if: [2]
(1) m = 16, n = 1
(2) m = 9, n = 1
(b) What is the function solve( ) performing a part from recursion? [1]
(iv) The following function duck( ) is a part of some class which is used to check if a
given number is a duck number or not. There are some places in the code marked by
?1?, ?2?, ?3? which may be replaced by a statement /expression so that the function
works properly.
A number is said to be Duck if the digit zero (0) is present in it.
boolean duck(int a)
{ int f=−1;
if(a==0)
return true;
for(int i=a; i!=0;?1?)
{ int c = i%10;
if(c==?2?)
{ f=1; break; }
}
return (f ==?3?)? false: true;
}
(a) What is the expression or statement at ?1? [1]
(b) What is the expression or statement at ?2? [1]
(c) What is the expression or statement at ?3? [1]
8
2025 ISC- Computer Science
MARKING SCHEME
(i) (A–B/C)+(D*E/F)*G
( A – B C/ ) + ( D E * / F) * G
(ABC/–)+(DE*F/)*G
(ABC/–)+(DE*F/G*)
=ABC/–DE*F/G*+
9
2025 ISC- Computer Science
Comments of Examiners
(i) Most candidates were able to solve this Suggestions for teachers
problem correctly. However, some of the
candidates wrote the correct answer without − Provide practice of examples involving
showing the working while some other conversion of Infix to Postfix notation,
the order of precedence.
candidates applied the postfix correctly but
− Explain the operator’s precedence
could not derive the final answer due to
rule/priority of operators, and concept of
wrong operator precedence. left-to-right while evaluating an
(ii) This part was answered well by most of the expression.
candidates. Some of the errors noted were - − Give more practice to calculate addresses
− Directly writing the answer without using Row major and Column major wise.
showing the working/formula. − Explain the different terms used in
− Calculation mistakes. address calculations.
− Doing column major instead of row − Discuss in detail how stack concept is
major. used while executing recursive methods.
− Not calculated the size of the matrix Give sufficient practice to find the
output/return value of recursive methods
properly.
with proper working.
(iii) (a) Many candidates were unclear with the − Ensure to provide adequate practice to the
concept of stack and could not answer it students on Recursive technique
correctly. Most of the candidates could (including identification of base case) and
do the dry run well but made mistakes in how the values changes and stored in
returning the final correct value. Some fresh memory locations and their
of the candidates did wrong working working.
while some other candidates incorrectly − Explain Memory blocks/tables to show
changed the function parameters during the concept of working of Stack and LIFO
recursive call. A few candidates showed process in case of recursion.
the working but were unable to find the − Emphasise that the students must obtain
exact value. the output along with dry run / working
(b) Since this was an interrelated question, because it is a necessary component.
many candidates who answered the first − Familiarise students with dry run of each
code so that they understand the logic
part incorrectly also got the second part
clearly. Provide sufficient practice of
wrong. Some candidates carried out the such questions along with practical
working correctly but failed to mention classes.
the correct output. − Practice should be given more on
(iv) (a) Majority of the candidates answered this program using conditions / looping and
part quite well, however, some other output related programs.
candidates were confused in identifying − Show the dry run/ working of program
the actual value for ?1? and wrote i = and emphasise that working is necessary
a/10 or only i/10 instead of i=i/10. to get full credit.
(b) Most of the candidates answered it
correctly. A few candidates gave vague
answer.
(c) Most of the candidates answered this sub-part correctly.
10
2025 ISC- Computer Science
SECTION - A
Answer any two questions.
Question 3
(i) A superhero is allowed access to a secure Avengers facility if he/she meets any of the [5]
following criteria:
• The superhero has Avengers’ membership and possesses a high-security
clearance badge
OR
• The superhero does not have Avengers membership but holds a special permit
issued by S.H.I.E.L.D. along with a high-security clearance badge
OR
• The superhero is not a recognised ally but holds a special permit issued by
S.H.I.E.L.D. along with a high-security clearance badge
The inputs are:
INPUTS
A Superhero has Avengers membership.
S Superhero holds a special permit issued by S.H.I.E.L.D.
C Superhero possesses a high-security clearance badge
L Superhero is a recognised ally
(In all the above cases, 1 indicates YES and 0 indicates NO)
Output: X – Denotes allowed access [1 indicates YES and 0 indicates NO in all cases]
Draw the truth table for the inputs and outputs given above. Write the POS expression
for X (A, S, C, L).
(ii) Reduce the above expression X (A, S, C, L) by using 4-variable Karnaugh map, [5]
showing the various groups (i.e., octal, quads and pairs).
Draw the logic gate diagram using NOR gates only for the reduced expression.
Assume that the variables and their complements are available as inputs.
11
2025 ISC- Computer Science
MARKING SCHEME
(i)
A S C L X
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
X (A,S,C,L) = π (0,1,2,3,4,5,8,9,12,13)
X (A, S, C, L) = (A+S+C+L) . (A+S+C+L’) . (A+S+C’+L) . (A+S+C’+L’) .
(A+S’+C+L) .(A+S’+C+L’) . (A’+S+C+L) . (A’+S+C+L’) .
(A’+S’ +C+L) . (A’+S’+C+L’)
(ii)
C+L C + L’ C’ + L’ C’ + L
0 1 3 2
A+S 0 0 0 0
4 5 7 6
A + S’ 0 0 1 1
12 13 15 14
A’+ S’ 0 0 1 1
8 9 11 10
A’ + S 0 0 1 1
12
2025 ISC- Computer Science
Comments of Examiners
(i) Most of the candidates answered this question
well and were able to score full credit. Suggestions for teachers
A few common errors observed were: − Lay stress on the accurate interpretation
− Not mentioning the final simplified of what is being asked, particularly the
expression. questions related to logical expressions.
− Confusion between ‘Sum of Products’ − Provide more practice in deriving both
(SOP) and ‘Product of Sums’ (POS) forms. SOP (Sum of Products) and POS
(Product of Sums) expressions from
− Incorrectly used the output values with 0’s
given truth tables, including correct
instead of 1’s for SOP. identification and use of minterms and
− Used minterms while dealing with 0’s. maxterms.
− Incorrect variable representation or − Remind students about the importance of
incomplete solutions. clearly stating the final simplified
(ii) Most candidates could answer this part expression in order to get full credit.
correctly. However, some recurring mistakes − Train students to reduce both SOP and
were observed- POS expressions using Karnaugh Maps
− A few candidates were unable to draw the simultaneously.
‘K-Map’ for the ‘POS’ (Product of Sums) − Emphasis must be laid on avoiding
expression correctly, often confusing it redundant groupings.
with the ‘SOP’ form. − Instruct students to include only essential
groups in the final simplified expression.
− Incorrect variables were used to construct − Ensure that students practice all the steps
the ‘K-Map’. of working with K-Maps — including
− Additionally, some candidates included drawing the map accurately, correctly
redundant groups in the final expression, filling it with 0’s and 1’s, identifying and
which were unnecessary. marking valid groups, and reducing
those groups to derive the most
optimized Boolean expression.
− Insist upon reading the question
carefully and respond precisely.
13
2025 ISC- Computer Science
Question 4
(i) (a) Reduce the Boolean function F(P, Q, R, S) = Σ(0,1,2,5,7,8,9,10,13,15) by [4]
using 4-variable Karnaugh map , showing the various groups (i.e., octal, quads
and pairs).
(b) Draw the logic gate diagram using NAND gates only for the reduced [1]
expression. Assume that the variables and their complements are available as
inputs.
(ii) From the logic gate diagram given below:
(a) Derive Boolean expression for (1), (2) and R. Reduce the derived expression. [4]
(b) Name the logic gate that represents the reduced expression. [1]
MARKING SCHEME
(i) (a)
4 5 7 6
P’Q 0 1 1 0
12 13 15 14
PQ 0 1 1 0
8 9 11 10
PQ’ 1 1 0 1
14
2025 ISC- Computer Science
(b)
15
2025 ISC- Computer Science
Comments of Examiners
(i) (a) Most candidates answered this question Suggestions for teachers
correctly, However, a few common
mistakes were observed- − Emphasis should be made on arranging
• Some candidates made errors in variables in the correct order when
constructing Karnaugh Maps.
determining the place value and in
− Ensure that students understand the
correctly placing variables within the
formation of groups and how these groups
‘K-Map’. are then systematically reduced to derive
• Reduced the groups using ‘Boolean the simplified Boolean expression.
laws’ instead of simplifying directly − Lay stress on not including redundant
through the ‘K-Map method’. groups in the final expression, as it may
• Some ‘K-Maps’ were drawn lead to unnecessarily complex results.
incorrectly. − Provide extensive practice to the students
• Included ‘redundant groups’ in the in drawing logic circuits using both basic
final expression, resulting in non- gates (AND, OR, NOT) and universal
optimized solutions. gates (NAND and NOR).
(b) Most of the candidates answered the − Reinforce the understanding of logical
equivalence and gate substitution by
question correctly. Some candidates drew
regular exposure to designing circuits
the logic circuit using basic gates (such as with different combinations of gates.
AND, OR, and NOT) instead of using only − Insist on clarity, accuracy, and neatness in
NAND gates. Additionally, a few circuit diagrams.
responses included vague or unclear circuit − Give adequate practice to the students on
diagrams. variety of circuit diagrams, covering both
(ii) (a) Several candidates answered this part of simple and complex logic gate
the question correctly. However, some combinations.
candidates were unable to reduce the − Provide rigorous practice on the inter-
expressions properly, which affected the conversion between logic circuits,
final result. In some cases, a single Boolean expressions, and truth tables.
incorrect output led to an entirely incorrect − Teach step-by-step methods for
reduction. translating one form into another in detail,
supported by diverse examples to build
(b) Most candidates represented the logic gate
accuracy and confidence.
accurately. However, some reduced the
− Provide detailed examples to clearly
Boolean expression incorrectly, which led demonstrate the representation of
to inaccurate gate representations. Boolean expressions using various logic
Additionally, a few candidates, despite gates.
correctly reducing the expression, − Provide detailed examples to clearly
overlooked the requirement to draw the demonstrate the representation of
corresponding logic circuit, resulting in Boolean expressions for various logic
incomplete answers. gates, including AND, OR, NOT, NAND,
NOR, XOR, and XNOR.
− Teach the representation of each gate
algebraically and interpretation of these
expressions in circuit form.
− Explain both SOP (Sum of Products) and
POS (Product of Sums) expressions for
all seven basic gates, with emphasis on
how to derive and simplify them.
16
2025 ISC- Computer Science
Question 5
(i) What is an encoder? Draw the logic gate diagram for an octal to binary encoder. State [5]
one application of a decoder.
(ii) By using truth table, verify if the following proposition is valid or not. [3]
(~X => Y) ˄ X = (X ˄ ~Y) ˅ (X ˄ Y)
(iii) Study the logic gate diagram given below and answer the questions that follow:
17
2025 ISC- Computer Science
MARKING SCHEME
(i) An encoder is a combinational circuit which inputs 2n or fewer lines and outputs ‘n’ lines,
where ‘n’ represents bit code for the input.
Application of a decoder
• Address Decoding
• Barcode Scanner
• Television Remote Control
• Traffic Light Control
• Making of Multiplexers
• Conversion of Decimal, Octal, Hexadecimal to Binary
(ii)
X Y ~X ~Y ~X=>Y (~X=>Y)˄X X˄~Y X˄Y (X˄~Y)˅(X˄Y)
0 0 1 1 0 0 0 0 0
0 1 1 0 1 0 0 0 0
1 0 0 1 1 1 1 0 1
1 1 0 0 1 1 0 1 1
18
2025 ISC- Computer Science
Comments of Examiners
(i) Most candidates were able to draw the logic Suggestions for teachers
gate diagram correctly. However, a few − Provide regular practice in drawing
common errors were observed: encoders along with their corresponding
− Some candidates incorrectly drew a Boolean expressions, truth tables, and
decimal or hexadecimal encoder instead of logic circuits.
the required octal encoder. − Ensure sufficient practice on the circuit
− A few candidates mistakenly drew an AND diagrams, truth tables, logical
expressions, definitions, and applications
gate in place of an OR gate.
of key Boolean algebra components such
− Some vague or generic examples were also as half adders, full adders, encoders, and
provided. decoders.
(ii) Most of the candidates answered this question − Emphasis should be laid on helping
well. However, some candidates were students to understand the purpose and
confused by the logical symbols such as ~ functioning of logic gates used in these
(NOT), ∧ (AND), ∨ (OR), and ⇒ (implication), applications.
which led to errors in interpretation. Some − Encourage students to practice all the
errors made by the candidates were: fundamental laws of Boolean Algebra and
− Used a truth table for three variables Propositional Logic, with special
instead of the required two. emphasis on proving each law through
appropriate methods.
− The column representing the implication − Lay stress on the correct use and
(⇒) was incorrect, resulting in an interpretation of logical symbols such as
inaccurate final conclusion. ∧ (AND), ∨ (OR), ~ (NOT), ⇒
− Opted to prove the statement using logical (implication), and ⇔ (bi-implication)
laws instead of constructing a truth table. − Give ample practice in identifying and
− Missed mentioning whether the given analyzing the nature of propositions
proposition was a contradiction. whether they represent a tautology,
(iii) (a)This part of the question was answered well contingency, or contradiction.
by most of the candidates. Several − Provide exercises involving randomly
candidates drew the truth table to support selected gates with assigned input values
to help students develop confidence and
their answers. However, a few candidates
accuracy in determining the correct
were confused with the type of logic gate output.
involved and consequently provided the − Provide rigorous practice to the students
incorrect answers. by framing questions in different twisted
(b) Majority of the candidates answered the forms for various conditions.
question correctly. However, a few
candidates interchanged the answers of part
(a) with part (b) leading to the incorrect answers.
19
2025 ISC- Computer Science
SECTION – B
Answer any two questions.
Question 6
A class Perni has been defined to accept a positive integer in binary number system from [10]
the user and display if it is a Pernicious number or not.
[A pernicious number is a binary number that has minimum of two digits and has prime
number of 1’s in it.]
Examples:
• 101 is a pernicious number as the number of 1’s in 101 = 2 and 2 is prime number.
• 10110 is a pernicious number as the number of 1’s in 10110 = 3 and 3 is prime
number.
• 1111 is a NOT a pernicious number as the number of 1’s in 1111 = 4 and 4 is NOT
a prime number.
The details of the members of the class are given below:
Class name : Perni
Data member/instance
variable:
num : to store a binary number
Methods / Member
functions:
Perni ( ) : constructor to initialise the data member
with 0
void accept( ) : to accept a binary number (containing 0’s and
1’s only)
int countOne(int k) : to count and return the number of 1’s in ‘k’
using recursive technique
void check ( ) : to check whether the given number is a
pernicious number by invoking the function
countOne( ) and to display an appropriate
message
Specify the class Perni giving the details of the constructor( ), void accept( ),int
countOne(int) and void check( ). Define a main( ) function to create an object and call the
functions accordingly to enable the task.
20
2025 ISC- Computer Science
MARKING SCHEME
import [Link].*;
class Perni
{ int num;
static Scanner S = new Scanner([Link]);
Perni()
{ num = 0;
}
void accept()
{
[Link]("Enter a number");
num = [Link]();
}
int countOne(int k) int countOne(int k)
{ {
if(k<10) if(k==0)
return k; OR return 0;
else if(k%10 ==1) else return k%10 + countOne(k/10);
return 1+countOne(k/10); }
else
return 0+countOne(k/10);
}
void check()
{
int m = countOne(num);
int k=0;
for(int i=2;i<m;i++)
{
if (m%i==0)
{ k++;
break;
}
}
if(k==1 || m==0 ||m==1)
[Link](num+" is not a Pernicious number");
else
[Link](num+" is a Pernicious number");
}
static void main()
{
Perni obj=new Perni();
[Link]();
[Link]();
}
}
21
2025 ISC- Computer Science
Comments of Examiners
Most candidates answered it correctly. However, Suggestions for teachers
several recurring issues were observed:
− Incorrectly used instance variables. − Ensure that students understand
recursive techniques with examples.
Conceptual gaps in ‘recursion’:
− Lay special emphasis on teaching
Several candidates did not understand the
recursion with clear, step-by-step
concept of ‘recursion’. Common mistakes examples, illustrating how the recursive
included: flow unfolds.
Missed or wrong base cases. − Reinforce the identification and correct
Improperly structured recursive cases. implementation of both the base case
Used iteration (loops) to solve the and the recursive case through recursive
recursive problem. program.
− Misunderstood parameters in countOne( ) − Train students to distinguish when a
method which affected the logical flow and problem requires recursion and how to
correctness of the method. structure the logic accordingly.
− Issues in main( ) method: − Provide more practice on invoking one
method from another, particularly in
Object instantiation and method
recursive contexts, to build clarity on
invocation were incorrectly done. program control flow.
Omitted the main( ) method entirely. − Clearly explain the conceptual
− Lack of documentation resulted in reducing difference between iteration and
code readability and clarity of logic. recursion with examples.
− Advise students to read the question
carefully and focus on addressing the
exact requirements, rather than
applying unrelated logic or modifying
the problem structure.
− Reinforce the concepts of recursion,
emphasizing proper structuring with
base and recursive cases.
− Conduct focused practice on method
parameter passing and object-oriented
programming principles.
− Encourage students to follow the
problem statement strictly without
unnecessary additions.
− Emphasise the importance of writing a
main method and commenting the code
properly.
22
2025 ISC- Computer Science
Question 7 [10]
Design a class Colsum to check if the sum of elements in each corresponding column of two
matrices is equal or not. Assume that the two matrices have the same dimensions.
Example:
Member functions/methods:
Colsum(int mm, int nn) : parameterised constructor to initialise the
data members m = mm and n = nn
void readArray( ) : to accept the elements into the array
boolean check(Colsum A, Colsum B) : to check if the sum of elements in each
column of the objects A and B is equal and
return true otherwise, return false
void print( ) : to display the array elements
Specify the class Colsum giving details of the constructor(int, int), void readArray( ),
boolean check(Colsum, Colsum), and void print( ). Define the main() function to create
objects and call the functions accordingly to enable the task.
23
2025 ISC- Computer Science
MARKING SCHEME
import [Link];
class Colsum
{ int[][] mat;
int m, n;
static Scanner sc = new Scanner([Link]);
public Colsum(int mm, int nn)
{ m = mm; n = nn;
mat = new int[m][n];
}
public void readArray()
{ [Link]("Enter elements for the matrix");
for (int i = 0; i< m; i++)
for (int j = 0; j < n; j++)
mat[i][j] = [Link]();
}
public boolean check(Colsum A, Colsum B)
{ for (int j = 0; j <A.n; j++)
{ int csumA = 0;
int csumB = 0;
for (int i = 0; i<A.m; i++)
{ csumA += [Link][i][j];
csumB += [Link][i][j];
}
if (csumA != csumB)
return false;
}
return true;
}
public void print()
{ [Link]("Matrix:");
for (int i = 0; i< m; i++)
{ [Link]();
for (int j = 0; j < n; j++)
[Link](mat[i][j] + "\t");
}}
public static void main( )
{ Colsum matA = new Colsum(3,4);
Colsum matB = new Colsum(3,4);
[Link](); [Link]();
[Link](); [Link]();
if ([Link](matA, matB))
[Link]("\nThe sum of elements in each column of both matrices is
equal.");
else
[Link]("\nThe sum of elements in each column of both matrices is
NOT equal.");
} }
24
2025 ISC- Computer Science
Comments of Examiners
Majority of the candidates answered it correctly. Suggestions for teachers
Some common errors made by most of the
candidates were: − Provide more exercises to students on
how objects are passed to functions via
− Failed to allocate memory for the array using
parameters.
the new operator.
− Explain the concepts of one-
− Incorrectly handled the passing of objects dimensional and two-dimensional
between methods or constructors. arrays with multiple practical examples.
− Some candidates created a new array, − Emphasis should be laid on array
deviating from the intended solution declaration, memory allocation,
approach. iteration, and manipulation.
− Errors observed in object creation within the − Clearly explain the difference between
main() method. pass by value and pass by reference,
using diagrams and traceable examples
− Unnecessarily created three objects instead
to demonstrate how data is transferred
of the required two. and modified in each case.
− The invocation of the check() method was − Instruct students to read the question
either incomplete or incorrectly structured. and respond strictly according to the
− Lacked understanding of the return type of given rubric.
check() method, leading to logical errors or − Elucidate the concept of dynamic
compilation issues. binding (runtime polymorphism) with
suitable examples involving method
overriding and late binding.
− Explain the usage of the dot (.) operator
for accessing members and methods
and demonstrate it through examples.
− Highlight the purpose and usage of flag
variables to help students manage
control flow, especially in conditional
checks and loop-based logic.
Question 8 [10]
A class Flipgram has been defined to flip the letters of the left and right halves of a non-
heterogram word. If the word has odd number of characters, then the middle letter remains
at its own position.
A heterogram is a word where no letter appears more than once.
25
2025 ISC- Computer Science
Methods/Member functions:
MARKING SCHEME
import [Link];
class Flipgram
{ String word;
Flipgram(String s)
{ word =s;
}
boolean ishetero()
{ String w1=word;
int ctr=0;
for(int i=0;i<[Link]();i++)
{ char m=[Link](i);
if([Link](m)==[Link](m))
ctr++;
}
if(ctr==[Link]())
return true;
else
return false;
}
String flip()
{ String w2=word;
String left =[Link](0,[Link]()/2);
String right;
if([Link]()%2==0)
{ right= [Link]([Link]()/2);
return right+left;
}
else
{ right= [Link]([Link]()/2+1);
char c=[Link]([Link]()/2);
26
2025 ISC- Computer Science
return right+c+left;
}
}
void display()
{ if(ishetero())
[Link]("HETEROGRAM");
else
[Link](flip());
}
public static void main( )
{ Scanner sc=new Scanner ([Link]);
[Link]("Enter a word");
String s=[Link]();
Flipgram fl=new Flipgram(s); OR Flipgram fl=new Flipgram(“NEVER”);
[Link]();
}
}
Comments of Examiners
Most candidates answered this question well. Suggestions for teachers
Several candidates used a variety of valid and − Provide ample practice to the students
logical approaches to count the frequency of in extracting characters from words,
characters/alphabet. Different logics were also words from sentences, and sentences
applied to split and concatenate substrings, and from paragraphs to strengthen.
most of the solutions met the expected outcomes. − Teach varied methods and logic for
Some candidates correctly accepted the input word solving string-related problem and
and converted it into uppercase, though this was ensure that students are exposed to a
not required in all cases. A few candidates, wider range of approaches.
however, produced incorrect or logically − Lay emphasis on using constructors to
inconsistent implementations of the flip() method. initialize strings and other data
members to reinforce the fundamentals
of object-oriented programming.
− Give additional practice to students in
converting strings into character arrays
and vice versa.
− Include concatenation of strings using
different techniques (e.g., using +,
concat(), StringBuilder, etc.) in
exercises for clarity and proficiency.
27
2025 ISC- Computer Science
SECTION – C
Answer any two questions.
Question 9
A circular queue is a linear data structure that allows data insertion at the rear and removal
from the front, with the rear end connected to the front end forming a circular arrangement.
The details of the members of the class are given below:
Class name : CirQueue
Data members/instance
variables:
Q[ ] : array to hold integer values
cap : maximum capacity of the circular queue
front : to point the index of the front
rear : to point the index of the rear
Methods/Member functions:
CirQueue(int n) : constructor to initialise cap = n, front = 0 and
rear = 0
void push(int v) : to add integers from the rear index if
possible else display the message "QUEUE
IS FULL"
int remove( ) : to remove and return the integer from front
if any, else return −999
void print( ) : to display the elements of the circular queue
in the order of front to rear
(i) Specify the class CirQueue giving the details of the functions void push(int) and int [4]
remove( ). Assume that the other functions have been defined.
The main( ) function and algorithm need NOT be written.
(ii) State one application of a circular queue. [1]
MARKING SCHEME
(i) class CirQueue
{
public void push(int v)
{ if ((rear + 1) % cap == front)
[Link]("QUEUE IS FULL");
else
{ rear = (rear + 1) % cap;
Q[rear] = v;
}
}
public int remove()
{ if (front == rear)
return -999;
28
2025 ISC- Computer Science
else
{ front = (front + 1) % cap;
return Q[front];
}
}
(ii) Application of Circular queues is CPU scheduling / memory management / network
traffic management, etc.
Comments of Examiners
(i) A majority of the candidates could not Suggestions for teachers
understand the concept of circular queues. − Give extensive practice to students on
Several common errors and misconceptions data structure implementations
were observed: including Stacks, Queues, Circular
− Incorrectly implemented the basic logic Queues, and Dequeues.
for underflow and overflow condition. − Provide regular exercises and
− Mishandled the incrementing and assignments focusing on both
decrementing of start and end indices. conceptual understanding and practical
implementation.
− Failed to manage the wrap-around logic
− Demonstrate step-by-step workings of
required for circular queues. stacks and queues to the students by
− Implemented a linear queue instead of a using visual aids or real-time dry runs.
circular queue. − Use supporting examples and diagrams
− Difficulty with push() and remove() to show how insertion, deletion,
methods overflow, and underflow operations
(ii) This part was answered well by most of the occur.
candidates. However, some candidates were − Teach the fundamental principles of
LIFO (Last-In-First-Out) for stacks and
unable to state the application clearly and
FIFO (First-In-First-Out) for queues
wrote vague responses. A few candidates using real-world analogies (e.g., stack
overlooked this part altogether, while others of plates, ticket queues).
incorrectly mentioned the principle ‘FIFO’ as − Teach the implementation of stacks,
queues, circular queues, and dequeues
an entity.
using arrays as a base.
− Emphasise the role of logical pointers
such as front, rear, or top to simulate the
behaviour of these data structures
accurately.
− Lay emphasis on the conceptual
structure and flow of data within these
models.
− Encourage students to understand the
logical architecture of how data is
managed in constrained environments
(e.g., fixed size, no dynamic resizing).
− Give sufficient practice on stacks and
queues along with its applications and
uses.
29
2025 ISC- Computer Science
Question 10 [5]
A superclass Flight has been defined to store the details of a flight. Define a subclass
Passenger to calculate the fare for a passenger.
The details of the members of both the classes are given below:
Assume that the super class Flight has been defined. Using the concepts of Inheritance,
specify the class Passenger giving the details of constructor(…),void cal( ) and void show(
).
The super class, main function and algorithm need NOT be written.
30
2025 ISC- Computer Science
MARKING SCHEME
class Passenger extends Flight
{
String id, name;
double tax,tot;
Passenger(String a,String b,String c,double d,String i,String n)
{ super(a,b,c,d);
id=i;
name=n;
tax=0.0;
tot=0.0;
}
void cal()
{ tax= 5.0/100 * basefare;
tot= tax + basefare;
}
void show()
{ [Link]();
[Link]("ID: "+id);
[Link]("NAME: "+name);
[Link]("TAX: "+tax);
[Link]("TOTAL AMOUNT: "+tot);
}
}
31
2025 ISC- Computer Science
Comments of Examiners
The following errors were commonly observed: Suggestions for teachers
− Lack of clarity in the concept of inheritance.
− Omission or misuse of essential keywords − Provide extensive practice on writing
such as extends (for defining the subclass) programs involving inheritance,
and super (for accessing superclass members covering both single and multilevel
inheritance examples.
or constructors).
− Explain the purpose and correct use of
− Difficulty in handling constructors in the
the extends keyword (to establish
context of inheritance, particularly failing to inheritance) and the super keyword (to
invoke the superclass constructor using access superclass constructors and
super(). members in detail through code
− Inadequate understanding of how a derived demonstrations.
class accesses members of its superclass, − Reinforce the concept of invoking base
especially methods and data members. class constructors using super()
− Unnecessary re-declaration or redefinition of especially in cases involving
the base class, even when it was already parameterized constructors.
provided or implied in the question. − Highlight the different visibility modes
− Improper declaration of data members, (private, protected, and public) along
with how they affect the accessibility of
leading to incomplete or functionally
members in subclasses.
incorrect programs.
− Teach how to call methods of the
− Failure to invoke the show() method from the
superclass to the students from the
superclass within the subclass. subclass using the appropriate syntax
− Submission of only algorithms or pseudocode and logic.
instead of a fully functional program. − Remind students to carefully read and
interpret the question, especially when
the base class is already provided and
does not need to be re-declared.
− Discuss at least one complete program to
explain the concept of inheritance
(extend keywords), and method
overriding.
32
2025 ISC- Computer Science
Question 11
(i) A linked list is formed from the objects of the class Cell. The class structure of the [2]
Cell is given below:
class Cell
{
char m;
Cell right;
}
Write an Algorithm OR a Method to print the sum of the ASCII values of the lower
case alphabets present in the linked list.
The method declaration is as follows:
void lowercase (Cell str)
(ii) Answer the following questions based on the Binary Tree given below:
(b) State the depth of the entire binary tree and depth of node E. [1]
(c) Name the external nodes of the left subtree and internal nodes of the right [1]
subtree.
33
2025 ISC- Computer Science
MARKING SCHEME
(i) ALGORITHM:
Step 1. Start
Step 2. Set temporary pointer to the first node.
Step 3. Repeat steps 4 and 5 until the pointer reaches null.
Step 4. Check for lowercase, if found, add ASCII value to sum.
Step 5. Move pointer to the next node.
Step 6: Display sum
Step 7. End
OR
METHOD:
void lowercase(Cell str)
{ int sum=0;
Cell C = str;
while(C !=null)
{
if([Link](C.m)= = true) OR (C.m>=’a’&&C.m<=’z’)
OR (C.m>=97&&C.m<=122)
sum+=C.m ;
C=[Link];
}
[Link](sum);
}
34
2025 ISC- Computer Science
Comments of Examiners
(i) The question was well answered by most of Suggestions for teachers
the candidates, with many scoring full credit.
Several candidates wrote the algorithm in − Provide rigorous practice of various
simple English and covered all the main steps methods and algorithms involving linked
lists and binary tree data structures, as
effectively, others missed creating a
these are foundational topics in data
temporary pointer. However, some structure programming.
candidates had difficulty in moving the − Emphasise on the use of diagrams to
pointer to the next node and in checking for visually illustrate how linked lists and
the null condition. Additionally, in some binary trees are structured and
responses, the loop construct was missing, manipulated for the conceptual clarity.
leading to incomplete or incorrect logic flow. − Lay stress on the use of temporary
(ii) (a) Most candidates answered this part of the pointers, the importance of checking for
question correctly. However, a few null conditions, and the correct way of
common mistakes were observed: moving the pointer to the next node
− Some candidates wrote traversal orders during transversal or insertion.
other than in-order, indicating − Highlight the key concepts related to
confusion between different types of binary trees- such as root, height, depth,
size, degree, siblings internal and external
tree traversals.
nodes, levels, and tree traversals and
− Some performed the in-order traversal
explain it using illustrative binary tree
for the entire tree instead of focusing diagrams.
only on the right sub-tree, as required.
− A few responses contained minor
placement errors, where one or two nodes were incorrectly positioned in the traversal
sequence.
(b) The subpart was well answered by most of the candidates. Some candidates considered the
level of the root as 1, which is acceptable and consistent with certain conventions, and they
answered the question correctly based on that assumption.
(c) Most of the candidates answered this subpart correctly. However, a few candidates included
the root of the right sub-tree in their answer, which was not required as per the question.
35
2025 ISC- Computer Science
GENERAL COMMENTS
• Propositional statements for proving Converse and
Contrapositive.
• Assertion and Reasoning type of questions.
• Complexity and computing O(P) and O(PQ).
• Output using recursive function.
• Identifying the missing statements/expressions.
Topics found • K-MAPS (grouping, redundant groups, map-rolling, place
value)
difficult by • Drawing logic gate diagram using NAND gates and NOR
candidates gates.
• Recursive technique.
• Invoking methods in another method (nested methods).
• Passing objects to functions.
• Circular Queue operations for push() and remove()
operations.
• Depth of a binary tree and depth of a particular node
36
2025 ISC- Computer Science
37