How to Think Like Computer Scientist