List of topics

This list of topics will be used for the preparation of assignments for the test and interview. In order to get the most out of our Software, Data and Technology program, the knowledge detailed in the following list will be vital. Please note that you are expected to have a basic understanding of these topics even if you are enrolling in the program on a paid basis and not on a scholarship.


Algebra and Equations:

  • Algebraic Equations and Inequalities
  • Systems of Algebraic Equations
  • Sequences and Progressions
  • Exponential and Logarithmic Functions and Equations
  • Number Theory
  • Trigonometry


  • Introduction to Mathematical Analysis
  • Limits
  • Differentiation
  • Application of Derivatives to Function Analysis
  • Inverse and Composite Functions
  • Integral Calculus

Discrete Mathematics and Logic:

  • Mathematical Logic
  • Set Theory
  • Propositional Logic
  • Method of Mathematical Induction
  • Combinatorics
  • Basics of Graphs

Basics of Probability Theory:

  • Sample Space
  • Event
  • Probability
  • Conditional Probability
  • Independence
  • Axioms

Programming and Algorithms

Simple Algorithms:

  • Sorting
  • Searching for elements in an array
  • Binary search
  • Encoding and decoding

Simple Data Structures:

  • Array
  • List
  • Stack
  • Queue

Candidates should have knowledge of basic principles of one of the fundamental programming languages. These principles include basics of syntax, variables, conditional expressions, loops, arrays, functions, recursion, dynamic memory, stacks, reading/writing to a file, and working with standard input/output streams. Candidates should also have a solid understanding of big O / little o notation and program complexity.

Candidates should be able to write code for the above-mentioned elementary algorithms.