Error correcting codes (with primary focus on cyclic, LDPC, Turbo, and spatially-coupled codes), Coding for distributed machine learning and distributed data storage, Covert communication, Reverse engineering of communication systems, Information theory.