Page 8 - ComputerScience_Class_11
P. 8
PAPER I – THEORY : 70 MARKS
SECTION A – HARDWARE
1. System of Numeration
Representation of numbers in different bases and interconversion between them (e.g. binary, octal,
decimal, hexadecimal). Addition, subtraction and multiplication operations for numbers in different
bases.
Introduce the positional system of representing numbers and the concept of a base. Discuss the
conversion of representations between different bases using English or pseudo code. These algorithms
are also good examples for defining different functions in a class modelling numbers (when programming
is discussed). For addition and subtraction (1’s complement and 2’s complement) use the analogy
with decimal numbers, emphasize how carry works (this will be useful later when binary adders are
discussed), multiplication of numbers in different bases [without decimals].
2. Encodings
Characters and their encodings (e.g. ASCII, ISCII, Unicode).
Discuss the limitations of the ASCII code in representing characters of other languages. Discuss the
Unicode representation for the local language. Java uses Unicode, so strings in the local language
can be used (they can be displayed if fonts are available) – a simple table lookup for local language
equivalents for Latin (i.e. English) character strings may be done. More details on Unicode are available
at www.unicode.org.
3. Propositional logic, Hardware implementation, Arithmetic operations
(a) Propositional logic, well-formed formulae, truth values and interpretation of well formed formulae,
truth tables.
Propositional variables; the common logical connectives ( (negation), (and)(conjunction),
(or)(disjunction), (implication), (equivalence)); definition of a well-formed formula (wff);
representation of simple word problems as wff (this can be used for motivation); the values true
and false; interpretation of a wff; truth tables; satisfiable, unsatisfiable and valid formulae.
(b) Logic and hardware, basic gates (AND, NOT, OR) and their universality, other gates (NAND, NOR,
XOR, XNOR), half adder, full adder.
Show how the logic in (a) above can be realized in hardware in the form of gates. These gates can
then be combined to implement the basic operations for arithmetic. Tie up with the arithmetic
operations on integers discussed earlier in 2.
SECTION B – JAVA
The programming element in the syllabus (Section B and C) is aimed at algorithmic problem solving and
not merely rote learning of Java and Python syntax. The Java version used should be 6.0 or later and
Python version 3.13 and above.
For Java programming, students may use any text editor along with the javac compiler, or any integrated
development environment (IDE) such as BlueJ, DrJava, Eclipse, or NetBeans.
For Python programming, students may use any suitable development environment, such as IDLE, PyCharm,
VS Code, Spyder, or Jupyter Notebook.

