0% found this document useful (0 votes)
622 views35 pages

Analysis of Pupil Performance: Computer Science

ISC Analysis of pupil performance 2021

Uploaded by

Walnut
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)
622 views35 pages

Analysis of Pupil Performance: Computer Science

ISC Analysis of pupil performance 2021

Uploaded by

Walnut
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
You are on page 1/ 35

ISC

{{{{}}

Analysis of Pupil
Performance
COMPUTER
SCIENCE

Research Development and Consultancy Division


Council for the Indian School Certificate Examinations
New Delhi
Year 2020

Published by:
Research Development and Consultancy Division (RDCD)
Council for the Indian School Certificate Examinations
Pragati House, 3rd Floor
47-48, Nehru Place
New Delhi-110019

Tel: (011) 26413820/26411706


E-mail: [email protected]

© 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.
FOREWORD

This document of the Analysis of Pupils’ Performance at the ISC Year 12 and ICSE Year 10
Examination is one of its kind. It has grown and evolved over the years to provide feedback to
schools in terms of the strengths and weaknesses of the candidates in handling the examinations.

We commend the work of Mrs. Shilpi Gupta (Deputy Head) and the Research Development and
Consultancy Division (RDCD) of the Council who have painstakingly prepared this analysis. We
are grateful to the examiners who have contributed through their comments on the performance of
the candidates under examination as well as for their suggestions to teachers and students for the
effective transaction of the syllabus.

We hope the schools will find this document useful. We invite comments from schools on its
utility and quality.

Gerry Arathoon
November 2020 Chief Executive & Secretary

i
PREFACE
PREFACE

The CISCE has been involved in the preparation of the ICSE and ISC Analysis of Pupil Performance
documents since the year 1994. Over these years, these documents have facilitated 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 www.cisce.org.

The documents for the ICSE and ISC Examination Year 2020 include a detailed qualitative analysis
of the performance of students in different subjects. The purpose of this analysis is to provide insights
into how candidates have performed in individual questions set in the question paper. This 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 Comments of Examiners
on the common errors made by candidates along with Suggestions for Teachers to rectify/ reduce
these errors. The Marking Scheme for each question has also been provided to help teachers
understand the criteria used for marking. Topics in the question paper that were generally found to
be difficult or confusing by candidates, have also been listed down, along with general suggestions
for candidates on how to prepare for the examination/ perform better in the examination.

The Analysis of Pupil Performance document for ICSE for the Examination Year 2020 covers the
following subjects/papers: English (English Language, Literature in English), History and Civics,
Mathematics, Physics, Chemistry, Commercial Studies and Environmental Science.
Subjects covered in the ISC Analysis of Pupil Performance document for the Year 2020 include
English (English Language and Literature in English), Hindi, Physics, Chemistry, Mathematics,
Computer Science, History, Political Science, Economics, Commerce, Accounts, and Environmental
Science.

I would like to acknowledge the contribution of all the ICSE and the ISC examiners who have been
an integral part of this exercise, whose valuable inputs have helped put this document together.

I would also like to thank the RDCD team of Dr. M.K. Gandhi, Dr. Manika Sharma, Mrs. Roshni
George and Ms. Mansi Guleria, who have done a commendable job in preparing this document.

We hope that this document will enable teachers to guide their students more effectively and
comprehensively so that students prepare for the ICSE/ ISC Examinations, with a better
understanding of what is required from them.

Shilpi Gupta
November 2020 Deputy Head - RDCD

ii
CONTENTS

Page No.

FOREWORD i

PREFACE ii

QUALITATIVE ANALYSIS: COMPUTER SCIENCE 1


PART I (20 Marks)
Answer all questions

Question 1
(a) State the properties of zero in Boolean algebra. [1]
(b) Find the complement of the following Boolean expression using De Morgan’s law: [1]
F(P,Q,R) = P + (Q′ • R)
(c) Find the dual of: (A′ + 0) • (B′ + 1) = A′ [1]
(d) State whether the following proposition is a tautology, contradiction or a contingency: [1]
F = (P => Q) V (Q => ~P)
(e) Study the diagram given below and answer the questions that follow: [1]

A•
X

B•

(i) Name the basic gate which is represented by the diagram.


(ii) What will be the value of X when A=1 and B=0 ?

Comments of Examiners Suggestions for Teachers


(a) Most of the candidates answered well. Some could  Practice all laws / properties of
state only one property. In some cases, the Boolean algebra and prove them
properties of zero was explained in statements. with the help of the truth table.
The law written by a few of candidates had 0 Advise students on writing all the
however, it was not the expected law. properties and laws with their
respective names.
(b) This part was well answered by most candidates.
 Teach students how to find the
However, some wrote the direct answer without
complement of an expression using
showing the working. A few modified the
De Morgan’s law. This law is very
expression and then applied De Morgan’s law.
useful in reducing / minimizing /
Some candidates forgot to change the sign or
simplifying a Boolean expression.
complements in the expression while applying the
Instruct students to not simplify
De Morgan's Law. Candidates seemed to be
the complemented expression.
confused between Principle of Duality and De
Morgan’s law. In the final expression the bracket
was missing in a few cases.

1
(c) Majority of the candidates answered this question  De Morgan's Law and its
correctly; nonetheless a few candidates made the application should be explained in
following errors: detail.
• The compliments were changed and the 0’s and  Teach the principal of duality to
1’s were not interchanged. show that there exists another
equation in every Boolean
• Only the definition was given. equation. Clarify the difference
• Found the dual of LHS and RHS separately between complement and duality
instead of one single equation. with examples.
• Wrote the compliment instead of Dual or wrote  Advise students to practice all the
the principle of duality. laws of Boolean algebra and
Propositional logic.
(d) This part was well answered by most of the  Emphasise the importance of
candidates. However, a few got confused by the proving of all the laws.
symbols ~, Λ, V and =>. In some cases, candidates  Explain the use of the symbols Λ, V,
used the truth table for 3 variables instead of 2 ~, => and <=> in a proposition.
variables. Also a few wrote one column (=>)  Give more practice in the concept
incorrectly, and hence got the wrong answer. Some of a tautology,
candidates proved using law instead of the Truth contingency or contradiction.
Table. A few forgot to mention the proposition Teach Truth tables for conditional
being a tautology. (=>) and bi-conditional
(e) This part was answered correctly by most (<=>) thoroughly. Consistent
candidates. Some got confused with the name of practice on Implication and
the basic gate. They wrote NOR gate as given in Equivalence Law is a must.
the diagram and not its representation. Some used  Give sufficient practice on how to
the truth table to put the values and state the output. simplify logic diagrams, especially
using universal gates. Illustrate the
working of an AND, OR and a NOT
gate using the universal gates
(NAND and NOR).
 Teach Truth tables for all the gates
thoroughly in class.

MARKING SCHEME
Question 1
(a) Properties of zero: A + 0 = A and A • 0 = 0

(b) F(P,Q,R) = P + (Q' • R)


= ( P + (Q’ • R) )’
= P’ • (Q’ • R )’
= P’ • ( Q + R’)

(c) Find the dual of : (A’ + 0) • (B’ + 1) = A’


Dual = A’•1 + B’• 0 = A’

2
(d) F = (P=>Q) V (Q=> ~P)
P Q ~P P=>Q Q=> ~P (P=>Q) V (Q=> ~P)
0 0 1 1 1 1
0 1 1 1 1 1
1 0 0 0 1 1
1 1 0 1 0 1

(using laws ) : (P’ + Q) + (Q’ + P’) = 1 ( as Q + Q’ = 1)


Hence, it is a TAUTOLOGY

(e) (i) OR gate

(ii) 1

Question 2
(a) State the difference between a Binary Tree structure and a single Linked List. [2]
(b) A matrix B[10][20] is stored in the memory with each element requiring 2 bytes of [2]
storage. If the base address at B[2][1] is 2140, find the address of B[5][4] when the
matrix is stored in Column Major Wise.
(c) Convert the following infix notation to prefix form: [2]
(X + Y) / (Z * W / V)
(d) State the best case and the worst case complexity for bubble sort algorithm. [2]
(e) What is the significance of the keyword ‘new’ in Java? Mention the areas where it is [2]
used.

Comments of Examiners Suggestions for Teachers


(a) This part was well answered by most candidates.  Elaborate on the basic concepts of
However, a few errors were made such as, vague Java along with the programs in
differences between a binary tree structure and a class. Emphasise that the
single linked list were given, gave only the definitions / differences should be
examples/diagrams without the definition or vice- precise and also supported by
versa. examples wherever possible. The
concept of data structures such as,
(b) Several candidates gave correct answers. Some
stacks, queues, link lists, and binary
wrote the answer directly without showing the
trees should be made clear.
working/formula. A few made calculation
 Give more practice in calculating
mistakes, while some solved using Row major
addresses using Row major wise
method instead of Column major method.
and Column major wise. Clarify the
In some cases, the values were not substituted

3
properly in the formula. The base address was not different terms used in address
clear to some of the candidates, they assumed it to calculations.
be b[0][0] by default.  Explain diagrammatically the
difference in accessing the elements
(c) Most candidates were able to solve this problem
in Row Major and Column major
correctly. However, some candidates wrote the
arrangement. Give students
correct answer without showing the working.
different types of problems instead
Some applied the prefix concept correctly but,
of direct application of the formula.
could not derive the final answer due to wrong
 Different questions with examples
operator precedence. BODMAS was followed in a
need to be practiced with regard to
few cases, but the concept of left-to-right was not
conversion of Infix to prefix and
followed. A few candidates converted the
postfix notation, the order of
expression to postfix notation instead of prefix
precedence and also the Polish
notation.
Stack method. Teach Precedence
(d) This part was answered well by many candidates. rule/ order of operators to students.
However, some only gave examples to illustrate Clarify the difference between
their answers. Some drew graphs to illustrate the Postfix and Prefix to students.
best case and worst case complexities of bubble  Explain with examples all the three
sort. A few candidates wrote the definitions of cases of complexities with their
both best case and worst case complexity, however factor that influence it. Explain the
failed to represent both cases in big-O notation. various programs where
complexity differs, example: loops,
(e) Most of the candidates wrote correct definitions /
nested loops, conditional,
examples to this question. Some gave vague
recursion, etc. Teach students the
answers not related to the topic. A few wrote the
best case and worst case for the
syntax of the keyword ‘new’ as significance. They
entire standard algorithm and how
were familiar with the use of the new operator in
to calculate the complexity of any
declaring array or creating an object but were not
given code. Give students code
able to write the significance of the keyword ‘new’
snippets to calculate complexity.
in Java.
 Revise class XI syllabus in class
XII. Basic concepts of Java must be
elaborated along with their
programs. Teach the exact use of
the keyword ‘new’. Explain to
students that definitions should be
precise and supported with
examples,if possible.

4
MARKING SCHEME
Question 2
(a) Binary Tree: A data structure in which each node has at most two sub nodes/children (left
& right) Linked list: A linear collection of data elements whose order is not given by their
physical placement in memory. Instead, each element points to the next. It is a data structure
consisting of a collection of nodes which together represent a sequence.

(b) Column Major Wise: B[i][j] = BA + W [ (j – l c )* row + (i – l r ]


Putting the values: = 2140 + 2[ (4-1) * 10 + (5-2)]
= 2140 + 2[ 33 ]
= 2140 + 66
= 2206

(c) Infix to Prefix : (X + Y) / (Z * W / V)


= +XY / ( * Z W / V )
= +XY / /*ZWV
= /+XY/*ZWV
= /+XY/*ZWV

(d) O(n): Best case for bubble sort algorithm.


O(n2 ): Worst case for bubble sort algorithm.

(e) ‘new’ is a dynamic memory allocation operator, which is used to allot memory to non-
primitive data types (example: class, array etc.).
Areas of use: To declare an object, to declare an array.

[5]
Question 3
The following function check( ) is a part of some class. What will the function check( )
return when the value of (i) n=25 and (ii) n=10. Show the dry run/ working.
int check(int n)
{ if(n<=1)
return 1;
if( n%2==0)
return 1 + check(n/2);
else
return 1 + check(n/2 + 1);
}

5
Comments of Examiners Suggestions for Teachers
This question was answered correctly by almost all the  Give sufficient practice on
candidates. However, in a few cases, the concept of programs using recursion /
recursion was not clear. Some were unable to accumulate conditions / looping and other
the result along with the recursive calling. In some cases, output related programs. Advise
the intermediate result was returned with each recursive students to show the dry run/
call. Most of the students could do the dry run well but working of program and
made mistakes in returning the right answer as the final emphasize that working is
step. A few candidates showed the working but were necessary.
unable to calculate the final sum. Some wrote the  Give more emphasis on Standard
output directly without showing the working / steps and programs especially recursive
ended up losing marks. In some cases, vague workings / programs. Practice should be
outputs were given. given on writing base case,
recursive case, and showing the
working at each step of the
program code. Use Memory
blocks / tables to show the concept
of a stack working for recursive
programs.

MARKING SCHEME
Question 3
(i) check( 25 ) (ii) check( 10 )
1+ check(12+1) 1+ check( 5 )
1+ check(6+1) 1+ check(2+1)
1+ check(3+1) 1+ check(1+1)
1+ check(2) 1+ check(1)
1+ check(1) 1
1
Final output: (i) 1+1+1+1+1+1 = 6 (ii) 1+1+1+1+1 = 5

6
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 4
(a) Given the Boolean function: F(A, B, C, D) = Ʃ (0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13,14).
(i) Reduce the above expression by using 4-variable Karnaugh map, showing the [4]
various groups (i.e. octal, quads and pairs).
(ii) Draw the logic gate diagram for the reduced expression. Assume that the [1]
variables and their complements are available as inputs.
(b) Given the Boolean function: F(A, B, C, D) = π ( 3, 4, 6, 9, 11, 12, 13, 14, 15 ).
(i) Reduce the above expression by using 4-variable Karnaugh map, showing the [4]
various groups (i.e. octal, quads and pairs).
(ii) Draw the logic gate diagram for the reduced expression. Assume that the [1]
variables and their complements are available as inputs.

Comments of Examiners Suggestions for Teachers


(a) (i) Most candidates managed to fare well in this  Show students how to reduce SOP
part. Some candidates were not able to draw and POS expressions using K-Map
the K-Map for the SOP expression correctly. simultaneously.
Group identification was improper in some  Instruct students to not include the
cases. “Map rolling” concept was not clear to redundant group in the final
a few candidates. In some cases, redundant expression.
groups were also included in the final  Practice should be given in
expression which was not required. Some drew drawing the K-Map, filling the K-
the POS K-Map instead of SOP, while some Map with 0’s and 1’s, marking the
filled the K-map with 0’s instead of groups and reducing the groups.
1’s. A few candidates made mistakes in  Practice of Gray’s coding in
labelling the Karnaugh's map, due to which Binary number system along with
they got the final answer wrong. the labelling of rows and columns
must be given in class.
(ii) Most of the candidates gave correct answers.
 Teach students how to draw logic
A few, however, drew the logic circuit using
circuits using basic gates (AND,
universal gates (NAND/NOR), while some
OR, NOT) / universal gates
drew vague diagrams with different shapes
(NAND, NOR).
instead of basic gates. Labelling and flow lines
were not shown in some cases.

7
(b) (i) Most candidates answered this question  While teaching, highlight the
correctly. Some candidates made errors in arranging of variables in proper
place value and putting of variables in order and the importance of cell
K-Map or drew it incorrectly. In some cases, values corresponding with the
groups were reduced by laws or group variables.
identification was done incorrectly. Some  A clear explanation how a group is
candidates included the redundant group in the framed and reduced should be
final expression. Some candidates drew the given to students.
SOP K-Map instead of POS.  Clarify the difference between
POS and SOP using examples.
(ii) This part was answered well by most
candidates. However, a few errors were
committed which were the same as given in
subpart (a) (ii).

MARKING SCHEME
Question 4
(a)(i)

There are two octets and one quads:


Octet1 (m 0 +m 1 +m 2 +m 3 +m 8 +m 9 +m 10 +m 11 ) =B′
Octet2 (m 0 +m 1 +m 4 +m 5 +m 8 +m 9 +m 12 +m 13 ) = C′
Quad (m 8 +m 10 +m 12 +m 14 ) = AD’
Hence F (A, B, C, D) = B’ + C’ + AD’

8
(ii)

(b) (i)

C+D C+D’ C’+D’ C’+D


0 1 3 2
A+B 1 1 0 1

4 5 7 6
A+B’ 0 1 1 0

12 13 15 14
A’+B’ 0 0 0 0

8 9 11 10
A’+B 1 0 0 1

There are two quads and one pair:


Quad 1 : ( M 4 M 6 M 12 M 14 ) = B’ + D
Quad 2 : ( M 9 M 11 M 13 M 15 ) = A’ + D’
Pair : ( M 3 M 11 ) = B + C’ + D’
Hence F(A, B, C, D) = ( B’ + D ) • ( A’ + D’ ) • ( B + C’ + D’ )

(ii)

9
Question 5
(a) Draw the logic circuit diagram for an octal to binary encoder and explain its working [5]
when a particular digit is pressed. Also, state the difference between encoders and
decoders.
(b) Draw the circuit of a two input XOR gate with the help of NOR gates. [3]
(c) Convert the following expression to its cardinal SOP form: [2]
F(P,Q,R) = P′Q′R + P′QR + PQ′R′ + PQR′

Comments of Examiners Suggestions for Teachers


(a) Most of the candidates managed to fare well in this  Give sufficient Practice in drawing
question. The logic diagram was well answered. the encoders along with its
However, a few candidates committed errors, such expression, truth table and logic
as: drew the decimal encoder instead of octal circuit / diagram.
encoder, wrote the difference of encoder in place  Ensure that students know the
of decoder and vise-versa, used the AND gate circuit diagram, truth table,
instead of OR gate in the circuit diagram. In expression, definition, and their
some cases, the working / explanation was not uses for all applications of Boolean
shown. Some candidates wrote the definitions of algebra, i.e. Half adder, Full adder,
encoders and decoders separately to illustrate their Encoders, Decoders, etc. The
difference while a few stated their respective uses. purpose and working of the gates
Some candidates drew four OR gates instead of for the said applications and the
three. In a few answers, the connection of lines to application of encoder and decoder
the OR gate were incorrect according to the values must be discussed in class. All
of input. workings should be explained for
each and every combinational
(b) This part was answered well by most candidates.
circuit along with examples.
In a few cases, it was evident that candidates got
 Highlight the universality of gates
confused using NOR gates in drawing circuits,
(NAND as basic gates and NOR as
they drew the expanded circuit instead of the
basic gates) in class. The
simplified circuit. In some cases, an extra NOR
corresponding expressions using
gate was drawn which resulted in the wrong
the universal gates (i.e. SOP
output. After deriving the basic expression of XOR
expression with NAND and POS
gate, some candidates could not get the right
expression with NOR) must be
equivalent diagram using NOR gate.
taught to students. Teach students
(c) Most candidates gave correct answers. Some how to achieve basic gates from the
however, used the truth table to decode the universal gates.
cardinal values of the minterms, while others used  Give adequate Practice to convert
the binary values directly. From a few answers, it canonical form of expression to its
was evident that candidates were not aware of the cardinal form and vice-versa.
cardinal SOP form. Some gave vague answers  Explain Minterms and maxterms in
despite the correct working. detail.

10
 Teach students to fraw the truth
table and to write the SOP and POS
expression from truth table. Train
students to convert Cardinal
expression to Canonical expression
and vice-versa.

MARKING SCHEME
Question 5
(a) Circuit diagram of a octal to binary encoder:

Working: It converts High Level to Low Level. Example: If input is (5) 8 the output will be
(101) 2 , i.e. binary value of 5 and so on. To convert the output signal to 1, a trigger is applied
to the required gate otherwise it remains 0 as default.
An encoder is a combinational circuit which inputs 2n or fewer lines and outputs ‘n’ lines.
It converts HLL to LLL e.g. octal, decimal and hexadecimal to binary
A decoder is a combinational circuit which inputs ‘n’ lines and outputs 2n or fewer lines.
It converts LLL to HLL e.g. binary to octal, decimal and hexadecimal.

(b) XOR gate using only NOR gates: Expression for XOR in POS : F = (A’+B’) • (A+B)

(c) F(P,Q,R) = P’Q’R + P’QR + PQ’R’ + PQR’


= 001 011 100 110
F(P,Q,R) = ∑( 1,3,4,6 )

11
Question 6
(a) A company intends to develop a device to show the high-status power load for a [5]
household invertor depending on the criteria given below:
• If Air conditioner and Geyser are on
OR
• If Air conditioner is off, but Geyser and Refrigerator are on
OR
• If Geyser is off, but Air conditioner and Water purifier are on
OR
• When all are on
The inputs are:
INPUTS
A Air conditioner is on
G Geyser is on
R Refrigerator is on
W Water purifier is on
(In all the above cases 1 indicates yes and 0 indicates no.)
Output: X [1 indicates high power, 0 indicates low power for all cases]
Draw the truth table for the inputs and outputs given above and write the SOP
expression for X(A,G,R,W).
(b) Draw the truth table and derive an SOP expression for sum and carry for a full adder. [3]
Also, draw the logic circuit for the carry of a full adder.
(c) Simplify the following expression using Boolean laws: [2]
F = [ (X′ + Y) • (Y′ + Z) ]′ + (X′ + Z)

Comments of Examiners Suggestions for Teachers


(a) A number of candidates answered this part well.  Give regular practice of Truth table
However, some failed to mention the final with 4 input variables i.e. 16
expression. A few got confused with the SOP/POS combinations. Explain
expression and interchanged 0’s and 1’s and vice- Propositional logic to find the
versa. Some candidates reduced the expression criteria for the output. Advise
using K-Map which was not required. students to write the final
expression in either Canonical or
(b) Most of the candidates answered this question
Cardinal form for both SOP and
well. A few errors were seen such as, the truth table
POS expressions. Teach students to
and expression was drawn for a ‘half adder’ in
derive POS or SOP expression
place of a ‘full adder’, the logic circuits for both
from the truth table.
sum and carry were drawn, instead of the required
carry expression. the block diagram was drawn

12
instead of logic circuit. Some candidates were not  Clarify the difference between Half
able to derive the expression from the truth table Adder and Full Adder and make
and ended up writing the final simplified them understand how to write the
expression. Sum and Carry were converted to an final expression for the circuit and
SOP expression and the circuits drawn draw the logic gate. Also, instruct
accordingly. students that a Full adder shows the
sum of three bits and a Half adder
(c) Majority of the candidates answered this part
shows the sum of only two bits.
correctly. In some cases, only the final answer was
 Reducing / simplifying expressions
given without showing the working/steps or
must be given more practice while
mentioning the laws. A few candidates wasted
ensuring the maximum laws are
time using very lengthy steps for simplifying. In a
covered. Instruct students to
few cases, the laws applied was incorrect while
mention laws along with their
some were not able to reduce the expression
workings. Practice must be given to
completely as they did not have a clear idea of
students on all the laws of Boolean
postulates and laws of Boolean algebra.
algebra and Propositional logic.

MARKING SCHEME
Question 6
(a) A G R W 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 0
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1

SOP Expression: X (A,G, R, W) = ∑ (6, 7, 9, 11, 12, 13, 14, 15) OR


X = A’GRW’ + A’GRW + AG’R’W + AG’RW + AGR’W’ + AGR’W +
AGRW’ + AGRW

13
(b) Truth Table for a Full adder:
A B C S C0
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

SOP Expression: Sum = A’B’C + A’BC’ + AB’C’ + ABC


∑ (1,2,4,7)
Carry = A’BC + AB’C + ABC’ +ABC
∑(3,5,6,7)
Circuit for carry: C 0 = AB + BC + AC

(c) Simplify :[(X’+Y)•(Y’+Z)]’ + (X’+Z)


= (X’+Y)’ + (Y’+Z)’ + (X’+Z)
= XY’ + YZ’ + X’ + Z
= X’ + XY’ + Z + YZ’
= (X’+X)•(X’+Y’)+(Y+Z)•(Z+Z’)
= X’+Y’+Z +Y
= 1 as ( Y + Y’ =1)

14
SECTION – B
Answer any two questions.
Question 7
Design a class Convert to find the date and the month from a given day number for a [10]
particular year.
Example: If day number is 64 and the year is 2020, then the corresponding date would
be:
March 4, 2020 i.e. (31 + 29 + 4 = 64)
Some of the members of the class are given below:
Classname : Convert
Data members/instance
variables:
n : integer to store the day number
d : integer to store the day of the month
(date)
m integer to store the month
y : integer to store the year
Methods/Member functions:
Convert ( ) : constructor to initialize the data
members with legal initial values
void accept( ) : to accept the day number and the year
void day_to_date( ) : converts the day number to its
corresponding date for a particular year
and stores the date in ‘d’ and the month
in ‘m’
void display( ) : displays the month name, date and year
Specify the class Convert giving details of the constructor( ),void accept( ), void
day_to_date( ) and voiddisplay( ). Define a main( ) function to create an object and call
the functions accordingly to enable the task.

Comments of Examiners Suggestions for Teachers


A number of candidates answered this question well.  Give more practice in class on
A few candidates used additional instance variables, which number logic and working with
is not in accordance with the question. Some of the numbers. Teach the concept of
candidates accepted all the instance variables (month storing data in an array and
name, date, day, and year) as inputs which was not accessing them using a loop. Give
required. Various methods/logic were used to convert the questions based on date logic, time
day number to date in the method day_to_date(). Most of logic, etc. to the students for

15
the candidates used a longer process to calculate the date regular practice. Teach them the
and have used ‘if-else if’ instead of array. Some did not order in which the function needs
include a leap year check in their program. A few to be called. Advise students to
candidates used a separate local string variable to store the read the question carefully and
month name. The format for display given in the question answer as directed. Explain the
was not used by some, instead they gave the output directly usage of arrays in storing certain
in the display() method. The other methods including the information, which makes the
object creation and method calling in the main( ) was implementation of logic very
answered corectly. Documentation/comments were simple and small.
missing in some cases.

MARKING SCHEME
Question 7
import java.util.*;
class Convert
{ int n,d,m,y;
Convert( )
{
n=0;
y=0;
}
void accept()
{
Scanner x=new Scanner(System.in) ;
System.out.println(("Enter day number and year") ;
n=x.nextInt() ;
y=x.nextInt() ;
}
void day_to_date()
{
int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(y%4==0)
a[2]=29;
int s=0, c=0;
while(s<n)
s=s+a[c++];
s=s-a[--c];
d=n-s;
m=c;
}
void display()
{ String x[]={"","JANUARY","FEBRUARY","MARCH","APRIL","MAY",
"JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER",

16
"NOVEMBER","DECEMBER"};
System.out.print("\n Day Number: " + n);
System.out.print("\n Date: " );
System.out.print(x[m]+" " +d + "," + y);
}
static void main()
{
Convert obj =new Convert();
obj.accept( ) ;
obj.day_to_date();
obj.display();
}
}

Question 8
Design a class BinSearch to search for a particular value in an array. [10]
Some of the members of the class are given below:
Classname : BinSearch
Data members/instance
variables:
arr[ ] : to store integer elements
n : integer to store the size of the array
Member functions/methods:
BinSearch(int nn ) : parameterized constructor to initialize
n=nn
void fillarray( ) : to enter elements in the array
void sort( ) : sorts the array elements in ascending
order using any standard sorting
technique
int bin_search(int l,int u,int v) : searches for the value ‘v’ using binary
search and recursive technique and
returns its location if found otherwise
returns -1
Define the class BinSearch giving details of the constructor( ), void fillarray( ), void
sort( ) and int bin_search(int,int,int). Define the main( ) function to create an object and
call the functions accordingly to enable the task.

17
Comments of Examiners Suggestions for Teachers
Most of the candidates managed to answer this question  Give adequate practice to solve
well. In some cases, additional instance variables were programs using recursive
used which is not in accordance with the question. A few techniques. Attention should be
candidates did not declare memory to the array using the paid by the teachers towards
‘new’ operator. The concept of recursion was not clear to recursion and its techniques with
some candidates. Also, the parameters in the method examples. Give knowledge of
bin_search() was not properly understood by a few. Some base case and recursive case to
candidates were unable to apply the sorting technique the students for every program
correctly. Recursive case was improper, and the return using recursive technique.
statement was missing in some answers. Some  Explain the difference between
candidates attempted the recursive method without using iteration and recursion.
the recursive technique and used iteration (loops) instead.  Give knowledge of instance
A few had problems in sort() method and used vague variables and their accessibility
techniques for sorting. The other methods including the in the class.
constructor were well answered by many. In some cases,  Advise students to read the
object creation and method calling was not done properly question and answer accordingly
in the main() function. A few did not write the main() what is required and not to apply
method. Documentation/comments were missing in their own logic which will change
some cases. the question requirement.
Calling the methods is another
area of concern, ensure that
students not only define methods
but also learn how to call these
methods.

MARKING SCHEME
Question 8
import java.util.*;
class BinSearch
{
int arr[];
int n;
static Scanner x=new Scanner(System.in);
BinSearch(int nn)
{
n=nn;
}
void fillarray()
{ arr=new int[n];
System.out.println("Enter "+n + " elements");
for(int i =0;i<n;i++)
arr[i]=x.nextInt();
}
18
void sort()
{
int t;
for(int i=0;i<n-1;i++)
for(int j =0;j<n-1-i;j++)
{ if (arr[j]>arr[j+1])
{ t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
int bin_search(int l,int u, int v )
{
int m=(l+u)/2;
if(arr[m]==v)
return m;
else if(l>u)
return -1;
else if (arr[m]>v)
return bin_search(l,m-1,v);
else
return bin_search(m+1,u,v);
}
static void main()
{
BinSearch obj = new BinSearch(5);
obj.fillarray();
obj.sort();
System.out.println(" location: " + obj.bin_search(0,4,20) );
}
}

Question 9
A class Mix has been defined to mix two words, character by character, in the following [10]
manner:
The first character of the first word is followed by the first character of the second word
and so on. If the words are of different length, the remaining characters of the longer word
are put at the end.
Example: If the First word is “JUMP” and the second word is “STROLL”, then the required
word will be “JSUTMRPOLL”

19
Some of the members of the class are given below:

Classname : Mix
Data member/instance variable:
wrd : to store a word
len : to store the length of the word
Member functions/methods:
Mix( ) : default constructor to initialize the data
members with legal initial values
void feedword( ) : to accept the word in UPPER case
void mix_word( Mix P, Mix Q : mixes the words of objects P and Q as
) stated above and stores the resultant
word in the current object
void display( ) : displays the word
Specify the class Mix giving the details of the constructor( ), void feedword( ), void
mix_word( Mix, Mix ) and void display( ). Define the main( ) function to create objects
and call the functions accordingly to enable the task.

Comments of Examiners Suggestions for Teachers


A number of candidates answered this question correctly.  Give more practice to students in
The constructor was properly defined in most of the cases. passing of objects to a function
Some candidates accepted the word and converted it into through parameters. Explain pass
upper case. Passing of objects was not done properly in a by value and pass by reference in
few cases. Different methods/logic were used to mix the detail with examples.
words in the two objects. Some candidates did not find the  Teach students how to extract
length of a word which was required for mixing letters and characters from words, words from
sentences and sentences from
form a new word. In some cases, object creation was
paragraphs.
incorrect in the main() method. Knowledge of multiple  Teach different methods /logic to
object creations was not clear in some cases. A few students so that wider exposure to
candidates created only one object instead of three in the string manipulation related
main( ). In some answers, calling the method mix_word() programs is gained.
was incomplete.  Give sufficient practice to students
on:
˗ How to create multiple objects and
call the functions with multiple
objects.
˗ Knowledge of constructors to
initialize a string and other data
members.
˗ Conversion of a string into
characters and concatenating of
strings.
20
MARKING SCHEME
Question 9
import java.util.*;
class Mix
{
String wrd;
int len;
static Scanner x=new Scanner(System.in);
Mix()
{
wrd="";
len=0;
}
void feedword()
{
System.out.println( "Enter a word in UPPER CASE");
wrd=x.next();
len=wrd.length();
}
void mix_word(Mix P,Mix Q)
{
int s=(P.len <Q.len)? P.len:Q.len;
for(int i=0;i<s;i++)
wrd += P.wrd.charAt(i)+""+Q.wrd.charAt(i);
if (P.len > Q.len)
wrd +=P.wrd.substring(Q.len);
else
wrd +=Q.wrd.substring(P.len);
}
void display()
{
System.out.println("WORD = " + wrd);
}
static void main()
{
Mix obj=new Mix();
Mix obj1=new Mix();
Mix obj2= new Mix();
obj.feedword();
obj1.feedword();
obj2.mix_word (obj,obj1);
obj2.display();
}
}

21
SECTION – C
Answer any two questions.

Question 10
A Circular queue is a linear data structure which works on the principle of FIFO, enables the
user to enter data from the rear end and remove data from the front end with the rear end
connected to the front end to form a circular pattern. Define a class CirQueue with the following
details:
Class name : CirQueue
Data member/instance variable:
cq[ ] : array to store the integers
cap : stores the maximum capacity of the array
front : to point the index of the front end
rear : to point the index of the rear end
Member functions/methods:
CirQueue (int max) : constructor to initialize the data member
cap=max, front=0 and rear=0
void push(int n) : to add integer in the queue from the rear
end if possible, otherwise display the
message “QUEUE IS FULL”
int pop( ) : removes and returns the integer from the
front end of the queue if any, else returns -
9999
void show( ) : displays the queue elements
(a) Specify the class CirQueue giving details of the functions void push(int) and int pop( ). [4]
Assume that the other functions have been defined.
The main function and algorithm need NOT be written.
(b) How is a linear queue structure different from a circular queue structure? [1]

Comments of Examiners Suggestions for Teachers


(a) The concept of circular queue was not clear to most  Give practice in data structure
candidates. Some wrote the code for queue instead programs like the stacks, queues,
of circular queue as asked in the question. circular queues, de-queues,
The common errors made by the candidates were: etc. regularly.
(i) the condition / logic for underflow and overflow  Emphasise the importance of
was not answered correctly (ii) increment / implementation of stacks,
decrement of front and rear index was not done

22
properly. Some candidates found the methods queues, circular queues, and de
push() and pop()to be difficult. A few left the queues using arrays.
program incomplete. In some cases, all the methods  Instruct students to show the
were attempted which was not as asked for. workings how the stack or queue
(b) This part was answered well by most of the performs. (examples can be
candidates. The difference between linear and supportive).
circular queue was not clear to some candidates and  Explain the concept of LIFO and
hence gave vague answers. Some candidates FIFO to the students with
illustrated their answers in diagrams. In some cases, examples related to real world.
the principles of LIFO and FIFO were mentioned as  Students should be made to
differences. understand that it is not an array
related program which can be
manipulated by shifting /
inserting or initializing by any
value since these data structures
require pointers and pointers are
not supported in java. Hence, the
array is used to show the
working of a stack, queue,
circular queue or a de-queue.
 Teach students about front and
rear pointer index in a queue and
top index in a stack with different
values. They must understand
the difference when the pointer
for front = rear = 0 and front =
rear = -1 for queues or top with
0 and top with -1 for stacks.
 Explain Stacks and Queues
(linear, circular and de queue) in
detail giving all its applications /
uses / differences. Give real
world examples to explain the
working of these entities.
Explain the purpose of %
operator in a circular queue to
students.

23
MARKING SCHEME
Question 10
(a) class CirQueue
{
void push(int v)
{ if( (rear+1)% cap !=front)
{ rear = (rear + 1)% cap ;
cq[rear] =v;
}
else
System.out.println(" QUEUE IS FULL");
}
int pop()
{ if (front != rear)
{ front = ( front + 1)% cap ;
return cq[front];
}
else
return -9999;
}
}

(b) In linear queue structure the front index is always less or equal to rear index, whereas in
Circular queue the front index may be greater than rear index.

Question 11
An interface Data is defined with a data member and a method volume( ) which returns the [5]
volume of the implementing shape. A super class Base has been defined to contain the radius
of a geometrical shape. Define a sub class CalVol which uses the properties of the interface
Data and the class Base and calculates the volume of a cylinder.
The details of the members of the interface and both the classes are given below:
Interface name : Data
Data member:

24
double pi : initialize pi = 3.142
Member functions/methods:
double volume( ) :
Class name: Base
Data member/instance variable:
rad : to store the radius in decimal
Member functions/methods:
Base(…) : parameterized constructor to initialize
the data member
void show( ) : displays the radius with an appropriate
message
Class name: CalVol
Data member/instance variable:
ht : to store the height in decimal
Member functions/methods:
CalVol(…) : parameterized constructor to initialize
the data members of both the classes
double volume( ) : calculates the volume of a sphere by
using the formula ( pi x radius2 x height )
void show( ) : displays the data members of both the
classes and the volume of the sphere with
appropriate message
Assume that the interface Data and the super class Base has been defined. Using the
concept of inheritance, specify the class CalVol giving the details of the constructor(…),
double volume( ) and void show( ).
The interface, super class, main function, and algorithm need NOT be written.

Comments of Examiners Suggestions for Teachers


Identical mistakes were made by the candidates as in  Give practice on inheritance to
previous years. Concept of Inheritance was not clear to some students.
candidates. The keywords ‘extends’, ‘implements’ and  Clarify the importance of
‘super’ were missing in a few cases. Constructor with keywords ‘extends’,
inheritance was not answered correctly. Accessing the ‘implements’ and ‘super’ in
members of the interface and the super class by the derived inheritance.
class was not clear to some candidates. A few candidates  Point out the concept of
declared the interface and base class also, which was not overriding in inheritance in
required. In some cases, an algorithm was written instead of class.
a program.  Explain clearly the use of
constructor of the base class.
25
 Explain to students the different
visibility modes and their
accessing capabilities.
 Calling members from the
interface and super class to the
derived class must be explained
clearly. Concept of overriding in
inheritance must be explained
with examples.

MARKING SCHEME
Question 11
class CalVol extends Base implements Data
{ double ht;
CalVol(double r, double h)
{ super(r);
ht=h;
}
public double volume()
{ double x=pi * rad *rad * ht;
return x;
}
void show()
{ super.show();
System.out.println("Height= " + ht);
System.out.println("Volume= " + volume());
}
}

Question 12
(a) A linked list is formed from the objects of the class Node. The class structure of the [2]
Node is given below:
class Node
{
int n;
Node next;
}
Write an Algorithm OR a Method to find the product of the integer numbers from an
existing linked list.

26
The method declaration is as follows:
void Product_Node( Node str )

(b) Answer the following questions from the diagram of a Binary Tree given below:
A

F C

G H B

I D E J

(i) Write the post-order traversal of the left subtree of the above structure. [1]
(ii) State the degree of the Nodes E and H. [1]
(iii) Mention the external nodes of the right subtree. [1]

Comments of Examiners Suggestions for Teachers


(a) This part was well attempted as most candidates  Have students practice methods /
scored full marks. However, a few candidates algorithms with link list and binary
had difficulty in moving the pointer to the next tree data structure. Make students
node and checking for null. Some candidates use diagrams to illustrate the link list
failed to create a temporary pointer. In some and the Binary Trees.
cases, the algorithm was written in simple  Give practice on temporary pointer,
English covering all the main steps. Initializing checking for null condition and
the accumulator was not correct in some of the moving pointer to the next node.
cases. In a few answers, the loop was missing.  Teach the algorithms to access
elements, edit elements and delete
(b) (i) This subpart was answered correctly by a
number of candidates. Some wrote the elements of link list with sufficient
post-order of the entire tree instead of the left examples. Explain the difference of
sub tree. In some cases, one or two nodes arrays and linked list to the students.
were incorrectly placed.  With the help of a binary tree
(ii) Only a few candidates managed to answer diagram explain root, height, depth,
this part correctly. Most of the candidates did size, degree, siblings, nodes (internal
not understand the term ‘degree’ and hence and external), levels, path, tree
gave vague answers. A few candidates gave
only one answer correct. traversals, sub tree, etc.
 Instruct students to read the question
(iii)This subpart was answered well by most
candidates. A few candidates failed to read carefully and answer accordingly.
the question carefully and ended writing the

27
external nodes of the entire tree instead of the
right sub tree.

MARKING SCHEME
Question 12
(a) 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. Display product, exit
Step 4. Accumulate the product by accessing each node
Step 5. Move pointer to the next node
Step 6. End algorithm

METHOD:
void Product_Node (Node str)
{
int s=1;
while (str!=null)
{ s=s*str.n;
str=str.next;
}
System.out.println(“Product=”+s);
}

(b) (i) GIDHF

(ii) Degree of E = 0 and Degree of H = 2

(iii) E and J

NOTE: For questions having more than one correct answer/solution, alternate correct
answers / solutions, apart from those given in the marking scheme, have also been accepted.

28
GENERAL COMMENTS

• Passing objects to functions


• Circular queue operations for push() and pop() operations
• Interfaces and its implementation using inheritance
Topics found
• Degree of a node in a binary tree
difficult/confusing
by candidates • Properties of zero
• Dual and Compliment of a Boolean expression
• Infix to prefix notation
• Output using recursion
• Circular queue
• Concept of inheritance with interface and super class
• Degree of a node in a Binary tree
• Properties of zero in Boolean algebra
• Conversion from infix notation to prefix notation
• Best case and worst case for bubble sort
• Output using recursive function
• K-MAPS (grouping, redundant groups, map-rolling, place value)
• Drawing XOR gate using NOR gate
• Recursive technique

29
• Apart from Textbook learning, surfing the net (Wikipedia, School net, etc.) and
other reliable resources would be helpful to gather knowledge on the latest
concepts and enhancements in programming. Proper definitions, output
programs, algorithms, etc. can be downloaded directly from the internet.
• Prepare a summary for each chapter or use high lighters to highlight the
Suggestions for important terms and definitions.
Students • Revise of the entire syllabus thoroughly.
• Relate everything taught in class with Real Life Environment examples which
helps in remembering / recall of the concepts learnt.
• Practical work on the computer is necessary on regular basis to understand the
syntax and to correct errors.
• Answers and definitions should be short and precise and according to the marks
allocated.
• Solve ISC previous years’ question papers.
• Underline/ Highlight Important words and terms.
• Show working at the side of each question, wherever required.
• Mention laws while reducing a Boolean Expression. Practice one form of
K-Map with proper place value for both SOP and POS.
• In programming documentation is compulsory and should be mentioned with
each program.
• Declare the class with data members and member functions.
• Expand or define each function according to the instructions given by the side
of each function.
• Do not memorise the program, try to understand the logic.
• Practice constructors with every program. Treat each function of a class as a
separate program.
• Do your preparations section-wise following the scope of the syllabus.

30

You might also like