C Programming

  • C Program Structure
  • Data Representation
  • Operators and Expressions
  • Casts
  • Statements and Blocks
  • Control Flow Constructs
  • Function Syntax
  • Parameter Passing
  • Call by Address
  • Call by Value
  • Storage Classes
  • Separate Compilation
  • Single Dimensional Arrays
  • Multi-Dimensional Arrays
  • Initializing Arrays
  • Pointers, Operators, Expressions
  • Pointers and Arrays
  • Pointers to Pointers
  • Command Line Arguments
  • Structure Declarations
  • Structure Members
  • Arrays of Structures
  • Initializing Structures
  • Pointers to Structures
  • Structure Operations
  • Unions
  • Bit Fields
  • Standard C Library
  • Buffered File I/O
  • Dynamic Storage Allocation

C++ Programming

  • Object-Oriented Fundamentals
    • Programming Paradigms
    • Conquering Complexity
  • C++ Basics
    • Built-in Types, Arrays and Pointers
    • Comments, Keywords, I/O Streams
    • Built-in Operators and Control Constructs
    • Dynamic Free Store Operators
  • C++ Functions
    • Definition and Prototypes
    • Inline Functions
  • Structures and References
  • Encapsulation
    • Data Members, Member Functions
    • Private and Public
  • Constructors and Destructors
    • Default Arguments
    • Storage Allocation and Deallocation
    • this Pointer
    • Copy Constructors
  • Overloading Functions
  • Overloading Operators
    • Unary and Binary Operators
    • Initialization vs. Assignment
    • Stream Input and Output
  • Inheritance
    • Public Inheritance and Subtyping
    • Base and Derived Classes
    • Constructors and Destructors
    • Base Class Initialization
    • Using Protected keyword
  • Virtual Functions
    • Base Class Pointers and References
  • Dynamic Binding
    • Abstract Base Classes
    • Pure Virtual Functions
    • Virtual Destructors
  • Containment
    • Objects as Data Members
    • Member Initialization
  • Private Inheritance
    • Base and Derived Relationship
    • Access Declarations
  • Templates
    • Template Functions
    • Template Classes
  • Exceptions
    • try, catch, throw
    • Exception Hierarchies

Python Programming

  • Why Python?
  • Good to know
  • Python Syntax contrasted(compared) with other programming dialects or languages.
  • Python Install
  • The print statement
  • Comments
  • Python Data Structures & Data Types
  • String Operations in Python
  • Simple Input & Output
  • Simple Output Formatting
  • Operators in python
  • Indentation
  • The If statement and its’ related statement(assertion)
  • An example with if and it’s related statement(explanation)
  • The while loop
  • The for loop
  • The range statement
  • Break & Continue
  • Assert
  • Examples for looping
  • Create your own functions
  • Functions Parameters
  • Variable Arguments
  • Scope of a Function
  • Function Documentations
  • Lambda Functions & map
  • n Exercise with functions
  • Create a Module
  • Standard Modules
  • Errors
  • Exception handling with try
  • handling Multiple Exceptions
  • Writing your own Exception
  • File handling Modes
  • Reading Files
  • Writing & Appending to Files
  • Handling File Exceptions
  • The with statement
  • New Style Classes
  • Creating Classes
  • Instance Methods
  • Inheritance
  • Polymorphism
  • Exception Classes & Custom Exceptions
  • Iterators
  • Generators
  • With Statement
  • Data Compression
  • List Comprehensions
  • Nested List Comprehensions
  • Dictionary Comprehensions
  • Functions
  • Default Parameters
  • Variable Arguments
  • Specialized Sorts
  • namedtuple()
  • deque
  • ChainMap
  • Counter
  • OrderedDict
  • defaultdict
  • UserDict
  • UserList
  • UserString

Data Structures

  • Introduction to arrays
  • Array indexing and accessing elements
  • Operations on arrays (insertion, deletion, searching)
  • Multidimensional arrays
  • Applications of arrays
  • Introduction to stacks
  • Basic operations (push, pop, peek)
  • Implementation using arrays and linked lists
  • Applications of stacks (e.g., function calls, expression evaluation)
  • Stack-based algorithms (e.g., tower of Hanoi)
  • Introduction to queues
  • Basic operations (enqueue, dequeue, front)
  • Implementation using arrays and linked lists
  • Circular queues
  • Applications of queues (e.g., BFS in graphs)
  • Introduction to linked lists
  • Singly Linked Lists (SLL) basics
  • Doubly Linked Lists (DLL) basics
  • Operations on linked lists (insertion, deletion, traversal)
  • Applications of linked lists
  • Introduction to trees
  • Tree terminologies (root, node, leaf, etc.)
  • Binary trees
  • Tree traversal (in-order, pre-order, post-order)
  • Applications of trees (e.g., hierarchical data)
  • Introduction to Binary Search Trees (BST)
  • Operations on BST (insertion, deletion, searching)
  • BST properties
  • Balanced BST (AVL trees)
  • Applications of BST
  • Introduction to heaps
  • Min heap and max heap
  • Operations on heaps (insertion, deletion)
  • Heap sort
  • Applications of heaps
  • Introduction to hashing
  • Hash functions
  • Collision resolution techniques
  • Hash tables
  • Applications of hashing (e.g., dictionaries, caches)
  • Introduction to graphs
  • Types of graphs (directed, undirected)
  • Graph representations (adjacency matrix, adjacency list)
  • Graph traversal (DFS, BFS)
  • Applications of graphs