Head First C#

  • ISBN13: 9780596514822
  • Condition: USED – VERY GOOD
  • Notes:

Product Description
Head First C# is a complete learning experience for object-oriented programming, C#, and the Visual Studio IDE. Built for your brain, this book covers C# 3.0 and Visual Studio 2008, and teaches everything from language fundamentals to advanced topics including garbage collection, extension methods, and double-buffered animation. You’ll also master C#’s hottest and newest syntax, LINQ, for querying SQL databases, .NET collections, and XML documents. By the time you’r… More >>

Head First C#


  1. As an experienced programmer, I’ve found this book to be very good at getting me “up and running” and writing my own C# code (I’m about 1/3 of the way through).

    However, the book is clearly intended to be appropriate for less experienced programmers as well, and I think it would be very confusing for someone who didn’t already have a fair amount of programming experience.

    Specifically there are a lot of typos and errors in this book which would, I think, make it very difficult for a beginner to know whether they’re doing the right thing or not. In a lot of cases, I find it difficult to tell what I’m supposed to be doing in a given case because, for example, I’ll be told to create a particular field or method for an object, and then I won’t be told (directly or indirectly) what I’m supposed to use it for. Then, in the exercise “solution”, I will see what the field is used for, but that functional requirement was never stated as part of the exercise description.

    Sometimes the reader will be told to create a particular field or method as “private” and then, two pages later, the solution will show it as a “public” field. As an experienced programmer, I can usually guess that the book has made an error in a case like this, but I could easily see a beginner wasting a lot of time due to errors like this in the book.

    Here are the specific errors I’ve found just today:

    Page 265:

    The “Sharpen Your Pencil” exercise shows a line that states:

    Bees[6] = Bees[2];

    But the solution shows it as

    Bees[6] = Bees[0];

    Which makes it impossible for the reader to come up with the correct solution.

    Page 271:

    The user is instructed to create a method called “ScareLittleChildren()” but is not told what it is supposed to do or when to invoke it. The user is also told to have the “Honk()” method pop up a message box that says “Boo! Gotcha!”

    On the following page, the solution has the “Boo! Gotcha” functionality moved to the “ScareLittleChildren()” method.

    Page 292:

    The user is told that the “diningRoom” object needs to implement the “IHasExteriorDoor” interface, when the previous page explicitly stated that the locations with exterior doors are the front yard, the back yard, the living room and the kitchen.

    The user is also never told what to do differently with the Locations that have exterior doors (in terms of implementing the form that drives this exercise). Locations can have “exits” and “doors”, but we are never explicitly told whether “doors” are considered “exits”; most people would consider those words synonyms in common usage, but it’s only by close examination of the data diagram and sample code that the user can guess that it’s probable that the two terms should be considered mutually exclusive.

    Page 295:

    The exercise solution shows an override method for OutsideWithDoor.Description but not for RoomWithDoor.Description.

    These are just the errors that I’ve found today. I noticed a bunch the day before yesterday, too, when I was working through an earlier section of the book. As I said, I would think that such frequent errors would make the book very confusing for a beginner. It’s too bad, since I remember a time (the mid-90s) when O’Reilly books were known for their extremely thorough attention to detail. Pity that no longer appears to be the case.
    Rating: 3 / 5

  2. There are over 43 pages of corrections (errata) to the first edition (11/07) of this text. It is inexcusable. You can go to O’Reilly’s site and print the errata lists, three of them, to use as cliff notes to decode this book. I have purchased three other titles in the Head First series that are excellent. The quality of this one is horrible. Not only do some of the programming examples have minor syntax mistakes, but entire sections of code are incorrect. In one case the errata recommends downloading a pdf because the text has been substantially revised “to enhance clarity and quality of learning”.

    If you want to purchase this book, make sure you get the latest edition.

    Rating: 1 / 5

  3. Head First C# was my first experience with the Head First series, although I have since also purchased the excellent Head First Design Patterns (Head First).

    This book is designed to teach you C# from the beginning. Technical books can generally be categorized as either tutorials or reference texts — and this is absolutely in the tutorial category. It’s intended to be read and worked through in order, from start to finish. If you already know C# and are looking for a reference text, look elsewhere. If you’re an experienced C++ programmer looking to learn C# but are already very familiar with object oriented programming, consider checking out the excellent and concise Accelerated C# 2008 (Accelerated). If you’re an experienced C# programmer and just want to learn the advanced features of C#2 and C#3, you’ll again want to look elsewhere, and you couldn’t do better than C# in Depth: What you need to master C# 2 and 3.

    But if you want to *learn* C# and object-oriented programming, and especially if you have little or no prior programming experience, look no further than this fantastic book. If you’re reading reviews of the book, then you probably know two things: it has an unusual style and some quirky humor, and it has a bit more than it’s fair share of errors. These two things are true, but there’s a lot more about the book that you should know, and that’s mostly what I want to talk about in this review. Before I move on, though, let me say two things. First, the conversational style and the humor are sometimes overstated — this is a book about programming, and it’s not a joke a minute or anything. I know that you can’t Search Inside here on Amazon to see what the book is like, which I assume is because of the visuals-heavy design and unusual layout of the text, but just do a quick search for the book’s website and you can download a full sample chapter and some other excerpts. Judge for yourself before dismissing an excellent book based on its unusual (but effective!) design. Second, the errata *are* extensive, but they don’t get in the way of your learning. This book shines for its well-chosen examples, its focus on your learning (you’ll be talked to rather than at), and its great overall structure — and none of the errata interfere with any of that at all. If the extensive errata lists do bother you, I wrote a small free program that can sort through them for you and filter out the types of errors or page ranges you’re not interested in. (You can find the link stickied at the web forum for Head First C#.)

    There are also some features of the book that I don’t see mentioned often enough, and which I want to comment on briefly before getting to the heart of the review. First, I love that the introduction is actually useful, giving you valuable insights on why the authors made the design choices they did (why text is in the pictures, rather than beneath them as captions, for example), and offering advice on how best to approach the book if you want to maximize your learning experience. I highly recommend reading it. Second, it’s worth mentioning the way that the book uses the (free) Visual Studio 2008 IDE to make graphical Windows applications throughout, rather than focusing on a text editor and console applications like many other introductory texts. Visual Studio is a powerful IDE, and it *helps* you learn with syntax highlighting and Intellisense — I’m very glad that the Head First C# authors chose to incorporate its use into the book, because it often allowed me to focus on concepts at first rather than syntax, picking that up gradually through repeated use with the IDE’s guidance. Third, you’ll be making some genuinely impressive software over the course of the book — between the use of Visual Studio and the authors’ being unafraid to assign projects that take several pages just to *describe*, you’ll get a much better feel for what it’s like to make real software than you would from the small “toy” examples that are more common in many other introductory books. (But don’t worry, there’s plenty of guidance, including fully annotated solution code for most of them, and a helpful web forum if you get stuck.) Finally, the book has the advantage of going to print for the first time after C# 3.0 and .NET 3.5 were released, and it fluently combines the various iterations of the language, teaching C# *as it now exists* from the ground up in an order that makes sense for someone learning now from scratch, rather than taking the more common but less sensible route of introducing C#1.0 features before C#2 before C#3. This is great, because it allows the authors to introduce some of the powerful and convenient features of the newer editions of the language and framework — the stuff that really makes C# appealing as a language — quite early in the book.

    The funny thing about Head First C# is that the conversational tone, the humor, the quirky layout, and the pictures make the book seem completely un-academic. At first glance, it’s as far from an academic textbook as you could possibly get! But I’ve come to realize that reading through the book from the beginning, doing all the exercises, is as close to the structured learning experience of an academic course as you can get in book form. The brilliance of Head First C# isn’t in the phrasing of any given sentence or the coding style in a particular snippet — it’s in the overall structure of the book and especially in the examples chosen for exercises, which allow you to build up your knowledge incrementally while still reviewing past material. (Which is why the errata really aren’t a big deal.) I’ve seen some reviews point out the book’s “redundancy” as a flaw, and I just shake my head. The book is often repetitious, but never redundant, and always deliberately — seeing the same material repeatedly from different perspectives and at different times is absolutely key to learning anything, and the repetition is one of the best features of the Head First series in general and this book in particular.

    So there are errors. So there’s a bit of fuzziness in the phrasing sometimes. So it doesn’t cover Advanced Language Topic A or B. So what? This book is a teaching tool. It’s a full course — instructor, fellow students, textbook, homework, projects, review sessions, and conversations with peers — stuffed onto paper, rolled up, printed, and stuck between covers.

    I’ve learned C#, and I’ve *retained* what I’ve learned. I’ve had fun doing it. And if you too want to learn C# and programming, I can’t recommend Head First C# highly enough.
    Rating: 5 / 5

  4. Head first C# is an interesting approach to learning, unfortunately its many errors and inaccuracies makes it virtually useless. I have always been a quick learner and became quite frustrated with the difficulties I was encountering with some of the problems and projects. Then I found the publishers web site and the 17 pages! of errata for my 2nd edition!!! This book has completely wrong statements, problems that required techniques from LATER in the book and even a 6 page section of the book that needed replaced by a printed PDF amongst its many, MANY errors, typos and inaccuracies. Fortunately the local bookseller I bought it from took it back, I hope you save yourself the trouble.

    If you just have to buy this book make absolutely sure you are getting a 4th edition (has 4/08) in the bottom right corner of the copyright page)

    Rating: 1 / 5

  5. The one thing that most (nearly all) technical books have in common is that they are B-O-R-I-N-G. While this works for many people looking to just get to the meat and potatoes content, if a newbie or beginner wants to be able to LEARN from a book they are at a loss.

    That’s where the ‘Head First’ line of books comes in to play.

    If you have never read a Head First book you are in for a treat when you sit down and start reading. Nowhere in a HF book will you be bored as these books aren’t looking to just teach, but teach in a FUN, interesting way. It’s tough to explain a HF book other than it’s an experience in itself. Filled with a design, content, and writing that jumps out at you, these books are looking to get you excited to turn to the next page and/or chapter and want to keep reading.

    I think that the C# Head First book is one of the best I have had the pleasure to read. With over 700 pages of content spread over 15 chapters, this is a wonderful book for newbies that want to get coding right away. Filled with all the stuff that you would expect from such a book: basic programming constructs and declarations, object oriented discussion, file IO, exception handling, delegates, and even the newest M$ technology LINQ!!

    If you are new to using C# and want to learn in my opinion possibly the best way possible, pick up this book FIRST and use all other guides as references. If you want boring books that are full of drab info and light on the enjoyment, this isn’t for you (highly unlikely).

    A pleasure to read and easy to learn from, this is one great book on C#.

    Rating: 5 / 5

Leave a comment