Grade 12 | 13 Topics
ISC Computer Science Class 12 Syllabus
Topic 1: Boolean Algebra | Topic 2: Computer Hardware | Topic 3: Implementation of algorithms to solve problems | Topic 4: Programming in Java | Topic 5: Objects | Topic 6: Primitive values, Wrapper classes, Types and casting | Topic 7: Variables, Expressions | Topic 8: Statements, Scope | Topic 9: Methods | Topic 10: Arrays, Strings | Topic 11: Recursion | Topic 12: Inheritance, Interfaces, and Polymorphism | Topic 13: Data structures.
Topic 1: Boolean Algebra
(a) Propositional logic, well-formed formulae, truth values and interpretation of well-formed formulae (wff), truth tables, satisfiable, unsatisfiable, and valid formulae. Equivalence laws and their use in simplifying wffs.
(b) Binary valued quantities; basic postulates of Boolean algebra; operations AND, OR, and NOT; truth tables.
(c) Basic theorems of Boolean algebra (e.g. duality, idempotence, commutativity, associativity, distributivity, operations with 0 and 1, complements, absorption, involution); De Morgan’s theorem and its applications; reducing Boolean expressions to sum of products and product of sums forms; Karnaugh maps (up to four variables).
Topic 2: Computer Hardware
(a) Elementary logic gates (NOT, AND, OR, NAND, NOR, XOR, XNOR) and their use in circuits.
(b) Applications of Boolean algebra and logic gates to half adders, full adders, encoders, decoders, multiplexers, NAND, NOR as universal gates.
Topic 3: Implementation of algorithms to solve problems
The students are required to do lab assignments in the computer lab concurrently with the lectures. Programming assignments should be done such that each major topic is covered in at least one assignment. Assignment problems should be designed so that they are sufficiently challenging. Students must do algorithm design, address correctness issues, implement and execute the algorithm in Java and debug where necessary.
Topic4: Programming in Java
Topic 5: Objects
(a) Objects as data (attributes) + behavior (methods); object as an instance of a class. Constructors.
(b) Analysis of some real-world programming examples in terms of objects and classes.
(c)Basic input/output using Scanner and Printer classes from JDK; input/output exceptions. Tokens in an input stream, the concept of whitespace, extracting tokens from an input stream (String Tokenizer class).
Topic 6: Primitive values, Wrapper classes, Types and casting
Primitive values and types: byte, int, short, long, float, double, boolean, char. Corresponding wrapper classes for each primitive type. Class as a type of the object. Class as a mechanism for user defined types. Changing types through user-defined casting and automatic type coercion for some primitive types.
Topic 7:Variables, Expressions
Variables as names for values; named constants (final), expressions (arithmetic and logical), and their evaluation (operators, associativity, precedence). Assignment operation; the difference between left-hand side and right-hand side of an assignment.
Topic 8: Statements, Scope
Statements; conditional (if, if else, if else if, switch case, ternary operator), looping (for, while, do while, continue, break); grouping statements in blocks, scope, and visibility of variables.
Topic 9: Methods
Methods (as abstractions for complex user-defined operations on objects), formal arguments, and actual arguments in methods; different behavior of primitive and object arguments. Static method and variables. This Operator. Examples of algorithmic problem solving using methods (number problems, finding roots of algebraic equations, etc.).
Topic 10: Arrays, Strings
Structured data types - arrays (single and multidimensional), address calculations, strings. Example algorithms that use structured data types (e.g. searching, finding maximum/minimum, sorting techniques, solving systems of linear equations, substring, concatenation, length, access to char in string, etc.).
Topic 11: Recursion
Concept of recursion, simple recursive methods (e.g. factorial, GCD, binary search, conversion of representations of numbers between different bases).
Topic 12: Inheritance, Interfaces and Polymorphism
(a) Inheritance; super and derived classes; member access in derived classes; redefinition of variables and methods in subclasses; abstract classes; class Object; protected visibility. Subclass polymorphism and dynamic binding.
(b) Interfaces in Java (conceptual)
Emphasize the difference between the Java language construct interface and the word interface often used to describe the set of method prototypes of a class.
Topic 13: Data structures
(a) Basic data structures (stack, queue, dequeue); implementation directly through classes; definition through an interface and multiple implementations by implementing the interface. Conversion of Infix to Prefix and Postfix notations.
(b) Single linked list (Algorithm and programming), binary trees, tree traversals (Conceptual).
Enhancing technology skills
Essential Resources