ICSE Class 12 Computer Science Syllabus, Units & Marks
Studying this subject? See the ICSE Class 12 Computer Science course, or read the units below first.
What is the ICSE Class 12 Computer Science syllabus?
ICSE Class 12 Computer Science is organised into 13 units. The full unit list, the topics inside each one and the exam pattern are below, taken from the syllabus we teach to.
ICSE Class 12 Computer Science unit list
| Unit | Topic |
|---|---|
| Unit 1 | Unit 1: Boolean Algebra |
| Unit 2 | Unit 2: Computer Hardware |
| Unit 3 | Unit 3: Implementation (Algorithms to Programs) |
| Unit 4 | Unit 4: Objects and Classes |
| Unit 5 | Unit 5: Primitive Values, Wrapper Classes, Types and Casting |
| Unit 6 | Unit 6: Variables and Expressions |
| Unit 7 | Unit 7: Statements and Scope |
| Unit 8 | Unit 8: Functions (Methods) |
| Unit 9 | Unit 9: Arrays and Strings |
| Unit 10 | Unit 10: Recursion |
| Unit 11 | Unit 11: Inheritance, Interfaces and Polymorphism |
| Unit 12 | Unit 12: Data Structures |
| Unit 13 | Unit 13: Computational Complexity and Big O Notation |
| Total | 13 units |
What each unit covers
Unit 1: Boolean Algebra
- Propositional logic, well-formed formulae, truth tables and interpretation
- Satisfiable, unsatisfiable and valid formulae
- Binary-valued quantities; AND, OR, NOT operations and equivalence laws
- Basic theorems: duality, idempotence, commutativity, associativity, distributivity
- De Morgan's laws and applications
- Canonical SOP and POS forms; minimization
- Karnaugh maps for minimization of Boolean expressions (up to 4 variables)
Unit 2: Computer Hardware
- Elementary logic gates: NOT, AND, OR, NAND, NOR, XOR, XNOR
- Universal gates (NAND, NOR) and circuit applications
- Half adder and full adder
- Encoders, decoders and multiplexers using Boolean algebra
Unit 3: Implementation (Algorithms to Programs)
- From algorithms to working Java programs
- Programming environment (BlueJ, JDK)
- Review of Class XI Java concepts
Unit 4: Objects and Classes
- Objects as attributes (state) and behaviour (methods)
- Object as an instance of a class
- Constructors: default, parameterized and copy constructors
- Static members and static methods
- Encapsulation and access specifiers
Unit 5: Primitive Values, Wrapper Classes, Types and Casting
- Primitive types: int, short, long, float, double, boolean, char
- Wrapper classes and autoboxing/unboxing
- User-defined types via classes
- Type conversion, coercion and casting
Unit 6: Variables and Expressions
- Variables as named values
- Arithmetic, relational and logical expressions
- Operators, associativity and precedence
- Assignment operations
Unit 7: Statements and Scope
- Conditional statements: if, if-else, switch, ternary operator
- Loops: for, while, do-while; break and continue
- Blocks, scope and variable visibility
Unit 8: Functions (Methods)
- Methods as abstractions of operations; side effects
- Formal vs actual parameters; pass-by-value vs object references
- Static methods and the 'this' reference
- Algorithmic problem solving with methods
Unit 9: Arrays and Strings
- Single and multi-dimensional arrays; row-major/column-major addressing
- String class methods and manipulation
- Searching: linear and binary search
- Sorting: bubble, selection, insertion sort
- Exception handling (try, catch, throw)
- Basic file I/O and the Scanner class; tokenisation
Unit 10: Recursion
- Recursive definitions and base cases
- Factorial, GCD, Fibonacci, binary search
- Conversion of number representations
- Recursive sorting techniques
Unit 11: Inheritance, Interfaces and Polymorphism
- Single, multilevel, hierarchical and hybrid inheritance
- Base and derived classes; super and protected access
- Abstract classes and the Object class
- Interfaces and multiple inheritance of type
- Method overloading and overriding; dynamic (run-time) polymorphism
Unit 12: Data Structures
- Stack, queue and dequeue implementations
- Interfaces and multiple implementations
- Infix to prefix and postfix conversion and evaluation
- Single linked lists: insertion, deletion, traversal
- Binary trees: root, nodes, leaves, height, depth, level, size, degree, siblings, subtree, completeness, balancing
- Tree traversals: pre-order, in-order, post-order (conceptual)
Unit 13: Computational Complexity and Big O Notation
- Input size and estimating computational complexity
- Dominant term and order of growth
- Best, average and worst case analysis
- Big O notation and analysing algorithm complexity
Exam pattern
Total 100 marks. Paper 1 (Theory) 70 marks, 3 hours: Part I (20 marks) compulsory short-answer questions covering the whole syllabus; Part II (50 marks) with Section A and Section B (10 marks each) and Section C (5 marks), candidates answering set numbers of questions. Paper 2 (Practical) 30 marks, 3 hours: candidates write a working Java program for one of three given problems, evaluated by a visiting examiner.
Practical and project work
Paper 2 is a 3-hour, 30-mark practical conducted in BlueJ/JDK where students design, code and test a Java program for one of three problems (assessed on planning, coding, output and viva). Programs are documented in a practical file/lab record maintained through the year, reflecting algorithm design, data structures and OOP work.

