ISC Computer Science XI Revised
ISC Computer Science XI Revised
CLASS XI
There will be two papers in the subject: Show how the logic in (a) above can be
Paper I: Theory………….. 3 hours…70 marks realized in hardware in the form of gates.
These gates can then be combined to
Paper II: Practical………. 3 hours…30 marks implement the basic operations for
PAPER I –THEORY – 70 MARKS arithmetic. Tie up with the arithmetic
operations on integers discussed earlier in 2
SECTION A (a).
Basic Computer Hardware and Software SECTION B
1. Numbers The programming element in the syllabus is aimed
Representation of numbers in different bases and at algorithmic problem solving and not merely rote
interconversion between them (e.g. binary, octal, learning of Java syntax. The Java version used
decimal, hexadecimal). Addition and subtraction should be 5.0 or later. For programming, the
operations for numbers in different bases. students can use any text editor and the javac and
java programs or any other development
Introduce the positional system of representing environment: for example, BlueJ, Eclipse, NetBeans
numbers and the concept of a base. Discuss the etc. BlueJ is strongly recommended for its
conversion of representations between different simplicity, ease of use and because it is very well
bases using English or pseudo code. These suited for an ‘objects first’ approach.
algorithms are also good examples for defining
different functions in a class modelling numbers 3. Introduction to Object Oriented
(when programming is discussed). For addition Programming using Java
and subtraction (1’s complement and 2’s Note that topics 5 to 12 should be introduced
complement) use the analogy with decimal almost simultaneously along with Classes and
numbers, emphasize how carry works (this will be their definitions.
useful later when binary adders are discussed).
4. Objects
2. Propositional logic, Hardware
implementation, Arithmetic operations (a) Objects as data (attributes) + behaviour
(methods or methods); object as an instance
(a) Propositional logic, well-formed formulae,
of a class.
truth values and interpretation of well formed
formulae, truth tables. Difference between object and class should
Propositional variables; the common logical be made very clear. BlueJ (www.bluej.org)
connectives ((not)(negation), ∧ and Greenfoot (www.greenfoot.org) can be
(and)(conjunction), ∨ (or)(disjunction), used for this purpose.
⇒ (implication), ⇔ (equivalence)); definition (b) Analysis of some real-world programming
of a well-formed formula (wff); examples in terms of objects and classes.
representation of simple word problems as
Use simple examples like a calculator, date,
wff (this can be used for motivation); the
number etc. to illustrate how they can be
values true and false; interpretation of a wff;
treated as objects that behave in certain well-
truth tables; satisfiable, unsatisfiable and
defined ways and how the interface provides
valid formulae.
a way to access behaviour. Illustrate
(b) Logic and hardware, basic gates (AND, behaviour changes by adding new methods,
NOT, OR) and their universality, other gates deleting old methods or modifying existing
(NAND, NOR, XOR, XNOR), half adder, methods.
full adder.
1
(ISC Revised Syllabus 2024)
(c) Basic concept of a virtual machine; Java Variables denote values; variables are already
Virtual Machine (JVM); compilation and defined as attributes in classes; variables have
execution of Java programs (the javac and types that constrain the values it can denote.
java programs). Difference between variables denoting primitive
values and object values – variables denoting
The JVM is a machine but built as a program objects are references to those objects. The
and not through hardware. Therefore it is assignment operator = is special. The variable on
called a virtual machine. To run, JVM the LHS of = denotes the memory location while
machine language programs require an the same variable on the RHS denotes the contents
interpreter. The advantage is that such JVM of the location e.g. i=i+2.
machine language programs (.class files) are
NOTE: Library functions for solving expressions
portable and can run on any machine that
may be used as and when required.
has the java program.
7. Statements, Scope
(d) Compile time and run time errors; basic
concept of an exception, the Exception class, Statements; conditional (if, if else, if else if,
try-catch, throw, throws and finally. switch case) ternary operator, looping (for, while,
do while), continue, break; grouping statements in
Differentiate between compile time and run blocks, scope and visibility of variables.
time errors. Run time errors crash the Describe the semantics of the conditional and
program. Recovery is possible by the use of looping statements in detail. Evaluation of the
exceptions. Explain how an exception object condition in conditional statements.
is created and passed up until a matching
Nesting of blocks. Variables with block scope,
catch is found. This behaviour is different
method scope, class scope. Visibility rules when
from the one where a value is returned by a variables with the same name are defined in
deeply nested method call. different scopes.
5. Primitive values, Wrapper classes, Types and 8. 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 Static methods and variables. The this operator.
defined types. Changing types through user Examples of algorithmic problem solving using
defined casting and automatic type coercion for methods (number problems, finding roots of
some primitive types. algebraic equations etc.).
Ideally, everything should be a class; primitive Methods are like complex operations where the
types are defined for efficiency reasons; each object is implicitly the first argument. Operator
primitive type has a corresponding wrapper class. this denotes the current object. Methods typically
Classes as user defined types. In some cases types return values (changes made inside methods
are changed by automatic coercion or casting – persist after the call for object values). Static
e.g. mixed type expressions. However, casting in definitions as class variables and class methods
general is not a good idea and should be avoided, visible and shared by all instances. Need for
if possible. static methods and variables. Introduce the main
6. Variables, Expressions method – needed to begin execution. Constructor
as a special kind of method; the new operator;
Variables as names for values; named constants
multiple constructors with different argument
(final), expressions (arithmetic and logical) and
their evaluation (operators, associativity, structures; constructor returns a reference to the
precedence). Assignment operation; difference object.
between left-hand side and right-hand side of
assignment.
2
(ISC Revised Syllabus 2024)
9. Arrays, Strings simple solution. Recursion can be initially
motivated by using recursive equations to define
Structured data types – arrays (single and multi-
certain methods. These definitions are fairly
dimensional), strings. Example algorithms that
obvious and are easy to understand. The
use structured data types (searching, finding
definitions can be directly converted to a
maximum/minimum, sorting techniques, solving
program. Emphasize that any recursion must
systems of linear equations, substring,
have a base case. Otherwise, the computation
concatenation, length, access to char in string,
can go into an infinite loop.
etc.).
12. Implementation of algorithms to solve
Storing many data elements of the same type
problems
requires structured data types – like arrays.
Access in arrays is constant time and does not The students are required to do lab assignments
depend on the number of elements. Sorting in the computer lab concurrently with the
techniques (bubble, selection, insertion), lectures. Programming assignments should be
Structured data types can be defined by classes – done such that each major topic is covered in at
String. Introduce the Java library String class least one assignment. Assignment problems
and the basic operations on strings (accessing should be designed so that they are sufficiently
individual characters, various substring challenging and make the student do algorithm
operations, concatenation, replacement, index of design, address correctness issues, implement
operations). and execute the algorithm in Java and debug
where necessary.
SECTION C
Self-explanatory.
10. Basic input/output
Basic input/output using Scanner
13. Trends in computing and ethical issues
Input/output exceptions. Tokens in an input
stream, concept of whitespace, extracting tokens (a) Artificial Intelligence, Internet of Things,
from an input stream (String Tokenizer class). Virtual Reality and Augmented Reality.
The Scanner class can be used for input of
Brief understanding of the above and their
various types of data (e.g. int, float, char etc.)
impact on Society.
from the standard input stream. Only basic input
and output using these classes should be covered. (b) Cyber Security, privacy, netiquette, spam,
phishing.
Discuss the concept of a token (a delimited
continuous stream of characters that is Brief understanding of the above.
meaningful in the application program – e.g. (c) Intellectual property, Software copyright and
words in a sentence where the delimiter is the patents and Free Software Foundation.
blank character). This naturally leads to the idea
of delimiters and in particular whitespace and Intellectual property and corresponding laws
user defined characters as delimiters. and rights, software as intellectual property.
Software copyright and patents and the
difference between the two; trademarks;
11. Recursion software licensing and piracy. free Software
Concept of recursion, simple recursive methods Foundation and its position on software,
(e.g. factorial, GCD, binary search, conversion of Open Source Software, various types of
representations of numbers between different licensing (e.g. GPL, BSD).
bases). Social impact and ethical issues should be
Many problems can be solved very elegantly by discussed and debated in class. The
observing that the solution can be composed of important thing is for students to realise
solutions to ‘smaller’ versions of the same that these are complex issues and there are
problem with the base version having a known
3
(ISC Revised Syllabus 2024)
multiple points of view on many of them and LIST OF SUGGESTED PROJECTS:
there is no single ‘correct’ or ‘right’ view.
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
(2) Examination Session access to social media.
The total time to be spent on the Planning session and 4. Simulate Adders using Arduino Controllers and
the Examination session is three hours. Components.
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
minutes of the Planning Session are over. 6. Develop a console-based application using Java
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
The program handed in at the end of the Planning from IFSC.
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
on the Computer and show execution to the 10. Develop a console-based application using Java
examiner. A printout of the program listing, including to develop a simple text editor (text typing, copy,
output results should be attached to the answer script cut, paste, delete).
containing the algorithm and handwritten program.
This should be returned to the examiner. The
EVALUATION
program should be sufficiently documented so that
the algorithm, representation and development Marks (out of a total of 30) should be distributed as
process is clear from reading the program. Large given below:
differences between the planned program and the Continuous Evaluation
printout will result in loss of marks.
Candidates will be required to submit a work file
Teachers should maintain a record of all the containing the practical work related to programming
assignments done as part of the practical work assignments done during the year and ONE project.
throughout the year and give it due credit at the time
of cumulative evaluation at the end of the year. Programming assignments done 10 marks
Students are expected to do a minimum of twenty throughout the year
assignments for the year and ONE project based on Project Work (based on any topic from 5 marks
the syllabus. the syllabus)
4
(ISC Revised Syllabus 2024)
Terminal Evaluation paper, correct output for unknown inputs available
Solution to programming problem on 15 Marks
(Marks should be given for choice of algorithm and the computer
implementation strategy, documentation, correct
output on known inputs mentioned in the question only to the examiner).
5
(ISC Revised Syllabus 2024)