This study examined high school students' understanding of abstract data types through interviews and observations of 16 students in computer science classes. The researchers aimed to document difficulties students face and thinking processes used when defining, implementing, and using abstract data types. They found students struggled with abstract concepts and different problem-solving situations helped enhance understanding by avoiding overly abstract ideas. The study applied a previous framework on reducing abstraction to analyze students' mental processes when solving abstract computer science problems.