Product Details
Head First C#

Head First C#
By Andrew Stellman, Jennifer Greene PSE

List Price: $49.99
Price: $31.49 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

51 new or used available from $19.98

Average customer review:

Product Description

Do you want to learn C#? Programmers around the world have learned that C# lets them design great-looking programs and build them fast. With C#, you ve got a powerful programming language and a valuable tool at your fingertips. And with the Visual Studio IDE, you ll never have to spend hours writing obscure code just to get a button working. C#, Visual Studio and .NET take care of the grunt-work, and let you focus on the interesting parts of getting your programs written. Sound appealing? Unlike other C# books, which just show you examples and expect you to just memorize them and move on, Head First C# gets you writing code from the beginning. You're given the tools you need, and then you're guided through fun and engaging programming projects. You'll build programs to play a card game, explore a house, and help lazy programmers manage their sick day excuses. But it's not all fun and games: you'll build business applications too, like a contact database and a program to help a party planner estimate her dinner parties. You'll build a dungeon role-playing game and a fully animated, colorful simulation of a beehive. And by the end of the book, you'll build a fast-paced, full-featured retro Invaders arcade game. Make no mistake: by the time you're done with Head First C#, you'll be able to build full-scale, complex, and highly visual programs. And you'll have all of the C# tools you need to tackle almost any programming problem that comes your way. Head First C# is built for your brain, using the revolutionary approach that was pioneered by the highly acclaimed and popular Head First series. You'll never get that bored, "eyes glazed over" feeling from Head First C#, because it guides you through one challenging project after another until, by the end of the book, you're a C# rock star! Here's what you'll learn: Core C# programming concepts How to use the Visual Studio 2008 IDE to build, debug and run your programs Important .NET 3.5 features, including generic collections, Windows forms, GDI+ graphics, streams, serialization and more Using object oriented programming concepts to help you build well-designed programs How to build robust applications with good error handling The latest C# 3.0 features, including LINQ, object and collection initializers, automatic properties, extension methods and more Throughout the book, you'll confront and conquer advanced C# concepts. Some of the most mysterious ideas are demystified and explained with clear examples: how Unicode works, events and delegates, references versus value types, the stack versus the heap, what's really going on with garbage collection, and more. Thousands of readers have learned C# using this innovative book, including: Beginning programmers who want to learn programming from the ground up More advanced programmers who are proficient in another language (like Visual Basic, Java, SQL, FoxPro) and want to add C# to their toolbox Programmers who understand basic C# syntax, but are still looking to get a handle on how objects work Anyone who's tried to learn C#, but had to deal with books full of dull examples and nothing but boring console applications Lots of people who just want to learn how to build cool games! Head First C# is built to work with any version of Visual Studio 2008, including the free express edition. (It can also can be used with any version of Visual Studio 2005.)


Product Details

  • Amazon Sales Rank: #12118 in Books
  • Published on: 2007-11-26
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 738 pages

Features


Editorial Reviews

About the Author

Andrew Stellman and Jennifer Greene are both veteran software engineers and project managers. They created Stellman & Greene Consulting in 2003, with a focus on project management, software development, management consulting, and software process improvement. Andrew and Jennifer have worked in a wide range of industries, including finance, telecommunications, media, non-profit, entertainment, natural language processing, science and academia. Their first book, Applied Software Project Management, was published by O'Reilly Media in 2005 and has been widely praised by project managers, software engineers and academics. Their second book, Head First PMP, was called "the very best basic education and training book that I have read" by Dennis Bolles, the project manager and lead author of the Project Management Institute's PMBOK(R) Guide. And their third book, Head First C#, is one of the most popular book for learning C#, Windows programming and object oriented programming and design. They regularly speak at schools, companies and professional organizations on project management, quality, software development and process improvement.


Jennifer Greene, has spent the past 15 years or so building software for many different kinds of companies. She's worked for small start-ups and some huge companies along the way. She's built software test teams and helped lots of companies diagnose and deal with habitual process problems so that they could build better software. Since her start in software test and process definition, she's branched out into development management and project management. She's currently managing a big development team for a global media company and she's managed just about every aspect of software development through her career. Jennifer founded Stellman & Greene Consulting with Andrew Stellman in 2003, initially to serve the scientific and academic community. They have worked in a wide range of industries including finance, telecommunications, media, non-profit, entertainment, natural language processing, science and academia. They do speaking engagements, provide training on development practices, manage teams, and build software. Together, they've written two highly acclaimed books on project management (Head First PMP and Applied Software Project Management), Head First C#, and most recently just finished up Beautiful Teams. For more information about Jennifer, Andrew Stellman, and their books, visit http: //www.stellman-greene.com.


Customer Reviews

Book badly needs an editor3
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.

Make sure you don't by the 11/07 edition1
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.

Kevin

*Learn* C#5
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.