What to study ? Your future depends on what path you follow.

Offline classes (New batches starting in May 2026)
Classroom audio recording / code will be available for download through our website.
This helps students to revise, write down missed theory and document everything in neat and tidy fashion.
C, C++ & DSA
Time 6:30 to 7:30 PM (Evening)
Days : Mon, Wed & Fri.
Starts on 11-May-2026
Fee Rs.12000/-
Prerequisite : None
Java
Time 6:30 to 7:30 PM (Evening)
Days : Tue, Thu & Sat.
Starts on 19-May-2026
Fee Rs.12000/-
Prerequisite : Knowledge of C/C++ required
Machine Learning / AI
Part One
 Supervised learning - Linear regression - C++
Offline Weekend Batch, Day : Saturday
Time 10:00 AM to 1:00 PM (Three hours)
Offline session will be followed by one hour recorded video that will be made available on Sunday evening.
The recorded video will not be the classroom session video, it will contain additional content related to the course
In all, 4 hours per week, 3 hours of offline classroom session and 1 hour recorded video.

Starts on 16-May-2026
Fee Rs.4000/- (This is fee for part one only)
Read ML/AI course contents carefully
Prerequisite : Knowledge of C/C++ required
Pay fee and book your seat now.

Fee cannot be paid in installments


Course Contents


  C Programming Language
  1. Fundamentals
  2. Structure of a program
  3. Installing MinGW
  4. Compiling
  5. why include header files
  6. Performing I/O
  7. if/else
  8. switch/case
  9. for/while/do-while loop
  10. Array
  11. Array algorithms
  12. Sorting algorithms
  13. Creating functions other than main
  14. Pointers
  15. Call by value / reference
  16. Passing array as arguments
  17. Using Pointers as an array
  18. Global variable
  19. Dynamic memory allocation
  20. malloc & free
  21. Character data type
  22. Strings
  23. scanf / format specifiers / stdin buffer
  24. Clearing stdin buffer
  25. String algorithms & functions
  26. Structures
  27. Pointer to structure
  28. Structure padding & packing
  29. Pointer to function
  30. Passing command line arguments
  31. Creating macros
  32. typedef
  33. Linked list and tree algorithms
  34. File handling
  35. Reading/writing char to file
  36. Reading/writing string to file
  37. Reading/Writing structures to file
  38. Creating header files
  39. Include guards
  40. Creating library
  41. Application development
 C++ Programming Language
  1. Polymorphism
  2. Call by reference (Creating alias)
  3. Encapsulation
  4. Static method
  5. Static property
  6. this pointer
  7. Procedural v/s Object oriented programming
  8. namespaces
  9. Overloading insertion operator
  10. Overloading extraction operator
  11. Creating Monitor / Keyboard classes
  12. cout / cin
  13. Dynamic memory allocation
  14. new and delete operators
  15. Function parameter with default argument
  16. Empty Constructor
  17. Default Constructor
  18. Parameterized Constructor
  19. Default argument constructor
  20. Copy constructor
  21. Move constructor
  22. Copy assignment operator
  23. Move assignment operator
  24. Overloading data type
  25. Friend function
  26. Friend class
  27. Return Value Optimization (RVO)
  28. Creating TMString class
  29. Overloading arithmetic operators
  30. Overloading relational operators
  31. Overloading dereferencing operator
  32. Functors (callable objects)
  33. Class templates
  34. Function templates
  35. Creating TMVector class
  36. Overloading [] subscript operator
  37. Creating TMList class
  38. Overloading increment/decrement operators
  39. Creating Iterators
  40. Standard Template Library
  41. STL Types: List,Stack,Queue,Map & Set
  42. STL - When to use what, in online assesment coding rounds
  43. Inheritance
  44. Virtual Inheritance
  45. Constructor execution sequence in case of inheritance
  46. Destructor execution sequence in case of inheritance
  47. Method Overriding
  48. Virtual functions
  49. Virtual destructor
  50. Virtual polymorphism
  51. Pure virtual functions
  52. Abstract class
  53. File Handling
  54. Smart Pointers (Unique/Shared/Weak)
  55. Exception handling
  56. cache hit/cache miss
  57. Code Optimization to avoid cache miss
  58. lambdas
  59. Multithreading
  60. Synchronizing threads
  61. Communication between threads
 Data Structures & Algorithms
  1. Linear sort
  2. Bubble sort
  3. Selection sort
  4. Insertion sort
  5. Shell sort
  6. Creating Max/Min Heap
  7. Heap sort
  8. Priority Queue using heap
  9. Stack
  10. Queue
  11. Quick Sort using recursion
  12. Quick Sort without recursion
  13. Merge Sort using recursion
  14. Merge Sort without recursion
  15. Singly Linked List
    • add at end
    • insert at top
    • insert at position
    • traverse top to bottom
    • traverse bottom to top
    • remove from position
    • clear list
  16. Doubly Linked List
    • add at end
    • insert at top
    • insert at position
    • traverse top to bottom
    • traverse bottom to top
    • remove from position
    • clear list
  17. Binary Search Tree
    • insert
    • search
    • remove
    • inorder traversal with recursion
    • inorder traversal without recursion
    • preorder traversal with recursion
    • preorder traversal without recursion
    • postorder traversal with recursion
    • postorder traversal without recursion
    • level order traversal
    • getting the height of the tree
    • clear tree
  18. AVL Tree (Self balanced tree)
    • insert
    • search
    • remove
    • inorder traversal with recursion
    • inorder traversal without recursion
    • preorder traversal with recursion
    • preorder traversal without recursion
    • postorder traversal with recursion
    • postorder traversal without recursion
    • level order traversal
    • getting the height of the tree
    • clear tree
  19. Red Black Tree
    • insert
    • search
    • remove
    • inorder traversal with recursion
    • inorder traversal without recursion
    • preorder traversal with recursion
    • preorder traversal without recursion
    • postorder traversal with recursion
    • postorder traversal without recursion
    • level order traversal
    • getting the height of the tree
    • clear tree
  20. Creating Map class by wrapping up Red Black Tree
  21. Creating HashTable
  22. Converting infix expression to prefix/postfix
  23. Evaluating prefix/postfix expressions
  24. Graph (Shortest Path Algorithms)
  25. Dijkstra's (Breadth first search algorithm)
  26. Dijkstra's (Depth first search algorithm)
 Java Programming Language
  1. Platform dependent v/s independent programming languages
  2. JDK / JRE
  3. The Java Virtual Machine
  4. Setting up JDK
  5. Primitive data types
  6. Pointers in java
  7. Encapsulation
  8. Polymporphism
  9. Inheritance
  10. Why java doesn't support multiple inheritance ?
  11. Method overriding
  12. Constructors
  13. Automatic garbage collector
  14. Object / class and local variables
  15. static methods
  16. Rules of assignment in context to object / class and local variables
  17. final variables
  18. final methods
  19. final class
  20. Creating abstract class to impose guidelines
  21. Interface, an alternative to creating abstract class
  22. Creating packages
  23. Compiling and running with classpath
  24. Separating source code and compiled code while creating packages
  25. Creating jar files
  26. String
  27. Deep comparison
  28. Array in java as an object
  29. Exception handling
  30. Creating custom exceptions
  31. Throwing exceptions
  32. Checked v/s unchecked exceptions
  33. Autocloseable
  34. try with resources
  35. Reading from stdin
  36. Creating io tool for input
  37. File handling
  38. Performing CRUD Operation
  39. Creating data layer
  40. Using AI Tools to recreate data layer and understand the process
  41. Creating presentation layer for CLI
  42. Setting up MySql
  43. JDBC Programming
  44. Using VS Code and integrating AI tools
  45. Creating data layer for database
  46. Abstract Window Toolkit - Graphical user interface
  47. Event programming
  48. Creating presentation layer using AWT
  49. Swing - Better Graphical user interface
  50. GUI with tabular user interfaces
  51. Using Cursor with AI Integration
  52. Creating presentation layer using Swing
  53. Multi threading
  54. Thread management
  55. Race conditions
  56. Synchronization
  57. Synchronizing producer / consumer
  58. Thread pools and executor framework
  59. Network programming
  60. Creating multi threaded server
  61. Using build tools
  62. Reflection API
  63. Creating magic with reflection API
  64. Using Intellij IDEA with AI Integration
  65. Project with client / server programming
 HPC v/s HFT and the HFC overlap
  1. What is HPC ?
  2. What is HFT ?
  3. How HFC is intersection of both ?
  4. Can it be learned on one machine or a cluster is required ?
 Minimizing Latency
  1. Understanding latency
  2. Measuring latency
  3. Is it always related to network programming ?
  4. Cache hit/miss
  5. Cache friendly data access to maximize cache hit
  6. Aligning Data
  7. Alternative to virtual polymorphism
  8. Optimizing DS, loops, function calls
  9. Exception handling will slow down
  10. Compiler optimization flags
  11. Dynamic memory allocation will slow down
  12. Avoiding dynamic memory allocations
  13. Creating memory pools
  14. Creating lock free data structures to avoid wait times
  15. Low latency logging
  16. Network programming
 Multi-threading
  1. Matrix multiplication
  2. Measuring processing time
  3. Understanding cache hit/cache miss
  4. Revised matrix multiplication
  5. Concurrency
  6. Creating threads
  7. Threaded matrix multiplication
  8. lambdas
  9. Locks
  10. Lock guards
  11. Preventing deadlocks
  12. Condition variables
  13. Atomics
  14. Tasks and futures
  15. Synchronizing threads
  16. Communication between threads
  17. Creating lock based data structures
  18. Creating thread pools
  19. Creating lock free data structures
  20. Parallel Standard Template Library
  21. execution policies
  22. vectors in parallel
  23. for_each in parallel
  24. load balancing
  25. exception handling in parallel execution
  26. for_each_n and ranges
  27. custom iterators in parallelism
  28. synchronization
  29. parallel data transformation using transform
  30. reduce and accumulate in parallel
  31. sorting in parallel
  32. searching in parallel
 Open Multi-Processing (OpenMP)
  1. Open MP Directives
  2. Parallelize loops
  3. Implementing reduction
  4. Environment variables
  5. Parallel Regions
  6. Work sharing
  7. Decomposing data structures for parallelism
  8. Controlling / Removing data dependencies
  9. Synchronization
  10. Mutual exclusion
  11. Synchronizing events
  12. Communication between threads
  13. Thread affinity
  14. SIMD Vectorization
  15. GPU Offloading
 Compute Unified Device Architecture (CUDA)
  1. CPU v/s GPU
  2. Which GPU for learning CUDA ?
  3. Data v/s Task parallelism
  4. GPU Architecture
  5. Setting up development environment for CUDA Programming
  6. Parallel programming begins with SIMD
  7. Compilation
  8. Writing kernel function
  9. Measuring GPU processing time
  10. Thread / Block / Grid
  11. Organizing parallel threads
  12. Query GPU Information
  13. Error handling
  14. CUDA Memory model
  15. Asynchronous execution with streams/events
  16. Setting up launch configurations
  17. Designing parallel algorithms
  18. Reduction algorithm
  19. Sorting in parallel
  20. Profiling and optimizing code
  21. Unrolling loops
  22. Debugging techniques
  23. CUDA Streams
  24. Creating library for integration with other programming languages
 What next ?
  1. HPC using distributed computing frameworks - An introduction
  2. How to get into High Frequency Trading domain as a programmer ?
  3. What is FPGA, Verilog & VHDL ? - An introduction
 The ML/AI Course parts
Part
Duration
Fee
Mode
I
3 months
Rs.4000/-
Offline class
II
3 months
Rs.4000/-
Offline class
III
3 months
Rs.4000/-
Offline class
IV
3 months
Rs.4000/-
Offline class
V
3 months
Rs.4000/-
Offline class
VI
Self paced
Free
Recorded videos
VII
Self paced
Free
Recorded videos
VIII
Self paced
Free
Recorded videos
 Part one - Supervised learning - Linear regression - C++
  1. Linear Regression using gradient descent
  2. A Gentle introduction to fitting line, hypothesis, cost, derivation and convergence
  3. Vectorized operations
  4. Creating components for infrastructure framework
    • Vectors and Matrices (With support for parallel operations)
      • csv to matrix
      • add
      • subtract
      • multiply
      • divide
      • transpose
      • Copy
      • Function to load csv into matrix/vector
      • Function to save matrix/vector to csv
    • Scalers
      • Standard Scaler
      • Min Max Scaler
      • Robust Scaler
    • Encoders
      • One Hot Encoder
      • Ordinal Encoder
      • Target Encoder
      • Sum Encoder
    • Regularizers
      • L1
      • L2
      • Elastic Net
    • Cost function
      • MSE
      • L2
      • Elastic Net
    • Dataset tools
      • Column Cutter
      • Splitter to create training and testing dataset
  5. Applying Linear regression to train model
    • Creating x_y_generator to generate feature matrix and target vector
    • Fit line function to train model using training dataset and save model
      • Batch Gradient Descent
      • Stochastic Gradient Descent
      • Mini Batch Gradient Descent
    • Gnuplot - plot regression line and error curve
    • Evaluate model function to test model on test data and calculate evaluation metrics
    • Fine-tuning after evaluation
    • Function to predict using saved model data
  6. Applying Linear regression using direct method utilizing normal equation
  7. Linear regression using Gradient Descent in Python (Using available libraries)
 Part two - Supervised learning - Polynomial & logistic regression - C++
  1. Creating components for infrastructure framework
    • Creating N Dimensional Array class (with support for parallel operations and iterators)
    • Making scalers, encoders, regularizer, MSE to work on ndarray object
    • Functions to save ndarray object to csv/binary and load ndarray object from csv/binary
  2. Revisiting linear regression done in part one using ndarray objects.
  3. Applying Polynomial regression to train model
    • Fit curve function to train model using training dataset and save model
      • Batch Gradient Descent
      • Stochastic Gradient Descent
      • Mini Batch Gradient Descent
    • Gnuplot - plot regression curve and error curve
    • Evaluate model function to test model on test data and calculate evaluation metrics
    • Fine-tuning after evaluation
    • Function to predict using saved model data
  4. Logistic regression using Gradient Descent in Python (Using available libraries)
 Part three - Supervised learning - Deep neural network - C++
  1. Creating components for infrastructure framework
    • Creating view classes for ndarray class to save memory.
    • Refactoring operator functions to avoid creating temporary objects
    • Functions to save ndarray object to csv/binary and load ndarray object from csv/binary
  2. Switching from shallow to deep - Deep neural network
  3. Deep learning - Introduction to neural network
  4. Forward and backward propagation
  5. Activation and loss functions
  6. Logistic regression to deep neural network
    • Data structure, hypothesis, cost, derivation and updating model
    • All from training, testing, fine tuning and making predictions.
  7. Creating neural network class
    • saving and loading neural network object to binary file
  8. Digit classifier using neural network
  9. Digit classifier in Python (Using available libraries)
  10. Loading and saving jpeg using libjpeg and libjpeg-turbo
  11. Essential Image pre-processing for preparing data for machine learning
    • Data augmentation
    • Resizing and Scaling
    • Color space conversion
    • Normalizing
    • Noise reduction
    • Adding contrast
    • Adding brightness
    • Flipping
    • Rotating
    • Binarization
    • Shearing
  12. Creating components for infrastructure framework
    • Creating Image class with functions for loading, saving and image processing.
    • Creating Image to ndarray function
 Part four - Supervised learning - Convolution neural networks
  1. Introduction to Convolution neural networks (CNNs)
  2. CNN for Image recognition, Computer vision and Pattern detection
  3. Forward and backward propagation
    • Data structure, hypothesis, cost, derivation and updating model
    • All from training, testing, fine tuning and making predictions.
  4. Creating cnn class
    • saving and loading cnn object to binary file
  5. Digit classifier using CNNs
  6. Creating Bounding box tool using java/python (We will use AI Tools to create it)
  7. Getting image dataset
  8. Pre-processing images from image dataset to create dataset for training
  9. Object detection using CNNs
  10. Object detection using Python (Using available libraries)
 Part five - Building an MCP Server - Python
  1. Introduction to Model Context Protocol
  2. MCP - Hosts, Servers and Interfaces
  3. Creating a Filesystem MCP Server
  4. Caching, Logging and monitoring
  5. Setting up security modules
  6. Configuring LLM clients to interact with our MCP Server
  7. Orchestration
  8. Creating MCP server to automate tasks
  9. Creating MCP Server to access data from the web/databases
  10. Optimizing for low latency
 What next ?
  • Part Six - Unsupervised Learning using Python - Recorded videos
  • Part Seven - Natural Language Processing using Python - Recorded videos
  • Part Eight - LLM for generative AI using Python - Recorded videos