Text this: Design and Development of Interactive Software Models for Teaching Coding Theory