I see several good CS concepts identified but little talk about Math.
I suggest that you look into discrete mathematics. It has a wide range of useful problems starting with logical proofs which help you write conditions in code. Graph theory and combinatorics also help with complex problem resolution and algorithm optimization.
While we are on the subject of math, linear algebra is typically a prerequisite for advance computer graphics classes.