Page 1
ISC YEAR 2027
INDIAN SCHOOL CERTIFICATE
EXAMINATION
COMPUTER SCIENCE
(868)
Page 2
February 2025
____________________________________________________________________________________________
© 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.
Page 3
Council for the Indian School Certificate Examinations (CISCE)
MISSION STATEMENT
The Council for the Indian School Certificate
Examinations is committed to serving the nation's
children, through high quality educational
endeavours, empowering them to contribute towards
a humane, just and pluralistic society, promoting
introspective living, by creating exciting learning
opportunities, with a commitment to excellence.
ETHOS OF CISCE
Trust and fair play.
Minimum monitoring.
Allowing schools to evolve their own niche.
Catering to the needs of the children.
Giving freedom to experiment with new ideas
and practices.
Diversity and plurality - the basic strength for
evolution of ideas.
Schools to motivate pupils towards the
cultivation of:
Excellence - The Indian and Global
experience.
Values - Spiritual and cultural - to be the bedrock
of the educational experience.
Schools to have an 'Indian Ethos', strong roots in
the national psyche and be sensitive to national
aspirations.
Page 4
COMPUTER SCIENCE (868)
Aims (Conceptual) (3) To create awareness of ethical issues related to
computing and to promote safe, ethical
(1) To understand algorithmic problem solving
behavior.
using data abstractions, functional and
procedural abstractions, and object based and (4) To make students aware of future trends in
object-oriented abstractions. computing.
(2) To understand: (a) how computers represent, Aims (Skills)
store and process data at different levels of
To devise algorithmic solutions to problems and to
abstraction that mediate between the machine
be able to code, validate, document, execute and
and the algorithmic problem solving level and
debug the solution using the Java programming
(b) how they communicate with the outside
system.
world.
CLASS XI
There will be two papers in the subject: 2. Encodings
Paper I: Theory………….. 3 hours…70 marks (a) Binary encodings for integers and real
Paper II: Practical………. 3 hours…30 marks numbers using a finite number of bits (sign-
magnitude, 2’s complement, mantissa-
exponent notation).
Signed, unsigned numbers, least and most
PAPER I –THEORY – 70 MARKS significant bits. Sign-magnitude
SECTION A representation and its shortcomings (two
representations for 0, addition requires extra
Basic Computer Hardware and Software step); two’s-complement representation.
Operations (arithmetic, logical, shift),
1. Numbers
discuss the basic algorithms used for the
Representation of numbers in different bases and arithmetic operations. Floating point
interconversion between them (e.g. binary, octal, representation: normalized scientific
decimal, hexadecimal). Addition and subtraction notation, mantissa-exponent representation,
operations for numbers in different bases. binary point (discuss trade-off between size
of mantissa and exponent). Single and double
Introduce the positional system of representing precision.
numbers and the concept of a base. Discuss the
conversion of representations between different (b) Characters and their encodings (e.g. ASCII,
bases using English or pseudo code. These ISCII, Unicode).
algorithms are also good examples for defining Discuss the limitations of the ASCII code in
different functions in a class modelling numbers representing characters of other languages.
(when programming is discussed). For addition Discuss the Unicode representation for the
and subtraction (1’s complement and 2’s local language. Java uses Unicode, so
complement) use the analogy with decimal strings in the local language can be used
numbers, emphasize how carry works (this will be (they can be displayed if fonts are available)
useful later when binary adders are discussed). – a simple table lookup for local language
1
Page 5
equivalents for Latin (i.e. English) character 5. Objects
strings may be done. More details on
Unicode are available at www.unicode.org. (a) Objects as data (attributes) + behaviour
(methods or methods); object as an instance
3. Propositional logic, Hardware of a class.
implementation, Arithmetic operations
Difference between object and class should
(a) Propositional logic, well-formed formulae, be made very clear. BlueJ (www.bluej.org)
truth values and interpretation of well formed and Greenfoot (www.greenfoot.org) can be
formulae, truth tables. used for this purpose.
Propositional variables; the common logical
(b) Analysis of some real-world programming
connectives ((not)(negation), ∧
examples in terms of objects and classes.
(and)(conjunction), ∨ (or)(disjunction),
⇒ (implication), ⇔ (equivalence)); definition Use simple examples like a calculator, date,
of a well-formed formula (wff); number etc. to illustrate how they can be
representation of simple word problems as treated as objects that behave in certain well-
wff (this can be used for motivation); the defined ways and how the interface provides
values true and false; interpretation of a wff; a way to access behaviour. Illustrate
truth tables; satisfiable, unsatisfiable and behaviour changes by adding new methods,
valid formulae. deleting old methods or modifying existing
methods.
(b) Logic and hardware, basic gates (AND,
NOT, OR) and their universality, other gates (c) Basic concept of a virtual machine; Java
(NAND, NOR, XOR, XNOR), half adder, Virtual Machine (JVM); compilation and
full adder. execution of Java programs (the javac and
Show how the logic in (a) above can be java programs).
realized in hardware in the form of gates. The JVM is a machine but built as a program
These gates can then be combined to and not through hardware. Therefore it is
implement the basic operations for called a virtual machine. To run, JVM
arithmetic. Tie up with the arithmetic machine language programs require an
operations on integers discussed earlier in 2 interpreter. The advantage is that such JVM
(a). machine language programs (.class files) are
SECTION B portable and can run on any machine that
has the java program.
The programming element in the syllabus is aimed
at algorithmic problem solving and not merely rote (d) Compile time and run time errors; basic
learning of Java syntax. The Java version used concept of an exception, the Exception class,
should be 5.0 or later. For programming, the try-catch, throw, throws and finally.
students can use any text editor and the javac and Differentiate between compile time and run
java programs or any other development time errors. Run time errors crash the
environment: for example, BlueJ, Eclipse, NetBeans program. Recovery is possible by the use of
etc. BlueJ is strongly recommended for its exceptions. Explain how an exception object
simplicity, ease of use and because it is very well is created and passed up until a matching
suited for an ‘objects first’ approach. catch is found. This behaviour is different
4. Introduction to Object Oriented from the one where a value is returned by a
Programming using Java deeply nested method call.
Note that topics 5 to 12 should be introduced
almost simultaneously along with Classes and
their definitions.
2
Page 6
6. Primitive values, Wrapper classes, Types and 9. Methods and Constructors
casting
Methods and Constructors (as abstractions for
Primitive values and types: byte, int, short, long, complex user defined operations on objects),
float, double, boolean, char. Corresponding methods as mechanisms for side effects; formal
wrapper classes for each primitive type. Class as arguments and actual arguments in methods;
type of the object. Class as mechanism for user different behaviour of primitive and object
defined types. Changing types through user arguments. Static methods and variables. The this
defined casting and automatic type coercion for operator. Examples of algorithmic problem
some primitive types. solving using methods (number problems,
finding roots of algebraic equations etc.).
Ideally, everything should be a class; primitive
types are defined for efficiency reasons; each Methods are like complex operations where the
primitive type has a corresponding wrapper class. object is implicitly the first argument. Operator
Classes as user defined types. In some cases types this denotes the current object. Methods typically
are changed by automatic coercion or casting – return values. Illustrate the difference between
e.g. mixed type expressions. However, casting in primitive values and object values as arguments
general is not a good idea and should be avoided, (changes made inside methods persist after the
if possible. call for object values). Static definitions as class
7. Variables, Expressions variables and class methods visible and shared
by all instances. Need for static methods and
Variables as names for values; named constants variables. Introduce the main method – needed to
(final), expressions (arithmetic and logical) and begin execution. Constructor as a special kind of
their evaluation (operators, associativity, method; the new operator; multiple constructors
precedence). Assignment operation; difference with different argument structures; constructor
between left-hand side and right-hand side of returns a reference to the object.
assignment.
10. Arrays, Strings
Variables denote values; variables are already
defined as attributes in classes; variables have Structured data types – arrays (single and multi-
types that constrain the values it can denote. dimensional), strings. Example algorithms that
Difference between variables denoting primitive use structured data types (searching, finding
values and object values – variables denoting maximum/minimum, sorting techniques, solving
objects are references to those objects. The systems of linear equations, substring,
assignment operator = is special. The variable on concatenation, length, access to char in string,
the LHS of = denotes the memory location while etc.).
the same variable on the RHS denotes the contents
of the location e.g. i=i+2. Storing many data elements of the same type
requires structured data types – like arrays.
NOTE: Library functions for solving expressions Access in arrays is constant time and does not
may be used as and when required. depend on the number of elements. Sorting
8. Statements, Scope techniques (bubble, selection, insertion),
Statements; conditional (if, if else, if else if, Structured data types can be defined by classes –
switch case) ternary operator, looping (for, while, String. Introduce the Java library String class
do while), continue, break; grouping statements in and the basic operations on strings (accessing
blocks, scope and visibility of variables. individual characters, various substring
Describe the semantics of the conditional and operations, concatenation, replacement, index of
looping statements in detail. Evaluation of the operations).
condition in conditional statements.
Nesting of blocks. Variables with block scope,
method scope, class scope. Visibility rules when
variables with the same name are defined in
different scopes.
3
Page 7
SECTION C program. Emphasize that any recursion must
have a base case. Otherwise, the computation
11. Basic input/output Data File Handling
can go into an infinite loop.
(Binary and Text)
13. Implementation of algorithms to solve
(a) Basic input/output using Scanner and Printer
problems
classes.
The students are required to do lab assignments
Input/output exceptions. Tokens in an input
in the computer lab concurrently with the
stream, concept of whitespace, extracting
lectures. Programming assignments should be
tokens from an input stream (String
done such that each major topic is covered in at
Tokenizer class). The Scanner class can be
least one assignment. Assignment problems
used for input of various types of data (e.g.
should be designed so that they are sufficiently
int, float, char etc.) from the standard input
challenging and make the student do algorithm
stream. Similarly, the Printer class handles
design, address correctness issues, implement
output. Only basic input and output using
and execute the algorithm in Java and debug
these classes should be covered.
where necessary.
Discuss the concept of a token (a delimited
Self-explanatory.
continuous stream of characters that is
meaningful in the application program – e.g. 14. Packages
words in a sentence where the delimiter is
Definition, creation of packages, importing user
the blank character). This naturally leads to
defined packages, interaction of objects across
the idea of delimiters and in particular
packages.
whitespace and user defined characters as
delimiters. As an example show how the Java Application Programming Interface (API),
StringTokenizer class allows one to extract a development of applications using user defined
sequence of tokens from a string with user packages.
defined delimiters. 15. Trends in computing and ethical issues
(b) Data File Handling. (a) Artificial Intelligence, Internet of Things,
Need for Data file, Input Stream, Output Virtual Reality and Augmented Reality.
Stream, Byte Stream (FileInputStream and Brief understanding of the above and their
FileOutputStream), Character Stream impact on Society.
(FileReader, FileWriter), Operations-
Creation, Reading, Writing, Appending, and (b) Cyber Security, privacy, netiquette, spam,
Searching. phishing.
12. Recursion Brief understanding of the above.
Concept of recursion, simple recursive methods (c) Intellectual property, Software copyright and
(e.g. factorial, GCD, binary search, conversion of patents and Free Software Foundation.
representations of numbers between different Intellectual property and corresponding laws
bases). and rights, software as intellectual property.
Many problems can be solved very elegantly by Software copyright and patents and the
observing that the solution can be composed of difference between the two; trademarks;
solutions to ‘smaller’ versions of the same software licensing and piracy. free Software
problem with the base version having a known Foundation and its position on software,
simple solution. Recursion can be initially Open Source Software, various types of
motivated by using recursive equations to define licensing (e.g. GPL, BSD).
certain methods. These definitions are fairly
obvious and are easy to understand. The Social impact and ethical issues should be
definitions can be directly converted to a discussed and debated in class. The
4
Page 8
important thing is for students to realise assignments for the year and ONE project based on
that these are complex issues and there are the syllabus.
multiple points of view on many of them and
there is no single ‘correct’ or ‘right’ view. LIST OF SUGGESTED PROJECTS:
PRESENTATION / MODEL BASED/
APPLICATION BASED
PAPER II - PRACTICAL – 30 MARKS 1. Creating an expert system for road-traffic
This paper of three hours duration will be evaluated management (routing and re-routing of vehicles
internally by the school. depending on congestion).
The paper shall consist of three programming 2. Creating an expert system for medical diagnosis
problems from which a candidate has to attempt any on the basis of symptoms and prescribe a suitable
one. The practical consists of the two parts: treatment.
(1) Planning Session 3. Creating a security system for age-appropriate
access to social media.
(2) Examination Session
4. Simulate Adders using Arduino Controllers and
The total time to be spent on the Planning session and Components.
the Examination session is three hours.
A maximum of 90 minutes is permitted for the 5. Simulate a converter of Binary to Decimal
Planning session and 90 minutes for the Examination number systems using Arduino Controllers and
session. Candidates are to be permitted to proceed Components.
to the Examination Session only after the 90 6. Develop a console-based application using Java
minutes of the Planning Session are over. for Movie Ticket Reservation.
Planning Session 7. Develop a console-based application using Java
The candidates will be required to prepare an to encrypt and decrypt a message (using cipher
algorithm and a hand-written Java program to solve text, Unicode-exchange, etc).
the problem. 8. Develop a console-based application using Java
Examination Session to find name of the bank and branch location
from IFSC.
The program handed in at the end of the Planning
session shall be returned to the candidates. The 9. Develop a console-based application using Java
candidates will be required to key-in and execute the to calculate taxable income (only direct tax).
Java program on seen and unseen inputs individually 10. Develop a console-based application using Java
on the Computer and show execution to the to develop a simple text editor (text typing, copy,
examiner. A printout of the program listing, including cut, paste, delete).
output results should be attached to the answer script
containing the algorithm and handwritten program.
This should be returned to the examiner. The
program should be sufficiently documented so that
the algorithm, representation and development
process is clear from reading the program. Large
differences between the planned program and the
printout will result in loss of marks.
Teachers should maintain a record of all the
assignments done as part of the practical work
throughout the year and give it due credit at the time
of cumulative evaluation at the end of the year.
Students are expected to do a minimum of twenty
5
Page 9
EVALUATION Terminal Evaluation
Marks (out of a total of 30) should be distributed as Solution to programming problem on 15 Marks
given below: the computer
Continuous Evaluation
Candidates will be required to submit a work file (Marks should be given for choice of algorithm and
containing the practical work related to programming implementation strategy, documentation, correct
assignments done during the year and ONE project. output on known inputs mentioned in the question
paper, correct output for unknown inputs available
Programming assignments done 10 marks only to the examiner).
throughout the year
Project Work (based on any topic from 5 marks
the syllabus)
6