Data structures and algorithms are like puzzles. Data structures are pieces of the puzzle and algorithms are the instructions that you use to put the pieces of the puzzle together. Data structures can be things like lists, arrays, trees, graphs and heaps. Algorithms are like steps that you need to follow in order to use the pieces of the puzzle to solve the puzzle. For example, if you have a list of numbers and you want to find the biggest number, you would use an algorithm to go through each number in the list and compare it until you find the biggest one.