How to Self-Teach Computer Science