Head first C#

Oh yeah, this would be very interesting!

This book review will be in depth and there would be Youtube videos .

As usual all head first books contain a lot of pictures, which in my opinion a fun way to learn new stuff.

Authors describe the learning workflow and how to solve particular problems in the future.

Authors providing whole github repo with code solutions, which is good as reference for future generations of programmers.

Design UI is not my strong side, but it was a fun to work with WPF designer , for people who just learning I think this is really step  curve, good thing that there always a repo if something does not work.

Pencil exercise are great, but I would recommend people who just starting to ignore them for a while and then come back and solve them later.

Throwing the debugger at newbie is not good, I recommend actually to use the debugger on rare occasions.

WPF is interesting, but knowing C Sharp even more, somehow it can feel for people misleading.

Unity3D is another whole chapter, but it has same pattern as the first chapter about WPF programming.
Author rely that a reader have enough patience and concentration to do exactly what book describes.
Once again, I have feeling that crucial information is missing, separation of concerns.
The love to debugger is overrated.

After that in next chapters, you get introduction into access modifiers in my opinion this topic introduced too late. Exercises are good, but for newbees can be very challenging.
Topic of inheritance was very well explained.

Interface were discussed truly deeply, I liked it a lot.

Interface is powerful feature of the programming language, but it can be easily abused, you as programmer absolutely should take care that a call of interface method is right and does not violate the expected behavior of the class , which implements this method.

About WPF you can write whole books alone , and there exist enough info how to do proper WPF programming, in my opinion author setting the difficulty bar way to hard.
Next topic Enum was described quite good.

Playing with collections is good, the examples are clear and simple, even sorting explained really good.
The concept of upcasting and downcasting is interesting, but in reality you should avoid it, because it can bring later problems , like in production some of the classes updated with new  behavior , which would violated by the child classes or classes which implement same interface.
Queue, Stack explained very briefly, well it make sense later everyone can read up the api docu at Microsoft site.

Additionally thread safety for the collections is not covered and the topic about thread iself, which is bad, because in  our multicore modern times you absolutely must think about thread safety.

Back again to Unity, the lab is simple but I consider that book too ambiguous about Unity usage.

LINQ was really interesting topic, but working with data like  as SQL its very strange.

Testing? Somehow  author of this book was able to squeeze this topic into the book, but the choice of the test runner isn’t sufficient , MSTest is not the same as Nunit, i prefer Nunit it’s a industry standard.

Lambda? The descriptions of lambda are cool and the example presented in the book are readable.

Serialization? I like the chapter a lot !

UTF encoding? A Filler material! Last chapters are  object instantiation and object lifetime, static, exceptions handling.

Finally the conclusion: this books tries to teach C#, Unity, WPF at the same time, which is a bad idea!
Most certainly you can learn it with this book, but Unity topics presented very averagely and WPF covered only basic stuff.

If only authors would concentrated on C# and Unit testing more , than it would be superb.

I imagine, if they even wrote a book about learning Unity only , that would be great, but its mixed bag, i can recommend it only to people who already have been worked with Unity and WPF in all other cases i cant recommend this book.