Utilizing pedagogical models in web-based CS education