Many problems that we try to solve tend to take place in the real, physical world; much of problem-solving using computer programming, however, takes place in the virtual solutioning space of a computer program. In the physical world, many people solve problems through analogy - rehashing and reusing solutions to old problems that we have seen to solve new problems that look and feel familiar. In computer science, the study of how to solve specific problems by focusing on the general shared traits between them is what computer scientists call abstraction. Data structures are the tools in computer programming that help us bridge this divide - allowing us to capture the features of real-world problems by expressing them as detailed data in our computer programs, which can then be manipulated towards a solution. As the final course in the Basics sequence, Code Campers will learn how to use Python lists - a general, abstract data structure - by adapting them to fit the specific context of the problem at hand. This efficient approach to problem-solving is what enables financial coders to create programmatic representations of stocks and bonds to model market prices, and bioinformatics researchers to code up the human genome to study its properties. After this course, Code Campers will have a stronger foundation upon which to layer on further concepts relating to complex data structures at a faster pace in the Principles sequence.