He is interested in probability and combinatorics including randomized algorithms, random graphs and random tree, in particular: Galton-Watson trees; binary search trees and split trees; random directed graphs; peer-to-peer computer networks; and graph coloring. He also likes programming and using computers to experiment, prove, and teach mathematics. He has taught courses in applied mathematics and computer science, such as calculus, combinatorics, discrete mathematics, and algorithms.
Cai has an M.Sc. and a Ph.D. from McGill University, Montreal.