Levels of Abstraction in CS 2 James P . Kels h Department of Computer Scienc e Central Michigan Universit y Mt . Pleasant, MI 4885 9 The principle of an abstract data typ e accustoms us to thinking of a program a t two levels : The application program and th e underlying implementation of the data type s involved . Convincing students to maintai n this distinction can be difficult : Th e temptation to use details of the chose n implementation often overcomes their goo d intentions . One solution is to introduce a "second degree" of data abstraction , separating the "core" operations (whic h must use the details of an abstract dat a type's implementation) from higher-leve l operations on the abstract data type an d then freely exchange data typ e implementations . This can also prepar e students for later exercises which wil l require more levels of abstraction . 1 .Data Abstraction and strings . We expect our CS2 course to teac h students to use abstract data types [2] . However, many students learn more abou t coding one implementation of each data typ e than about abstraction . (See
/lp/association-for-computing-machinery/levels-of-abstraction-in-cs2-HR0F0jIMQp