CS Lesson 3
Pattern recognition abstraction and algorithms