It’s a pleasure (and relief!) to announce that after almost two years of work, the third edition of Head First C# is in print and available in bookstores. Head First C# is one of the most effective books on the market for learning programming with C#. Many thousands of readers, some new to programming and others with experience with other languages, have used the first and second editions. And now here’s the third edition, hot off the presses:
This was a major update of the book. The biggest challenge was finding an effective way to teach XAML. XAML is a fantastic tool for building robust user interfaces, but a lot of developers find that it has a pretty steep learning curve. The Head First C# approach has been to use Visual Studio as a learning, teaching, and exploration tool, and the improvements that the Microsoft IDE team made to the visual designer made it especially effective for teaching XAML. We decided to have the book dive straight into XAML design and exploration, and have the reader build a video game right in the first chapter:
The trick to really getting over that XAML learning curve turned out to be going back to WinForms development for a few chapters. WinForms is an older technology, but it’s much simpler to understand. This let us lay down a solid foundation of C#, .NET, and object oriented design concepts, which makes XAML a lot easier to learn. It also gives the reader the opportunity to build projects to solve the same problem in both WinForms and Windows Store (or WPF) using XAML. Seeing the same thing done in more than one way is one of the most effective methods for learning programming, and we’re able to take advantage of that many times throughout the book.
I hope you’re as excited about this as we are! If you’re looking to learn C#, whether you’re new to programming or experienced with another language, you should definitely have a look at Head First C#.
We’ve worked with O’Reilly to make the first three chapters available for free as a PDF.
In that second post, I spend a little time talking about some of the reasons that programmers resist great practices like test-driven development. Writing that post reminded me of something that Jenny and I wrote about change in Applied Software Project Management:
Many project managers—especially ones who have a technical background—tend to ignore the fact that their organizations are made up of people who need to be convinced of the importance of a change before they will adopt it. Some of these people will have an emotional or even irrational response to any attempt at change; it could take a sea change in the organization before they agree to it.
Irrational attitudes about software development usually boil down to two basic beliefs. First, people believe that most or all software projects are delivered late and delivered with many bugs, and that this is just a fact of life. Second, they believe that their organization is unique, and that the problems they are experiencing are particular to their organization and have never been seen before in any other organization.
(This second belief may seem odd, considering the many thousands of software organizations around the world that have all used similar tools and techniques to fix very similar problems and make real, lasting improvements. It’s possible that the belief in uniqueness comes from the fact that the software being built truly is unique, in that it has never been built before; it’s not a leap to assume—incorrectly—that the software project and all of itsproblems are therefore also unique to that particular organization.)
Many times, resistance is not irrational at all. Anyone who has been through a change previously—possibly a passing management fad—that didn’t fix the problem (or failed outright) may be resistant to another change. It may seem unfair, but if people in your organization have previously gone through poorly planned changes, it will be harder for you to make changes of your own.
When you are introducing new tools, techniques, or practices in your organization, you may encounter resistance for a number of reasons. By exploring the feelings, fears, and justifications for resisting change that project managers commonly encounter, these reactions can be unraveled and understood.
Well, Bookscan numbers don’t always match what you see on Amazon.com. Our intrepid little book has been clawing its way up the Amazon.com sales ranks. It was in the #2 position on the C# bestseller list for the last month. But when I checked a few minutes ago, it was at the top of the list!
This is a huge deal for us — it’s definitely a high-water mark for the book. And what’s really cool is that Head First C# is picking up steam. Its Amazon sales rank was under 500 all day yesterday, which means that it was one of the top 500 books sold by Amazon.com. (Not the top 500 tech books — the top 500 books.) Typically, books sell the most in the first few months, and Head First C# had a strong start out of the gate. But one of our friends at O’Reilly let us know a few days ago that we’re selling better than ever (when you discount the backorders that had to be filled, which always skew the first month’s results).
And Head First PMP is picking up steam, too! It’s been holding onto the #2 spot for PMP exam prep books, and it’s really been gaining over the last few months.
Now, Jenny and I aren’t all about sales. But we are all about helping people learn, and we see these numbers as a real win.