Computer Assisted Learning in Computer Science Education: Some Recent Developments: a Review