Computer Science
Computer Science
ANALYSIS OF PUPIL
PERFORMANCE
COMPUTER SCIENCE
MISSION STATEMENT
ETHOS OF CISCE
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.
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.
ii
COMPUTER SCIENCE
PART I – 20 MARKS
Answer all questions.
Question 1
(i) According to the Principle of duality, the Boolean equation [1]
(A + Bꞌ) • (A + 1) = A + Bꞌ will be equivalent to:
(b) (A • Bꞌ) + (A • 0) = A • Bꞌ
(ii) When a sequence of OR, NOT, NOR are connected in series, the logic gate obtained [1]
is:
(a) AND
(b) NOT
(c) OR
(d) XOR
(a) X+X=X
(b) X + Xꞌ = 0
(c) X+X=1
(d) X + Xꞌ= X
(a) Both Assertion and Reason are true, and Reason is the correct explanation for
the Assertion.
(b) Both Assertion and Reason are true, but Reason is not the correct explanation
for the Assertion.
(c) Assertion is true but Reason is false.
1
2024 ISC- Computer Science
(c) (Pꞌ + Q) • (R + Sꞌ)
(vi) Assertion: Recursive data structure follows the LIFO principle. [1]
Reason: Execution of recursive code follows the concepts of data structure
Queue.
(a) Both Assertion and Reason are true, and Reason is the correct explanation for
the Assertion.
(b) Both Assertion and Reason are true, but Reason is not the correct explanation
for the Assertion.
(c) Assertion is true but Reason is false.
(ix) Write the canonical SOP expression for F (A, B) = A <=> B [1]
(x) State any one difference between instance variable and class variable. [1]
2
2024 ISC- Computer Science
Comments of Examiners
(i) Many candidates were confused about the Suggestions for teachers
concepts of complement and dual, and − Teach the difference between
hence could not correctly state the complement and dual with sufficient
principle of duality. Some candidates examples.
changed the complements, while a few − Conduct regular practice sessions to
were confused by the nearly identical reduce incidences of error.
options provided in the question. − Advise students to write down all the
(ii) Most of the candidates answered it as XOR laws as small handouts in one sheet of
because they failed to understand the paper along with the names and discuss
concept of series. Some candidates used a the same in class.
single input for the OR and NOR gates and − Advise students to do rough work before
answered incorrectly. giving final answer for better accuracy.
(iii) Many candidates answered this question − Explain the concept of parallel and series
and how to derive the basic gates using
correctly. However, a few candidates opted
universal gates (NAND, NOR).
for incorrect option.
− Conduct frequent practice session to
(iv) Most of the candidates chose the incorrect draw logic circuit diagrams from
option due to confusion in converse and different expression and vice versa.
inverse. − Teach all the properties and their laws,
(v) Some of the candidates could answer this along with their respective names.
question correctly. However, most of them − Explain all the terminologies like
were confused between dual and converse, inverse, contrapositive with
complement of Boolean expression. suitable examples.
(vi) Many candidates found the term ‘recursive − Provide worksheets to clarify concepts
data structure’ confusing; consequently, on different terminologies.
most of them could not relate the data − Give adequate practice of finding the
structure to recursion. compliment of Boolean expression to
(vii) Most of the candidates were confused make them understand the application of
DeMorgan’s law.
between the definition of Java and uses of
− Explain the difference between principle
interface in Java. Many of them wrote the
of duality and DeMorgan’s theorem and
definition of Java while the question simultaneously give practice of both kind
pertained to ‘use of interface’ in Java. of sums to avoid confusion.
(viii) Most of the candidates answered this − Teach the data structures (Stack, Queue)
question correctly. However, some and its working principle (LIFO,FIFO)
candidates were unsure about the and also relate the same with recursive
difference between cardinal and canonical data structures.
form and failed to answer appropriately. − Emphasise on the fact that while
(ix) Most of the candidates answered this explaining recursive functions stack
question correctly. A few candidates were operations are used.
confused between conditional => and − Train students to read each statement
biconditional form. independently to figure out the correct
(x) Some candidates answered this question answer for assertion and reasoning type
questions.
correctly, while others gave a vague
− Familiarize students with basic
explanation of the difference between
programming along with interfaces to
class/static variables and instance/non- help them understand how many
static variables. interfaces can be implemented by one
class.
− Explain maxterm and minterm in detail
and provide adequate practice to obtain
minterm and maxterms and to convert in
cardinal form.
3
2024 ISC- Computer Science
MARKING SCHEME
Question 1
(i) (b) or (A • Bꞌ) + ( A • 0 ) = A • Bꞌ
(ii) (c) or OR
(iii) (a) or X + X = X
(viii) 010 = M 2
(x) Instance variable maintains different copies of values of every object whereas class variable
maintains single copy of a value across all objects of a particular class.
Instance variable is referred with object name whereas class variable is referred with class
name.
4
2024 ISC- Computer Science
Question 2
(i) Convert the following infix notation to postfix form. [2]
(P+Q⁕R ̶ S)/T⁕U
(ii) An array ARR [ −5 …..15, 10…..20 ] stores elements in Row Major Wise with each [2]
element requiring 2 bytes of storage. Find the address of ARR [10] [15] when the
base address is 2500.
(iii) The following function is a part of some class:
int jolly(int[ ] x, int n, int m)
{
if (n < 0)
return m;
else if(n<x.length)
m = (x[n] > m)? x[n] : m;
return jolly(x, --n, m);
}
(a) What will be the output of jolly( ) when the value of x[ ]={6,3,4,7,1} , [2]
n=4 and m=0?
(b) What function does jolly( ) perform, apart from recursion? [1]
(iv) The following function is a part of some class which is used to find the smallest digit
present in a number. There are some places in the code marked by ?1?, ?2?, ?3?
which must be replaced by an expression / a statement so that the function works
correctly.
int small_dig(int n)
{ int min = ?1? ;
while (n != 0)
{
int q=n/10;
int r = ?2? * 10;
min = r > min ? ?3? : r;
n=q;
}
return min;
}
(a) What is the expression or statement at ?1? [1]
5
2024 ISC- Computer Science
Comments of Examiners
(i) Many candidates were able to solve this Suggestions for teachers
problem correctly. However, some of the − Elaborately explain the basic concepts of
candidates wrote the answer but did not show infix, prefix, and postfix notations.
the working while some other candidates − Explain the operator’s precedence
applied postfix correctly but could not derive rule/priority of operators, and concept of
the final answer due to wrong operator left-to-right while evaluating an
precedence. A few candidates did not follow expression along with the stack method.
the left to right concept. − Give adequate practice to the students to
(ii) Some candidates applied the wrong formula solve ample number of problems
for address calculation. A few candidates did involving conversion of Infix to Postfix
not replace the values for different terms in notation and Infix to Prefix notation, the
the formula correctly and made mistakes in order of precedence and the Polish Stack
method.
calculation.
− Introduce the memory map concept to the
(iii)(a)Some of the candidates did wrong working students before teaching the formula so
and hence got the answer as 0 or 6 which that significance of each term become
was incorrect. Some of them incorrectly clear to everyone.
changed the function parameters during − Provide practice of placing the values for
recursive call. Many candidates were each variable more logically and
unclear with the concept of stack and thus correctly and explain the same to the
they could not answer correctly. students.
(b) Since this was an interrelated question and − Discuss in detail how stack concept is
as many of the candidates got the first part used while executing recursive methods.
of the question incorrect even the second − Give sufficient practice to find the
part was answered incorrectly. Many of the output/return value of recursive methods
candidates did the working correctly but with proper working.
did not mention about the correct output. − Familiarize students with dry run of each
code so that they understand the logic
(iv) (a)Some of the candidates answered correctly.
clearly.
Candidates who gave incorrect answers
− Provide sufficient practice of such
considered Min as 0 or -1. questions along with practical classes.
(b) Only a few candidates answered this − Conduct quiz session for solving these
question correctly. Most of the candidates types of questions so that students
made mistakes in this option as here the become alert about giving the correct
remainder was not found out in usual way. answer.
(c)A few candidates answered correctly as ‘?’ − Give sufficient practice of fill in the
operator was not clear for many of them. blank’s questions with different possible
answers for any option.
− Facilitate practical execution of these
type of program so that students can test
different options for a particular blank.
6
2024 ISC- Computer Science
MARKING SCHEME
Question 2
(i) Infix to Postfix : ((( ( (P+( Q * R) )-S )) / T) * U )
= ((( ( (P + QR* )- S ))/ T) * U )
= ((( (PQR*+- S ))/ T) * U )
= (((PQR*+S-)/T)* U)
= ((PQR*+S-T/)* U)
= (PQR*+S-T/U*)
Ans: PQR*+S-T/U*
(ii) B=2500 W=2
n= Uc-Lc+1 = 20-10+1=11
I=10 J=15
L r =-5 L c =10
(b) jolly( ) is checking and returning the largest number from the array using recursive
technique.
(iv)
(a) ?1? = 9 ?1 ?= n
7
2024 ISC- Computer Science
PART II – 50 MARKS
Answer six questions in this part, choosing two questions from
Section A, two from Section B and two from Section C.
SECTION - A
Answer any two questions.
Question 3
(i) To be recruited as the Principal in a renowned College, a candidate must satisfy any [5]
one of the following criteria:
● The candidate must be a Postgraduate and should either possess a B.Ed.
degree or a teaching experience of more than 15 years.
OR
● The candidate must be an employee of the same college with a teaching
experience of more than 15 years.
OR
● The candidate must be a Postgraduate but not an employee of the same
college and should have a teaching experience of more than 15 years.
The inputs are:
INPUTS
P Candidate is a Postgraduate
(In all the above cases, 1 indicates yes and 0 indicates no)
Output: X - Denotes eligibility of a candidate [1 indicates eligibility and
0 indicates ineligibility in all cases]
Draw the truth table for the inputs and outputs given above and write the SOP
expression for X (P, S, E, B).
(ii) Reduce the above expression X (P, S, E, B) by using 4-variable Karnaugh map, [5]
showing the various groups (i.e., octal, quads and pairs).
Draw the logic gate diagram for the reduced expression. Assume that the variables
and their complements are available as inputs.
8
2024 ISC- Computer Science
Comments of Examiners
(i) Some candidates mentioned conditions that Suggestions for teachers
were not properly identified. Few candidates − Provide adequate and regular practice
failed to properly implement it in the truth for similar sums.
table and mixed up the SOP and POS format. − Give practice by framing questions in
(ii) Some of the common errors made by most different twisted forms for various
of the candidates were as follows: conditions.
● Pair taken instead of quad − Explain the drawing of K map and how
● Redundant group included in expression the cardinal numbers are placed in
● Headings interchanged different boxes for both SOP and POS
● Incorrect map drawing mostly map to the students.
complement changed incorrectly − Discuss when octet, quad or pair is to be
● Taking POS instead of SOP formed with sufficient example.
● In logic circuit drawing mistake was − Give sufficient practice on K map along
with showing students how to identify
negligible but few interchanged AND
redundant group and eliminate them.
and OR gate.
− Explain how to draw logic circuit using
both fundamental and universal gates
along with sufficient practice.
MARKING SCHEME
Question 3
(i)
P S E B X (OUTPUT)
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 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
9
2024 ISC- Computer Science
(ii)
X(P,S,E,B) = ∑(6, 7, 9, 10, 11, 13, 14, 15)
0 1 3 2
P’S’ 0 0 0 0
4 5 7 6
P’S 0 0 1 1
12 13 15 14
PS 0 1 1 1
8 9 11 10
PS’ 0 1 1 1
Hence X (P, S, E, B) = SE + PE + PB
S SE
E
X
P PE
E
P PB
B
10
2024 ISC- Computer Science
Question 4
(i) (a) Reduce the Boolean function F (A,B,C,D) = π (0, 2, 4, 6, 8, 9, 10, 11, 14) [4]
by using 4-variable Karnaugh map, showing the various groups
(i.e., octal, quads and pairs).
(b) Draw the logic gate diagram for the reduced expression. Assume that the [1]
variables and their complements are available as inputs.
(ii) Verify if the following proposition is a Tautology, Contradiction or a Contingency, [3]
using a truth table.
( ( A => B ) ˄ ( B => C ) ) => ( A => C )
(iii) Find the complement of the following expression and reduce it by using Boolean [2]
laws.
P • ( P + Q ) • Q • ( Q + Rꞌ )
Comments of Examiners
(i) (a) Some of the common errors made by most
of the candidates were as follows- Suggestions for teachers
● Pair taken instead of quad because − Explain the drawing of K map and how
map rolling concept not clear the cardinal numbers are placed in
● Redundant group included in final different boxes for both SOP and POS
expression map to the students.
● Heading’s interchanged − Discuss when octet, quad or pair is to be
● Complement changed incorrectly formed with sufficient example.
● Taking SOP instead of POS − Give sufficient practice on K map along
(b) Only a few candidates could answer with showing students how to identify
redundant group and eliminate them.
correctly, as most of the candidates had
− Explain how to draw logic circuit using
incorrect reduced forms of the cases,
both fundamental and universal gates
which led to incorrect circuits. Some along with sufficient practice.
candidates also occasionally replaced − Explain terminologies such as tautology,
AND gates with OR gates and vice versa. contingency, and contradiction with
(ii) A number of candidates could answer this proper examples. Also, provide a
question correctly. The common errors made revision of these terms using worksheets.
by most of the candidates were as follows- − Advise students to read the questions
● Inputs are in correct carefully
● Some of the intermediate columns are − Provide sufficient practice to reduce
not correct Boolean expression using laws and
● As a result, the final column was not finding complement using De Morgan’s
correct so the conclusion was not Law.
correct
● Sometime final column was correct
but conclusion was not written
(iii)Some candidates answered this question correctly. Few of the candidates minimized the
expression correctly that is got P.Q but missed the complement part. Some of them used the
wrong De Morgan’s Law and other Boolean laws leading to wrong result. Few candidates also
made other calculation mistakes like leaving out or adding a complement to a literal and thus
getting wrong answers.
11
2024 ISC- Computer Science
MARKING SCHEME
Question 4
(i) (a) F(A, B,C,D) = π(0, 2, 4, 6, 8, 9, 10, 11, 14)
0 1 3 2
A+B 0 1 1 0
4 5 7 6
A+B' 0 1 1 0
12 13 15 14
A'+B' 1 1 1 0
8 9 11 10
A'+B 0 0 0 0
FF
C'
C’ F
DD
A'
A’
BB
12
2024 ISC- Computer Science
(ii)
A B C A→B B→C A→C (A→B)^(B→C) ((A→B)^(B→C))→(A→C)
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 1 0 1 0 1 0 1
0 1 1 1 1 1 1 1
1 0 0 0 1 0 0 1
1 0 1 0 1 1 0 1
1 1 0 1 0 0 0 1
1 1 1 1 1 1 1 1
Question 5
(i) How is a decoder different from a multiplexer? Draw the logic circuit for 3:8 decoder [5]
(Octal decoder). Which multiplexer can be derived from the Octal decoder?
(ii) Draw the logic gate diagram for 2-input OR gate using NAND gates only. Show the [3]
expression at each step.
(iii) Write the canonical form of the cardinal terms, m 3 and M 5 for F (A, B, C, D). [2]
Comments of Examiners
(i) Many candidates were able to answer this Suggestions for teachers
question correctly. A few candidates
overlooked the first part of the question that − Instruct students to utilize the reading
is difference between decoder and time and revise his/her paper to avoid
such mistakes.
multiplexer or the third part that is which
− Explain to the students that the decoder is
multiplexer can be derived from an Octal
extended to a multiplexer. Introduce this
decoder. Some of them used OR gate instead concept using the logic diagram.
of AND gate in Decoder circuit. Few − Clearly explain terminologies like 3x8
candidates also drew the wrong 8X1 MUX decoder means 3 input and 8 output to the
circuit by adding extra selection lines or students.
drawing 8x1 MUX circuit and interchanged − Clarify uses for each application along
MSB and LSB. with their differences.
(ii) Few candidates answered this question − Discuss in detail the drawing of logic
correctly. Many of them unclear with the circuit and derivation of fundamental
concepts and about how to convert OR gate gates using universal gates.
− Provide sufficient practice to the students
with NAND gate. Also, most of them did not so that they do not make any mistake
use the NAND gates for the initial two inputs while attempting this type of question.
and they considered the inputs as
complement.
13
2024 ISC- Computer Science
(iii)Most of the candidates were confused as they
were unclear about what canonical form is. Suggestions for teachers
Some of the common errors made by most of
− Explain in detail and clearly the
them were -
difference between the cardinal form and
● Using three variables instead of 4 like the canonical form.
writing m 3 as A’.B.C or B’.C. D and M 5 − Explain the conversion of canonical to
as A’+B+C’ or B’+C+D’ cardinal form and vice versa for 2, 3 and
● Interchanging 0 and 1 and like writing m 3 4 variable expressions in detail.
as A.B.C.’D’ and M 5 as A’+B+C’+D − Give sufficient practice for conversion of
● Not clear what canonical form is and one form to another.
writing m 3 as 0011 and M 5 as 0101 − Discuss in detail the drawing of logic
circuit and derivation of fundamental
gates using universal gates.
MARKING SCHEME
Question 5
(i) A decoder is a combinational circuit which inputs ‘n’ lines and outputs 2n or fewer lines.
It converts LLL to HLL eg. binary to octal, decimal and hexa decimal.
A multiplexer is a combinational circuit which converts parallel data into one single data.
Logic circuit of a 3:8 decoder
A A''
A+B
B B''
14
2024 ISC- Computer Science
SECTION – B
Answer any two questions.
[10]
Question 6
Design a class DeciHex to accept a positive integer in decimal number system from the user
and display its hexadecimal equivalent.
Example 1: Decimal number = 25 Hexadecimal equivalent = 19
Example 2: Decimal number = 28 Hexadecimal equivalent = 1C
Some of the members of the class are given below.
Specify the class DeciHex giving details of the constructor( ), void getNum( ),
void convert(int) and void display( ). Define a main( ) function to create an object and
call all the functions accordingly to enable the task.
15
2024 ISC- Computer Science
Comments of Examiners
Some of the common error made by most of the Suggestions for teachers
candidates were - − Provide more practice of solving
● Loop used instead of recursion or a programs using recursive techniques.
combination of both written. − Ensure that students understand recursion
● Digits A-F not handled properly during and its techniques with examples.
conversion. − Provide more practice on base cases and
● Incorrect coding in recursive case like recursive cases for every program using
change(n/2) or change(n%16) etc the recursive technique.
● Concatenation of the hexadecimal digits − Provide sufficient practice in invoking
done incorrectly functions within other functions, with
● return keyword used when the method is emphasis on the point that constructors
of type void are invoked automatically and cannot
return any value.
● In void display() :
MARKING SCHEME
Question 6
class DeciHex
{ char a[ ]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int num;
String hexa;
public DeciHex()
{ num=0;
hexa="";
}
public void getNum()
{ Scanner sc=new Scanner(System.in);
System.out.println("Enter a positive integer:");
num=sc.nextInt();
}
public void convert(int n)
public char a[ ]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
{ if(n>0)
{ int b=n%16;
convert(n/16);
hexa = hexa +a[b];
}
}
Alternative of
void convert(int n)
{
16
2024 ISC- Computer Science
if (n>0)
{
int b=n%16;
if (b>9)
hexa=(char)(b+55)+hexa;
else
hexa=b+hexa;
convert(n/16);
}
[10]
Question 7
A class InsSort contains an array of integers which sorts the elements in a particular order.
Some of the members of the class are given below.
Class name : InsSort
Data members/instance variables:
arr[ ] : stores the array elements
size : stores the number of elements in the
array
Methods / Member functions:
InsSort(int s) : constructor to initialise size = s
void getArray( ) : accepts the array elements
void insertionSort( ) : sorts the elements of the array in
descending order using the
Insertion Sort technique
double find( ) : calculates and returns the average of all
the odd numbers in the array
void display( ) : displays the elements of the array in a
sorted order along with the average of
all the odd numbers in the array by
invoking the function find( ) with an
appropriate message
17
2024 ISC- Computer Science
Specify the class InsSort giving details of the constructor( ), void getArray( ),
void insertionSort( ), double find( ) and void display( ). Define a main( ) function to
create an object and call all the functions accordingly to enable the task.
Comments of Examiners
Suggestions for teachers
The common error made by most of the
candidates were - − Clarify that class description must
● In class description extra variables taken
include writing the class name, member
data and method names correctly.
● Comment lines or variable description not
Provide sufficient writing practice of
written. programs using class and methods, so
● In constructor array size not defined or that they do not miss out on this basic
incorrect syntax used like thing.
arr[]=new int[size] where a[] is already − Train students to write answer according
defined as member data. to the marks allotted to each question and
● In void getarray() also instruct that they should write at
least 3 to 4 comment line.
− Scanner class not used
− Explain in detail initializing member data
− Loop missing during input and defining array size with sufficient
examples.
− Index i missing in array like − Discuss in detail proper declaration of
a[]=sc.nextInt(); scanner class and use of correct methods
● In void insertion sort () : to input data of single and double
dimensional array and give sufficient
− Bubble Sort or Selection sort algorithm
practice of input to them.
written
− Explain all sorting bubble, selection,
− Array sorted in ascending order insertion algorithm in detail with
sufficient practice.
− Outer loop starting with − Teach the common array codes like sum,
for(i=0;i<size;i++) instead of i=1 average, maximum, minimum of
− In inner loop pos>=0 written later numbers from an array and explain the
difference between void type methods
which may lead to out of bound
and methods with return type.
exception
− Discuss in detail with sufficient examples
● In double find() :
how to create an objects and call methods
− Count of odd numbers not done and using objects.
average calculated as sum/arr.length
− Average calculation done inside loop
− Value not returned
● In main()
− object not created or incorrect syntax
− wrong method calling like ob.void getarray() etc
MARKING SCHEME
Question 7
import java.util.*;
class InsSort
{ int arr[], int size;
static Scanner sc = new Scanner(System.in);
public InsSort(int s)
{ size = s;
arr=new int[size];
18
2024 ISC- Computer Science
}
public void getArray()
{ System.out.println("Enter the array elements:");
for(int i=0;i<size;i++)
arr[i] = sc.nextInt();
}
public void insertionSort()
{ int j,k;
for (int i=1;i<size;i++)
{ k = arr[i];
j=i-1;
while (j>=0 && arr[j]<k)
{ arr[j+1]= arr[j] ;
j=j-1 ; }
arr[j+1]=k ;
}}
public double find()
{ int sum=0,count=0;
for (int i=0;i<size;i++)
{ if(arr[i]%2==1)
{ sum=sum+ arr[i];
count++;
}
}
double avg=(double)sum/count;
return avg;
}
public void display()
{ System.out.println("Sorted array:");
for(int i=0;i<size;i++)
System.out.println(arr[i]);
System.out.println("Average of all odd numbers in the array ="+find());
}
public static void main()
{ System.out.println("Enter the number of elements in the array:");
int s=sc.nextInt();
InsSort is = new InsSort(s);
is.getArray();
is.insertionSort();
is.display();
}
}
19
2024 ISC- Computer Science
Question 8 [10]
Design a class Coding to perform some string related operations on a word containing
alphabets only.
Example: Input: “Java”
Output: Original word: Java
J = 74
a = 97
v = 118
a = 97
Lowest ASCII code: 74
Highest ASCII code: 118
Some of the members of the class are given below.
Class name : Coding
Data members/instance variables:
wrd : stores the word
len : stores the length of the word
Methods / Member functions:
Coding( ) : constructor to initialise the data
members with legal initial values
void accept( ) : to accept a word
void find( ) : to display all the characters of ‘wrd’
along with their ASCII codes. Also
display the lowest ASCII code and the
highest ASCII code, in ‘wrd’
void show( ) : to display the original word and all the
characters of ‘wrd’ along with their
ASCII codes. Also display the lowest
ASCII code and the highest ASCII
code in ‘wrd’, by invoking the function
find( )
Specify the class Coding giving details of the constructor( ), void accept( ), void find( )
and void show( ). Define a main( ) function to create an object and call all the functions
accordingly to enable the task.
20
2024 ISC- Computer Science
Comments of Examiners
Several candidates answered this question Suggestions for teachers
correctly while some of the candidates made the − Explain the concept of string and
following few common errors: characters within the string and equip
● used additional instance variables which were them with sufficient knowledge of
not in accordance with the question. constructors to initialize a string and
● a few candidates did not define the other data members.
constructor as required and did not find the − Give adequate practice to the students
length of the word. about how to extract characters from
● some candidates got confused in extracting words, words from sentences and
sentences from paragraphs.
characters and obtaining their ASCII codes
− Explain frequently used string function
from the word, thus, wrote vague program
such as, length( ), charAt(int),
code in ‘find( )’ function. indexOf(char), lastIndexOf(char),
● a few candidates did not write the correct substring(n), substring(n, m), equals( ),
statement to invoke ‘find( )’ function within toUpperCase( ), toLowerCase( ), etc. and
the ‘show( )’ function. revise each and every string function
● in ‘find( )’ function, some candidates did not along with appropriate example and their
assume the smallest ASCII code, so couldn’t outputs.
find the character with smallest ASCII code − Explain students with different
and lost the marks. methods/logic to give them wider
● mistake in defining ‘find( )’. They used exposure to string related programs.
complex logic such as, sorting, etc. and got − Explain the concept of return, and how to
confused at the end. return data and how to invoke return type
function within other function to the
● Few candidates did not do the object creation
students.
and method calling properly in the main()
− Teach thoroughly the concept of instance
function. Even, some did not write the main() variables and their accessibility and
method. instruct students that they should not use
● documentation/comments were missing in any extra variable along with given
few cases. instance variable. However, they can take
local variables.
− Teach students the concept of characters
and their ASCII codes by using explicit
type casting. Also, explain the
conversion of a string to characters and
concatenate them to form string.
− Ensure practice with variety of programs
string and related programs based on
character extraction, finding ASCII,
forming word from characters, extracting
substring, check for vowels, consonants,
uppercase and lowercase letters,
concatenating string, sorting character of
a word, and sorting string array, etc.
− Ensure that the students learn how to
define the functions and how to call them.
21
2024 ISC- Computer Science
MARKING SCHEME
Question 8
import java.util.*;
public class Coding
{ String wrd;
int len;
public Coding ()
{ wrd="";
len=0;
}
public void accept()
{ Scanner sc=new Scanner(System.in);
System.out.println("Input a word:");
wrd=sc.next();
}
public void find()
{ len=wrd.length();
char hc=wrd.charAt(0), lc=wrd.charAt(0);
for(int i=0;i<len;i++)
{ char ch=wrd.charAt(i);
System.out.println("ASCII code "+ch+" = "+(int)ch);
if(ch<lc)
lc=ch;
if(ch>hc)
hc=ch;
}
System.out.println("\nLowest ASCII code = "+(int)lc);
System.out.println("Highest ASCII code = "+(int)hc);
}
public void show()
{ System.out.println("Original word= "+wrd+"\n");
find();
}
public static void main()
{ Coding cd=new Coding ();
cd.accept();
cd.show();
}
}
22
2024 ISC- Computer Science
SECTION – C
Answer any two questions.
Question 9
CardGame is a game of mental skill, built on the simple premise of adding and removing
the cards from the top of the card pile.
The details of the class CardGame are given below.
(i) Specify the class CardGame giving details of the functions void addCard(int) and [4]
int drawCard( ). Assume that the other functions have been defined.
The main( ) function and algorithm need NOT be written.
(ii) Name the entity described above and state its principle. [1]
23
2024 ISC- Computer Science
Comments of Examiners
(i) Most of the candidates answered this Suggestions for teachers
question correctly. However, some − Emphasise that with the initial value of
candidates made mistakes while mentioning top as -1 or top as 0 the if statement will
the if statement in void add card (int v) and change.
void drawcard () function. − Explain this practically and train them
(ii) This part of the question was answered well to execute these types of programs on
by most of the candidates. However, some their own by differing the initial value
candidates did not write ‘LIFO’ as the of the data members as well as for
principle of stack but the name of the entity different type of array.
as ‘stack’ was answered correctly by many − Give adequate explanation of data
candidates structures (stack, queue, dequeue and
circular queue) along with ‘LIFO’ or
‘FILO’ as the principle of stack and
‘FIFO’ as the principle of queue.
− Explain these concepts using real world
examples.
MARKING SCHEME
Question 9
(i) public void addCard(int v)
{ if (top==(cap -1))
System.out.println("Card pile IS FULL");
else
cards[++top]=v;
}
public int drawCard()
{ if(top>0)
return (cards[top--]);
else
return -9999 ;
}
(ii) The entity is data structure stack, and it works on the principle of LIFO/FILO.
24
2024 ISC- Computer Science
Question 10 [5]
A super class EmpSal has been defined to store the details of an employee. Define a subclass
Overtime to compute the total salary of the employee, after adding the overtime amount
based on the following criteria.
● If hours are more than 40, then ₹ 5000 are added to salary as an overtime amount
● If hours are between 30 and 40 (both inclusive), then ₹ 3000 are added to salary as
an overtime amount
● If hours are less than 30, then the salary remains unchanged
The details of the members of both the classes are given below.
Class name : EmpSal
Data members/instance
variables:
empnum : to store the name of the employee
Data members/instance
variables:
hours : integer to store overtime in hours
Assume that the super class EmpSal has been defined. Using the concept of inheritance,
specify the class Overtime giving the details of the constructor (...), void calSal( ) and void
show( ).
The super class, main function and algorithm need NOT be written.
25
2024 ISC- Computer Science
Comments of Examiners
Some of the common errors made by the Suggestions for teachers
candidates were - − Explain the concept and importance of
● Key word extends missing in derived class ‘extends’ keyword in inheritance.
declaration − Explain the concept of constructor
● Super class constructor not called or called inheritance and the use of ‘super’
after initializing derived class variables in keyword with and without parameters to
derived class constructor inherit the constructor of base class
● If condition written incorrectly by few like within the sub-class.
a) > interchanged with < − Explain clearly that the ‘super’ keyword
b) 30> salary <40 must always be the ‘first statement’
c) salary>=30 || salary<=40 within the constructor of sub-class.
● Super class variables not printed − Clarify the concept of ‘function
overriding’ and use of super keyword to
● Few candidates wrote only the code base
call the method of base class within the
class which did not carry any marks. method of sub-class.
− Explain to students the different visibility
modes and their accessing capabilities.
− Illustrate the above concepts with the
help of examples and programs.
− Discuss at least one complete program
along with super/base class and
derived/sub-class to explain the concept
of inheritance (extends keyword),
constructor inheritance, and method
overriding.
MARKING SCHEME
Question 10
class Overtime extends EmpSal
{ int hours; double totsal;
public Overtime(String n, int c, double s, int h)
{ super(n,c,s);
hours=h;
totsal=0;
}
void calcSal()
{ if(hours>40)
totsal = salary + 5000;
else if(hours>30 && hours<=40)
totsal = salary + 3000;
else
totsal = salary;
}
public void show()
{ super.show();
System.out.println("Hours= "+hours);
System.out.println("Total Salary= "+totsal);
}
}
26
2024 ISC- Computer Science
Question 11
(i) With the help of an example, briefly explain the dominant term in complexity. [2]
(ii) Answer the following questions based on the diagram of a Binary Tree given below:
E H
M L G
F I C
(c) Write the post-order traversal of the above tree structure. [1]
Comments of Examiners
(i) Most of the candidates were unclear with the Suggestions for teachers
concept of dominant term and gave vague
explanation. A few of them confused worst − Explain clearly what complexity is, best,
case complexity with dominant term. worst and average case complexity, role of
(ii) (a) Some candidates wrote extra nodes dominant term and constant in complexity
whereas few of them left out one or two Big O notation and its calculation.
Leaf nodes. − Clearly explain the concept of root, leaf,
height, level, internal nodes, order, degree
(b) This subpart was answered well by most etc. of a binary tree giving by giving
of the candidates. A few errors found sufficient examples.
were: − Explain the concept of root, height, depth,
● some candidates wrote the nodes size, degree, siblings, internal nodes,
(node values) instead of degree in external nodes (leaf nodes), path, edge,
numbers. levels, etc., using a binary tree diagram.
● A few candidates drew diagrams of − Explain students the tree traversals (pre-
that component of the binary tree order, in-order, and post-order) with the
which was not required. help of the Binary tree diagram.
(c) Majority of the candidates answered this − Give adequate number of questions to
question correctly. practice
27
2024 ISC- Computer Science
MARKING SCHEME
Question 11
(i) for(int i=1 ; i<n ; i++)
{
for(int j=1 ; j<n ; j++)
{
……….
}
}
for(int k=1 ; k<n ; k++)
{
……….
}
Complexity = O(n2) + O(n)
In the above code example, O(n2) is the dominant term while calculating the complexity.
28
2024 ISC- Computer Science
GENERAL COMMENTS
Topics found difficult by candidates
29
2024 ISC- Computer Science
30