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