Your Complete Revision Hub
All ISC PYQs organized, interactive tools for every topic, and smart practice to guarantee that 100/100. Exam on 27th March — let's dominate it!
📋 Syllabus at a Glance
🔵 Section A
Ch 1: Boolean Algebra — Propositional Logic, Theorems, K-Map, Canonical Forms
Ch 2: Computer Hardware — Logic Gates, Combinational Circuits
🟢 Section B
Ch 3: Programming in Java — Fundamentals, Methods, Recursion, Arrays, Strings, File I/O, Exceptions
🟡 Section C
Ch 4: Inheritance, Interfaces, Polymorphism
Ch 5: Data Structures — Stacks, Queues, Trees, Linked Lists
Quiz Practice
Questions sourced directly from ISC board papers. Select a topic and test yourself!
Flashcards
Click a card to flip it. Navigate with arrows. Perfect for last-minute revision!
Quick Notes
Click any topic to expand it. All key points for ISC exam.
🔵 Boolean Algebra
- Proposition: A declarative statement that is either TRUE or FALSE (not both)
- Tautology: A proposition that is ALWAYS true for all truth value combinations
- Contradiction: A proposition that is ALWAYS false for all combinations
- Contingency: Neither tautology nor contradiction — sometimes true, sometimes false
- Converse of P→Q is Q→P
- Inverse of P→Q is ~P→~Q
- Contrapositive of P→Q is ~Q→~P (logically equivalent to original)
- Identity: A+0=A, A·1=A
- Null/Dominance: A+1=1, A·0=0
- Idempotent: A+A=A, A·A=A
- Complement: A+A'=1, A·A'=0
- Involution (Double Complement): (A')'=A — ISC 2021-22
- Commutative: A+B=B+A, A·B=B·A
- Associative: A+(B+C)=(A+B)+C
- Distributive: A(B+C)=AB+AC, A+BC=(A+B)(A+C)
- Absorption: A+AB=A, A(A+B)=A
- De Morgan's: (A+B)'=A'·B', (A·B)'=A'+B'
- Duality Principle: Interchange AND↔OR and 0↔1
- Groups must be powers of 2: 1, 2 (pair), 4 (quad), 8 (octet)
- Groups may wrap around edges (map rolling)
- Larger groups = simpler expression (fewer literals)
- Each 1 must be in at least one group; 0s go to don't-care only
- No redundant groups in final expression
- SOP: Group 1s → each group gives an AND term → OR all terms
- POS: Group 0s → each group gives an OR term → AND all terms
- Pair eliminates 1 variable; Quad eliminates 2; Octet eliminates 3
- Minterm (m): Product term where function = 1. Written as Σ notation
- Maxterm (M): Sum term where function = 0. Written as Π notation
- SOP (Sum of Products): OR of AND terms — from minterms
- POS (Product of Sums): AND of OR terms — from maxterms
- If SOP minterms = {0,1,3}, then POS maxterms = remaining = {2,4,5,6,7}
- Cardinal number = minterm number; Canonical form = full standard form
⚡ Computer Hardware
| Gate | Symbol | 00 | 01 | 10 | 11 | Expression |
|---|---|---|---|---|---|---|
| AND | · | 0 | 0 | 0 | 1 | F=A·B |
| OR | + | 0 | 1 | 1 | 1 | F=A+B |
| NOT | ' | Inverts input | F=A' | |||
| NAND | ↑ | 1 | 1 | 1 | 0 | F=(A·B)' |
| NOR | ↓ | 1 | 0 | 0 | 0 | F=(A+B)' |
| XOR | ⊕ | 0 | 1 | 1 | 0 | F=A⊕B |
| XNOR | ⊙ | 1 | 0 | 0 | 1 | F=(A⊕B)' |
- NAND and NOR are universal gates — any circuit can be built with only NAND or only NOR
- XOR output is 1 when inputs are different (odd number of 1s for multiple inputs)
- Half Adder: Adds 2 bits. Sum=A⊕B, Carry=A·B
- Full Adder: Adds 3 bits. Sum=A⊕B⊕C, Carry=AB+BC+AC
- Decoder: n inputs → 2ⁿ outputs. Converts binary to individual lines
- Encoder: Reverse of decoder. 2ⁿ inputs → n outputs
- Multiplexer (MUX): Data selector. 2ⁿ inputs + n select lines → 1 output
- 4:1 MUX has 4 data inputs, 2 select lines, 1 output
- 8:1 MUX has 8 data inputs, 3 select lines, 1 output
☕ Java Programming
- JVM: Java Virtual Machine — abstract machine that runs Java bytecode
- JDK: Java Development Kit — superset of JRE, includes compiler (javac)
- JIT: Just-In-Time Compiler — speeds up execution by compiling bytecode to native code at runtime
- Bytecode: Machine instruction for Java processor chip — platform independent
- Wrapper classes: Integer, Double, Character, Boolean — wrap primitives as objects
- static: Belongs to class, not instance. Shared by all objects
- final: Variable=constant, Method=cannot override, Class=cannot extend
- Base case: The terminating condition — when recursion stops
- Recursive case: The function calls itself with a smaller/simpler input
- Every recursive function MUST have a base case to avoid infinite recursion
- Recursion uses the call stack (LIFO) — each call adds a new stack frame
- Tail recursion: Recursive call is the last statement — can be optimized
- Exception: Abnormal condition at runtime that disrupts normal program flow
- Checked exceptions: Compiler forces you to handle them (IOException, FileNotFoundException)
- Unchecked exceptions: Runtime exceptions (ArrayIndexOutOfBounds, NullPointer, InputMismatch)
try— code that might throw;catch— handle it;finally— ALWAYS runsthrow— manually throw an exception objectthrows— declare a method may throw an exception- finally block always executes — even after return or exception
🔗 Inheritance & OOP
- IS-A test: Use
extendsONLY when child IS-A parent - Java supports: single, multilevel, hierarchical. NOT multiple (via classes)
- super(): Calls parent constructor — must be FIRST statement
- super.method(): Calls overridden parent method
- protected: Accessible in same package + all subclasses
- Method overriding: Same name, same params, same return type in subclass
- Dynamic binding: Runtime resolution based on OBJECT type (not reference type)
- abstract class: Cannot instantiate. Can have abstract + concrete methods
- interface: All methods public+abstract, all fields public+static+final
- A class can implement MULTIPLE interfaces
🌳 Data Structures
- LIFO: Last In First Out
- Push: Add to TOP. Check overflow first (if TOP == MAX-1)
- Pop: Remove from TOP. Check underflow first (if TOP == -1)
- Peek/Top: View top element without removing
- Overflow: Pushing to a full stack
- Underflow: Popping from an empty stack (TOP = -1)
- Applications: Recursion, expression evaluation, parenthesis matching, undo
- Nested method calls implemented using stacks
- FIFO: First In First Out
- Insertion at REAR; deletion at FRONT
- Deque (Double-ended queue): Insertion and deletion at BOTH ends
- Input-restricted deque: Insertion at one end, deletion at both ends
- Output-restricted deque: Insertion at both ends, deletion at one end
- Applications: FCFS scheduling, Round Robin, CPU task queuing, BFS
- Inorder (LNR): Left → Root → Right → gives sorted order for BST
- Preorder (NLR): Root → Left → Right → used to copy tree
- Postorder (LRN): Left → Right → Root → used to delete tree
- Leaf node: node with no children
- Root: topmost node with no parent
- Complete binary tree of depth d: 2^(d+1) - 1 total nodes
- Leaf nodes in complete binary tree of depth d: 2^d
- Each node:
data+nextpointer - Singly linked: One-way traversal; last node's next = null
- Doubly linked: Each node has prev + next pointers
- Circular: Last node points back to first
- Overflow (linked list): When no memory available for new node
- Insertion/deletion is O(1) once position found (no shifting)
- Random access is O(n) — must traverse from head
- Operands go directly to output
(→ push to stack)→ pop and output until matching(- Operator: pop operators of equal/higher precedence, then push current
- End: pop all remaining operators to output
Java Programs Bank
Complete ISC-style programs with full solutions. Click to expand.
K-Map Solver
Click cells to toggle 0/1. The tool auto-identifies groups and gives the simplified expression.
Logic Gate Simulator
Toggle inputs A and B to see real-time gate output. Test all fundamental and universal gates.
NAND and NOR are called universal gates because any Boolean function can be implemented using only NAND gates or only NOR gates. This is frequently asked in ISC exams!
Truth Table Generator
Enter a Boolean expression and get a complete truth table instantly.
Data Structure Visualizer
Push, pop, enqueue, dequeue — watch it animate live!
Infix → Postfix Converter
Enter an infix expression and see the complete step-by-step conversion with operator stack trace.
1. Operand → output directly 2. ( → push to stack 3. ) → pop until ( 4. Operator → pop higher/equal precedence operators first, then push 5. End → pop all