Based on my experience the recommendations are good, but when working on material like this on your own it is a slog because both of these courses are designed to be taught live. So beware. However they are probably the best courses available online. It seems someone (maybe me someday!) needs to do an equivalent of "RailsCasts" for Haskell to make this more accessible.
The NICTA course contains hard exercises building various functors, including transformers. It's a mind bender and oddly I had code that worked because the types matched up but I had no intuition as to why it actually worked! But it does raise your game to a new level.
Definitely, this is why we're working on a book. We acknowledge cis194 and NICTA course are difficult and designed to be done as part of a class. That's also why we suggest Thompson's book as a fallback.
There isn't a book designed for an independent reader that we're happy with at present.
>The NICTA course contains hard exercises building various functors, including transformers
These things must be covered if you want to use Haskell in anger. One thing I would change in NICTA course if given the option is to make the transformers tutorial have a smoother ramp. State/StateT could be built up to via Writer/Reader and the transformer versions thereof.
That the NICTA course confronts these (Functor, Applicative, Monad, Monad transformers) and is rigorous in covering the basics along with those topics is what makes it so valuable. Most other materials either don't cover them or don't provide proper exercises.
"Show & Tell" is not good enough for getting people comfortable with these tools and sadly that's the mistake a lot of resources for Haskell make. You have to make exercises that make learners manipulate and see the structure of how these things work.