Midterm review Ch 1,3: Modularity & Abstraction -Definition of modularity -Definition of abstraction -advantages of using modularity and abstraction -procedural vs data abstraction -structure of an ADT Ch 2,5: Recursion -Definition of recursion -differences between recursion & iteration -necessary components of recursion solution -advantages/disadvantages of recursion -definition of backtracking & how does it relate to recursion Ch 4: Linked Lists -general operations & manuipulation -implementation -advantages/disadvantages -advantages/disadvantages of arrays Ch 6: Stacks -general operations & manipulation -advantages/disadvantages of stacks (where would you use/not use them?) -implementation trade-offs (reference vs array based) Ch 7: Queues -general operations & manipulation -advantages/disadvantages of queues (where would you use/not use them?) -implementation trade-offs (references vs array (linear & circular) based)