Introduction to information theory and coding