You are on page 1of 5

COMPUTER SCIENCE (868)

CLASS XII

There will be two papers in the subject: Verify the laws of Boolean algebra using
Paper I: Theory……….. 3 hours….70 marks truth tables. Inputs, outputs for circuits like
half and full adders, majority circuit etc.,
Paper II: Practical…….. 3 hours….30 marks
SOP and POS representation; Maxterms &
PAPER I –THEORY – 70 MARKS Minterms, Canonical and Cardinal
representation, reduction using Karnaugh
SECTION A
maps and Boolean algebra.
1. Boolean Algebra
(a) Propositional logic, well formed formulae, 2. Computer Hardware
truth values and interpretation of well formed (a) Elementary logic gates (NOT, AND, OR,
formulae (wff), truth tables, satisfiable, NAND, NOR, XOR, XNOR) and their use in
unsatisfiable and valid formulae. Equivalence circuits.
laws and their use in simplifying wffs.
(b) Applications of Boolean algebra and logic
Propositional variables; the common logical gates to half adders, full adders, encoders,
connectives (~ (not)(negation), ∧ decoders, multiplexers, NAND, NOR as
(and)(conjunction), ∨ (or)(disjunction), ⇒ universal gates.
(implication), ⇔ (biconditional); definition
of a well-formed formula (wff); Show the correspondence between Boolean
`representation of simple word problems as methods and the corresponding switching
wff (this can be used for motivation); the circuits or gates. Show that NAND and NOR
values true and false; interpretation of a wff; gates are universal by converting some circuits
truth tables; satisfiable, unsatisfiable and to purely NAND or NOR gates.
valid formulae.
Equivalence laws: commutativity of ∧, ∨; SECTION B
associativity of ∧, ∨; distributivity; De The programming element in the syllabus (Sections B
Morgan’s laws; law of implication (p ⇒ q ≡ and C) is aimed at algorithmic problem solving and
~p ∨ q); law of biconditional ((p ⇔ q) ≡ not merely rote learning of Java syntax. The Java
(p ⇒ q) ∧ (q ⇒ p)); identity (p ≡ p); law of version used should be 5.0 or later. For programming,
negation (~ (~p) ≡ p); law of excluded the students can use any text editor and the javac and
middle (p ∨~p ≡ true); law of contradiction java programs or any other development
(p∧~p ≡ false); tautology and contingency environment: for example, BlueJ, Eclipse, NetBeans
simplification rules for ∧, ∨. Converse, etc. BlueJ is strongly recommended for its simplicity,
inverse and contra positive. Chain rule, ease of use and because it is very well suited for an
Modus ponens. ‘objects first’ approach.
(b) Binary valued quantities; basic postulates 3. Implementation of algorithms to solve
of Boolean algebra; operations AND, OR and problems
NOT; truth tables. The students are required to do lab assignments
(c) Basic theorems of Boolean algebra in the computer lab concurrently with the
(e.g. duality, idempotence, commutativity, lectures. Programming assignments should be
associativity, distributivity, operations with 0 done such that each major topic is covered in at
and 1, complements, absorption, involution); least one assignment. Assignment problems
De Morgan’s theorem and its applications; should be designed so that they are sufficiently
reducing Boolean expressions to sum of challenging. Students must do algorithm design,
products and product of sums forms; address correctness issues, implement and
execute the algorithm in Java and debug where
Karnaugh maps (up to four variables).
necessary.

1
Self explanatory. behaviour of primitive and object arguments.
Static method and variables. The this Operator.
Examples of algorithmic problem solving using
4. Programming in Java (Review of Class XI methods (number problems, finding roots of
Sections B and C) algebraic equations etc.).
Note that items 4 to 13 should be introduced 10. Arrays, Strings
almost simultaneously along with classes and
Structured data types – arrays (single and multi-
their definitions.
dimensional), address calculations, strings.
While reviewing, ensure that new higher order Example algorithms that use structured data types
problems are solved using these constructs. (e.g. searching, finding maximum/minimum,
sorting techniques, solving systems of linear
5. Objects
equations, substring, concatenation, length,
(a) Objects as data (attributes) + behaviour access to char in string, etc.).
(methods); object as an instance of a class.
Storing many data elements of the same type
Constructors.
requires structured data types – like arrays.
(b) Analysis of some real-world programming Access in arrays is constant time and does not
examples in terms of objects and classes. depend on the number of elements. Address
calculation (row major and column major),
(c) Basic input/output using Scanner and Printer
Sorting techniques (bubble, selection, insertion).
classes from JDK; input/output exceptions.
Structured data types can be defined by classes –
Tokens in an input stream, concept of
String. Introduce the Java library String class
whitespace, extracting tokens from an input
and the basic operations on strings (accessing
stream (String Tokenizer class).
individual characters, various substring
6. Primitive values, Wrapper classes, Types and operations, concatenation, replacement, index of
casting operations). The class StringBuffer should be
introduced for those applications that involve
Primitive values and types: byte, int, short, long,
heavy manipulation of strings.
float, double, boolean, char. Corresponding
wrapper classes for each primitive type. Class as 1. Recursion
type of the object. Class as mechanism for user
Concept of recursion, simple recursive methods
defined types. Changing types through user
(e.g. factorial, GCD, binary search, conversion of
defined casting and automatic type coercion for
representations of numbers between different
some primitive types.
bases).
7. Variables, Expressions
Many problems can be solved very elegantly by
Variables as names for values; named constants observing that the solution can be composed of
(final), expressions (arithmetic and logical) and solutions to ‘smaller’ versions of the same
their evaluation (operators, associativity, problem with the base version having a known
precedence). Assignment operation; difference simple solution. Recursion can be initially
between left hand side and right hand side of motivated by using recursive equations to define
assignment. certain methods. These definitions are fairly
obvious and are easy to understand. The
8. Statements, Scope
definitions can be directly converted to a
Statements; conditional (if, if else, if else if, program. Emphasize that any recursion must
switch case, ternary operator), looping (for, have a base case. Otherwise, the computation
while, do while, continue, break); grouping can go into an infinite loop.
statements in blocks, scope and visibility of
The tower of Hanoi is a very good example of
variables.
how recursion gives a very simple and elegant
9. Methods solution where as non-recursive solutions are
quite complex.
Methods (as abstractions for complex user
defined operations on objects), formal arguments
and actual arguments in methods; different

2
instructive to define them using the Java
interface construct).
(b) Single linked list (Algorithm and
programming), binary trees, tree traversals
SECTION C (Conceptual).
Inheritance, Interface, Polymorphism, Data The following should be covered for each
structures, Computational complexity data structure:
2. Inheritance, Interfaces and Polymorphism Linked List (single): insertion, deletion,
reversal, extracting an element or a sublist,
(a) Inheritance; super and derived classes; checking emptiness.
member access in derived classes;
redefinition of variables and methods in Binary trees: apart from the definition the
subclasses; abstract classes; class Object; following concepts should be covered: root,
protected visibility. Subclass polymorphism internal nodes, external nodes (leaves),
and dynamic binding. height (tree, node), depth (tree, node), level,
size, degree, siblings, sub tree,
Emphasize inheritance as a mechanism to completeness, balancing, traversals (pre,
reuse a class by extending it. Inheritance post and in-order).
should not normally be used just to reuse
some methods defined in a class but only 14. Complexity and Big O notation
when there is a genuine specialization (or Concrete computational complexity; concept of
subclass) relationship between objects of the input size; estimating complexity in terms of
super class and that of the derived class. methods; importance of dominant term;
(b) Interfaces in Java; implementing interfaces constants, best, average and worst case.
through a class; interfaces for user defined Big O notation for computational complexity;
implementation of behaviour. analysis of complexity of example algorithms
Motivation for interface: often when creating using the big O notation (e.g. Various searching
reusable classes some parts of the exact and sorting algorithms, algorithm for solution of
implementation can only be provided by the linear equations etc.).
final end user. For example, in a class that
sorts records of different types the exact PAPER II: PRACTICAL – 30 MARKS
comparison operation can only be provided This paper of three hours’ duration will be evaluated
by the end user. Since only he/she knows
by the Visiting Examiner appointed locally and
which field(s) will be used for doing the
comparison and whether sorting should be in approved by CISCE.
ascending or descending order be given by The paper shall consist of three programming
the user of the class. problems from which a candidate has to attempt any
Emphasize the difference between the Java one. The practical consists of the two parts:
language construct interface and the word 1. Planning Session
interface often used to describe the set of
method prototypes of a class. 2. Examination Session
13. Data structures The total time to be spent on the Planning session and
the Examination session is three hours.
(a) Basic data structures (stack, queue, circular A maximum of 90 minutes is permitted for the
queue, dequeue); implementation directly Planning session and 90 minutes for the Examination
through classes; definition through an session.
interface and multiple implementations by
implementing the interface. Conversion of Candidates are to be permitted to proceed to the
Infix to Prefix and Postfix notations. Examination Session only after the 90 minutes of
the Planning Session are over.
Basic algorithms and programs using the
Planning Session
above data structures.
Data structures should be defined as abstract
data types with a well-defined interface (it is

3
The candidates will be required to prepare an standard scheme such as a pseudo code.
algorithm and a hand written Java program to solve
the problem. EQUIPMENT
There should be enough computers to provide for a
teaching schedule where at least three-fourths of the
Examination Session
time available is used for programming.
The program handed in at the end of the Planning
session shall be returned to the candidates. The Schools should have equipment/platforms such that
candidates will be required to key-in and execute the all the software required for practical work runs
Java program on seen and unseen inputs individually properly, i.e. it should run at acceptable speeds.
on the Computer and show execution to the Visiting
Since hardware and software evolve and change very
Examiner. A printout of the program listing including
rapidly, the schools may have to upgrade them as
output results should be attached to the answer script
containing the algorithm and handwritten program. required.
This should be returned to the examiner. The Following are the recommended specifications as of
program should be sufficiently documented so that now:
the algorithm, representation and development
process is clear from reading the program. Large The Facilities:
differences between the planned program and the • A lecture cum demonstration room with a
printout will result in loss of marks. MULTIMEDIA PROJECTOR/ an LCD and
Teachers should maintain a record of all the O.H.P. attached to the computer.
assignments done as part of the practical work
through the year and give it due credit at the time of • A white board with white board markers should
cumulative evaluation at the end of the year. Students be available.
are expected to do a minimum of twenty-five • A fully equipped Computer Laboratory that
assignments for the year.
allows one computer per student.
EVALUATION: • Internet connection for accessing the World
Marks (out of a total of 30) should be distributed as Wide Web and email facility.
given below: • The computers should have a minimum of
Continuous Evaluation 1 GB RAM and a P IV or higher processor. The
Candidates will be required to submit a work file basic requirement is that it should run the
containing the practical work related to programming operating system and Java programming system
assignments done during the year. (Java compiler, Java runtime environment, Java
Programming assignments done 10 marks development environment) at acceptable speeds.
throughout the year (Internal • Good Quality printers.
Evaluation)
Programming assignments done 5 marks Software:
throughout the year (Visiting Examiner) • Any suitable Operating System can be used.
Terminal Evaluation
• JDK 6 or later.
Solution to programming problem on 15 Marks
the computer • Documentation for the JDK version being used.
• A suitable text editor. A development
Marks should be given for choice of algorithm and
environment with a debugger is preferred
implementation strategy, documentation, correct
(e.g. BlueJ, Eclipse, NetBeans). BlueJ is
output on known inputs mentioned in the question
recommended for its ease of use and simplicity.
paper, correct output for unknown inputs available
only to the examiner.
NOTE:
Algorithm should be expressed clearly using any

4
SAMPLE TABLE FOR PRACTICAL WORK
Assessment of Assessment of the Practical Examination TOTAL MARKS
Practical File (To be evaluated by the Visiting Examiner only) (Total Marks are to
Unique be added and
Identification Internal Visiting Algorithm Java Program with Hard Output entered by the
S. No.
Number (Unique Evaluation Examiner internal Copy Visiting Examiner)
ID) of the candidate 10 Marks 5 Marks Documentation (printout)
3 Marks 7 Marks 2 Marks 3 Marks 30 Marks

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Name of the Visiting Examiner:_________________________________


Signature: _______________________________
Date:___________________________________

You might also like