Information Theory From Coding To Learning