Abstraction is viewed as a key concept in computer science. It is not only an important concept but also one that is difficult to master. This paper focuses on the problems that novices experience when they first encounter this concept. Three assignments from introductory courses are analyzed,...