I disagree on 5). You should probably be at a bare minimum familiar with different types of data structures and how they work. Knowing where to look up "theoretic bits" isn't actually useful. As a programmer, you should know when a dictionary might sace you time, just as one scratch of the surface example.