Computer Science
Computer Science
PAPER I (THEORY) – 70 Marks Verify the laws of Boolean algebra using truth tables.
SECTION A Inputs, outputs for circuits like half and full adders,
majority circuit etc., SOP and POS representation;
1. Boolean Algebra
Maxterms & Minterms, Canonical and Cardinal
(a) Propositional logic, well formed formulae, truth
representation, reduction using Karnaugh maps and
values and interpretation of well formed formulae
Boolean algebra.
(wff), truth tables, satisfiable, unsatisfiable and
valid formulae. Equivalence laws and their use in 2. Computer Hardware
simplifying wffs.
(a) Elementary logic gates (NOT, AND, OR, NAND,
Propositional variables; the common logical connectives
NOR, XOR, XNOR) and their use in circuits.
(~ (not)(negation), ∧ (and)(conjunction), ∨ (or)
(disjunction), ⇒ (implication), ⇔ (biconditional); (b) Applications of Boolean algebra and logic gates
definition of a well-formed formula (wff); `representation to half adders, full adders, encoders, decoders,
of simple word problems as wff (this can be used for multiplexers, NAND, NOR as universal gates.
motivation); the values true and false; interpretation Show the correspondence between Boolean methods and
of a wff; truth tables; satisfiable, unsatisfiable and valid the corresponding switching circuits or gates. Show that
formulae.
NAND and NOR gates are universal by converting
Equivalence laws: commutativity of ∧, ∨; associativity some circuits to purely NAND or NOR gates.
of ∧, ∨; distributivity; De Morgan’s laws; law of
SECTION B
implication (p ⇒ q ≡ ~p ∨ q); law of biconditional ((p
⇔ q) ≡ (p ⇒ q) ∧ (q ⇒ p)); identity (p ≡ p); law of The programming element in the syllabus (Sections B
negation (~ (~p) ≡ p); law of excluded middle (p ∨~p and C) is aimed at algorithmic problem solving and not
≡ true); law of contradiction (p∧~p ≡ false); tautology merely rote learning of Java syntax. The Java version used
and contingency simplification rules for ∧, ∨. Converse, should be 5.0 or later. For programming, the students can
inverse and contra positive. Chain rule, Modus ponens. use any text editor and the javac and java programs or
(b) Binary valued quantities; basic postulates of any other development environment: for example, BlueJ,
Boolean algebra; operations AND, OR and NOT; Eclipse, NetBeans etc. BlueJ is strongly recommended for
truth tables. its simplicity, ease of use and because it is very well suited
(c) Basic theorems of Boolean algebra (e.g. duality, for an ‘objects first’ approach.
idempotence, commutativity, associativity, 3. Implementation of algorithms to solve problems
distributivity, operations with 0 and 1, complements,
The students are required to do lab assignments in
absorption, involution); De Morgan’s theorem and
the computer lab concurrently with the lectures.
its applications; reducing Boolean expressions
Programming assignments should be done such that
to sum of products and product of sums forms;
Karnaugh maps (up to four variables). each major topic is covered in at least one assignment.
(6)
Latest Syllabus
Assignment problems should be designed so that 9. Methods
they are sufficiently challenging. Students must Methods (as abstractions for complex user defined
do algorithm design, address correctness issues, operations on objects), formal arguments and actual
implement and execute the algorithm in Java and arguments in methods; different behaviour of primitive
debug where necessary. and object arguments. Static method and variables. The
this Operator. Examples of algorithmic problem solving
Self explanatory.
using methods (number problems, finding roots of
4. Programming in Java (Review of Class XI Sections B algebraic equations etc.).
and C)
10. Arrays, Strings
Note that items 4 to 13 should be introduced almost
Structured data types – arrays (single and multi-
simultaneously along with classes and their definitions.
dimensional), address calculations, strings. Example
While reviewing, ensure that new higher order problems algorithms that use structured data types (e.g.
are solved using these constructs. searching, finding maximum/minimum, sorting
techniques, solving systems of linear equations,
5. Objects
substring, concatenation, length, access to char in
(a) Objects as data (attributes) + behaviour (methods); string, etc.).
object as an instance of a class. Constructors.
Storing many data elements of the same type requires
(b) Analysis of some real-world programming structured data types – like arrays. Access in arrays is
examples in terms of objects and classes. constant time and does not depend on the number of
(c) Basic input/output using Scanner and Printer elements. Address calculation (row major and column major),
classes from JDK; input/output exceptions. Sorting techniques (bubble, selection, insertion). Structured
Tokens in an input stream, concept of whitespace, data types can be defined by classes – String. Introduce
extracting tokens from an input stream (String the Java library String class and the basic operations on
Tokenizer class). strings (accessing individual characters, various substring
operations, concatenation, replacement, index of operations).
6. Primitive values, Wrapper classes, Types and casting The class StringBuffer should be introduced for those
Primitive values and types: byte, int, short, long, float, applications that involve heavy manipulation of strings.
double, boolean, char. Corresponding wrapper classes 11. Recursion
for each primitive type. Class as type of the object.
Class as mechanism for user defined types. Changing Concept of recursion, simple recursive methods
types through user defined casting and automatic type (e.g. factorial, GCD, binary search, conversion of
coercion for some primitive types. representations of numbers between different bases).
(7)
Latest Syllabus
SECTION C (b) Single linked list (Algorithm and programming),
binary trees, tree traversals (Conceptual).
Inheritance, Interface, Polymorphism, Data structures,
Computational complexity The following should be covered for each data structure:
12. Inheritance, Interfaces and Polymorphism Linked List (single): insertion, deletion, reversal,
extracting an element or a sublist, checking emptiness.
(a) Inheritance; super and derived classes; member
access in derived classes; redefinition of variables Binary trees: apart from the definition the following
and methods in subclasses; abstract classes; class concepts should be covered: root, internal nodes, external
Object; protected visibility. Subclass polymorphism nodes (leaves), height (tree, node), depth (tree, node),
and dynamic binding. level, size, degree, siblings, sub tree, completeness,
balancing, traversals (pre, post and in-order).
Emphasize inheritance as a mechanism to reuse a class
by extending it. Inheritance should not normally be 14. Complexity and Big O notation
used just to reuse some methods defined in a class but
Concrete computational complexity; concept
only when there is a genuine specialization (or subclass)
of input size; estimating complexity in terms of
relationship between objects of the super class and that of
methods; importance of dominant term; constants,
the derived class.
best, average and worst case.
(b) Interfaces in Java; implementing interfaces through
Big O notation for computational complexity; analysis
a class; interfaces for user defined implementation
of complexity of example algorithms using the big O
of behaviour.
notation (e.g. Various searching and sorting algorithms,
Motivation for interface: often when creating reusable algorithm for solution of linear equations etc.).
classes some parts of the exact implementation can only
PAPER II: PRACTICAL – 30 MARKS
be provided by the final end user. For example, in a class
that sorts records of different types the exact comparison This paper of three hours’ duration will be evaluated by
operation can only be provided by the end user. Since only the Visiting Examiner appointed locally and approved
he/she knows which field(s) will be used for doing the by CISCE.
comparison and whether sorting should be in ascending The paper shall consist of three programming problems
or descending order be given by the user of the class. from which a candidate has to attempt any one. The
Emphasize the difference between the Java language practical consists of the two parts:
construct interface and the word interface often used to 1. Planning Session
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
(a) Basic data structures (stack, queue, circular queue, the Examination session is three hours. A maximum of
dequeue); implementation directly through classes; 90 minutes is permitted for the Planning session and 90
definition through an interface and multiple minutes for the Examination session.
implementations by implementing the interface.
Candidates are to be permitted to proceed to the
Conversion of Infix to Prefix and Postfix notations.
Examination Session only after the 90 minutes of the
Basic algorithms and programs using the above data Planning Session are over.
structures.
Planning Session
Data structures should be defined as abstract data types
The candidates will be required to prepare an algorithm
with a well-defined interface (it is instructive to define
and a hand written Java program to solve the problem.
them using the Java interface construct).
(8)
Latest Syllabus
Examination Session NOTE:
The program handed in at the end of the Planning Algorithm should be expressed clearly using any standard
session shall be returned to the candidates. The scheme such as a pseudo code.
candidates will be required to key-in and execute the EQUIPMENT
Java program on seen and unseen inputs individually
There should be enough computers to provide for a
on the Computer and show execution to the Visiting
teaching schedule where at least three-fourths of the time
Examiner. A printout of the program listing including
available is used for programming.
output results should be attached to the answer
script containing the algorithm and handwritten Schools should have equipment/platforms such that all
program. This should be returned to the examiner. The the software required for practical work runs properly, i.e.
program should be sufficiently documented so that the it should run at acceptable speeds.
algorithm, representation and development process Since hardware and software evolve and change very
is clear from reading the program. Large differences rapidly, the schools may have to upgrade them as required.
between the planned program and the printout will
Following are the recommended specifications as of now:
result in loss of marks.
The Facilities:
Teachers should maintain a record of all the assignments
done as part of the practical work through the year and • A lecture cum demonstration room with a
give it due credit at the time of cumulative evaluation MULTIMEDIA PROJECTOR/ an LCD and O.H.P.
at the end of the year. Students are expected to do a attached to the computer.
minimum of twenty-five assignments for the year. • A white board with white board markers should be
available.
EVALUATION:
• A fully equipped Computer Laboratory that allows one
Marks (out of a total of 30) should be distributed as
computer per student.
given below:
• Internet connection for accessing the World Wide Web
Continuous Evaluation
and email facility.
Candidates will be required to submit a work file
• The computers should have a minimum of 1 GB RAM
containing the practical work related to programming
and a P IV or higher processor. The basic requirement
assignments done during the year.
is that it should run the operating system and Java
Programming assignments done 10 marks programming system (Java compiler, Java runtime
throughout the year (Internal environment, Java development environment) at
Evaluation) acceptable speeds.
Programming assignments done 5 marks
throughout the year (Visiting Examiner) • Good Quality printers.
Software:
Terminal Evaluation
• Any suitable Operating System can be used.
Solution to programming problem on 15 marks
the computer • JDK 6 or later.
Marks should be given for choice of algorithm and • Documentation for the JDK version being used.
implementation strategy, documentation, correct output
• A suitable text editor. A development environment with
on known inputs mentioned in the question paper, correct
a debugger is preferred (e.g. BlueJ, Eclipse, NetBeans).
output for unknown inputs available only to the examiner. BlueJ is recommended for its ease of use and simplicity.
(9)
Latest Syllabus
SAMPLE TABLE FOR PRACTICAL WORK
Unique Assessment of Assessment of the Practical Examination (To be evalu- TOTAL MARKS
Identification Practical File ated by the Visiting Examiner only)
(Total Marks are
Number (Unique Internal Visiting Algorithm Java Program Hard Copy Output to be added and
ID) of the Evaluation Examiner entered by the
3 Marks with internal (prinout) 3 Marks
candidate 10 Marks 5 Marks Visiting
S. Documentation 2 Marks
No. Examiner)
7 Marks
30 Marks
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Signature: __________________________
Date:______________________________
( 10 )