Notes for Algorithmic Thinking by Rice University