#### 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)

##### Recursion

##### 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
- Conversion of Infix to Prefix and Post Fix Notations
- 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.)

- Arrays (single and multi-dimensional), address calculations, strings.

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

Advertisement Remove all ads