Theory and Practice in Computer-Assisted Vocabulary Learning: A Case Study