How I teach myself computer science