To acquaint the students with the basics of theory of codes and how the theory of autopmata is used to design codes and analyse them. It also envisages to introduce the basic ideas in information theory related to shifts.