Mixing Cognitive Science Concepts with Computer Science Algorithms and Data Structures