Discrete mathematics, algorithms and data structures.