- The basics of graphics programming is necessary
Technically true, but Core Graphics is a great way to learn (at least 2D) graphics programming.
- C++ is a must
False.
- Linear Algebra is a must
It's involved, but you can ignore the man behind the curtain 90+% of the time.
The only time I can remember the matrix nature of affine transformations becoming important was the time I answered a question about infinite rotation—and even then, another answerer provided a solution that didn't rely on matrix knowledge.
Apple's own documentation says:
“You can use either set of functions [making matrixes directly from numbers vs. geometric transformations] without understanding anything about matrix math. However if you want to understand what Quartz does when you call one of the transform functions, read ‘The Math Behind the Matrices.’”
I would only add that if you do read “The Math Behind the Matrices” and it's lost on you, don't worry about it—just try it again in a month. At some point, you'll read that chapter and it'll make sense.
Geometry and trigonometry are much more important as a Core Graphics user than linear algebra. And the trig you need to know is pretty straightforward.
- Firm knowledge of coordinate system transformation is a must
Again, true, but Core Graphics is a great way to learn it.
Is there a set guide you recommend I follow?
The Core Graphics Programming Guide.
If any part of it stumps you, open Xcode and start doing it. Pound on it 'til it works. Make sliders to adjust parameters (e.g., any of scale, translate, rotation angle, and skew) and fields to display them and see how the input affects the output. Experiment with blend modes.
Definitely experiment with blend modes.
And if you ever get completely stuck, you can always come back to SO and ask a question about it.