#### Topics

##### Boolean Algebra

- Propositional Logic
- Well Formed Formulae
- Truth Values and Interpretation of Well Formed Formulae
- Truth Tables
- Satisfiable
- Unsatisfiable
- Valid Formulae
- Equivalence Laws and Their Use in Simplifying Well Formed Formulaes
- Binary-valued Quantities
- Basic Postulates of Boolean Algebra Operations AND, OR and NOT
- Basic Theorems of Boolean Algebra (Eg. Duality, Idempotence, Commutativity, Associativity, Distributivity, Operations with 0 and 1, Complements, Absorption, Involution)
- DeMorgan’S Law/Theorem and Their Applications
- Reducing Boolean Expression (SOP and POS) to Its Minimal Form
- Use of Karnaugh Map for Minimization of Boolean Expressions (Up to 4 Variables)

##### Computer Hardware

##### Implementation of Algorithms to Solve Problems

##### Programming in Java (Review of Class Xi Sections B and C)

##### Objects

##### Primitive Values, Wrapper Classes, Types and Casting

##### Variables, Expressions

##### Statements, Scope

##### Functions

- Functions/Methods (As Abstractions for Complex User Defined Operations on Objects)
- Functions as Mechanisms for Side Effects
- Formal Arguments and Actual Arguments in Functions
- Different Behaviour of Primitive and Object Arguments
- Static Functions and Variables
- The "This" Variable
- Examples of Algorithmic Problem Solving Using Functions (Various Number Theoretic Problems, Finding Roots of Algebraic Equations)

##### Arrays, Strings

- Structured Data Types - Arrays (Single and Multi-dimensional), 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.)
- Basic Concept of a Virtual Machine
- Java Virtual Machine
- Compilation and Execution of Java Programs (The Javac and Java Programs)
- Compile Time and Run Time Errors
- Basic Concept of an Exception
- The Exception Class
- Catch and Throw
- Class as a Contract
- Separating Implementation from Interface
- Encapsulation
- Private and Public Limited Company
- Interfaces in Java
- Implementing Interfaces Through a Class
- Interfaces for User Defined Implementation of Behaviour
- Basic Input/Output Using Scanner and Printer Classes from JDK
- Files and Their Representation Using the File Class
- File Input/Output
- Input/Output Exceptions
- Tokens in an Input Stream
- Concept of Whitespace
- Extracting Tokens from an Input Stream (StringTokenizer Class)
- Concept of Recursion
- Simple Recursive Functions (e.g. Factorial, GCD, Binary Search, Conversion of Representations of Numbers Between Different Bases)
- Recursive Sorting Techniques

##### Inheritance and Polymorphism

##### Data Structures

- Basic Data Structures (Stack, Queue, Dequeue)
- Implementation Directly Through Classes
- Definition Through an Interface and Multiple Implementations by Implementing the Interface
- Basic Algorithms and Programs Using the Above Data Structures
- Recursive Data Structures - Single Linked List (Algorithm and Programming), Binary Trees, Tree Traversals (Conceptual)

##### Complexity and Big O Notation

- Concrete Computational Complexity
- Concept of Input Size
- Estimating Complexity in Terms of Functions
- Importance of Dominant Term
- Best, Average and Worst Case
- Big O Notation for Computational Complexity
- Analysis of Complexity of Example Algorithms Using the Big O Notation (Eg. Various Searching and Sorting Algorithms, Algorithm for Solution of Linear Equations Etc.)

If you would like to contribute notes or other learning material, please submit them using the button below.

Advertisement Remove all ads