- Animation
- Application design
- ASP.NET
- C#, .NET 3.5
- Controls
- Data access
- Effects
- Expression Blend
- Expression Design
- Game development
- Graphics
- Javascript and AJAX
- Math and Physics
- Media streaming
- Multimedia
- Security
- Silverlight
- Styling
- UI Design
- VB.NET
- Video
- Visual Studio
- WCF
- WPF
- XAML

BlueForest Networks

Head First C#
Publisher: O'Reilly Media, Inc. - November 26, 2007 ISBN-10: 0596514824, ISBN-13: 9780596514822
Author: Andrew Stellman
Jennifer Greene
778 pages
Head First C#
Want to learn programing? Stay away!
This book is perfect if you want to learn C#. If you are new to programing in general you should stay away. Use the 'Java' version instead.
Carcyon
11 October, 2010
This book covers all to start creating your own application
Very dynamic, very easy reading, this is the kind of book you read without noticing how many pages were gone. Recommended.
MD
05 October, 2010
Great help for beginners
For someone who has worked a little bit with code, this book was perfect for helping me to make sense of it all and gave me all of the tools I needed to get started on my own projects. It is an excellent reference and I recommend it for anyone who is interested in learning how to write programs in C# with Visual Studio.
Jay
29 September, 2010
Very nice book
It's awesome and very engaging book and reading content goes directly into your mind and fits there forever.. I love it...
Raj
22 September, 2010
Difficult....
This book is good for people who aren't used to books that have rhyme or reason. I had to purchase this book for my programming III class. The important information is essentially scribbled into the margins and this makes it hard to follow, it comes across as messy. I'm sure this book is good for some people, but not for me.
J. Minunzi
17 September, 2010
Good intro, but lacking in a couple of areas. 2010 edition is a must!
I have recently completed this book after starting a new job. I got the second edition (released in 2010), and I can say that the amount of errors is significantly reduced in this edition. I did not notice any as I was going through the book.
The book is a good intro to all concepts related to C# and .Net 4.0. I am an experienced OO programmer, and found the chapters introducing object oriented concepts to be rather tedious and excessive in their examples. I realize that OO programming is a difficult concept for many to grasp, but it was still too much. Honestly, aren't we getting to the point where these programming books can stop the heavy treatment of OO stuff? Kids are learning Java in high school these days, so they get a heavy dose of OO concepts early in their programming careers. Why do we need to keep dedicating 100 pages or more to objects in these books? But I digress...
I do have a couple of criticisms about the book. I found their treatment of events to be rather lacking. Events are one of, if not the most powerful tool to modern application developers, and there is only half a chapter devoted to the subject. The discussion they do have is pretty thin on examples, so I found myself having to experiment with the code they did provide to make them work. After this, the authors barely address events (custom or otherwise), missing several opportunities to show events in action. This leads me to my second criticism.
The book does not even mention decoupling of objects. In good application design, objects essentially use events to "talk" to one another. In this book, objects are handing out references to themselves freely to whoever wants one. There were several opportunities to make use of events to show decoupling of objects, but they chose not capitalize. After spending multiple chapters addressing encapsulation, inheritance, and even interfaces and abstracts, we can't spend even a little time on decoupling? I have seen this topic addressed very well in other books, and its a shame it wasn't done so in this book.
Finally, it would be nice to have a CD with the book containing code to establish a "base state" for each chapter. I quickly skimmed several chapters on concepts I was already familiar with. I was disappointed to find that later chapters were making use of code created in the previous chapters. Essentially, the reader is forced to do all the examples in every chapter. While probably by design based on the philosophy of the book, it was rather annoying as an experienced developer.
But overall, the book is a good one. With the exception of the (admittedly) minor issues above, it does a very thorough introduction of C#.
S. Brown
03 September, 2010
Good intro, but lacking in several areas. 2010 edition is a must. NOT FOR WEB DEVELOPERS!
I have recently completed this book after starting a new job. I got the second edition (released in 2010), and I can say that the amount of errors is significantly reduced in this edition. I did not notice any as I was going through the book.
The book is a good intro to all concepts related to C# and .Net 4.0. I am an experienced OO programmer, and found the chapters introducing object oriented concepts to be rather tedious and excessive in their examples. I realize that OO programming is a difficult concept for many to grasp, but it was still too much. Honestly, aren't we getting to the point where these programming books can stop the heavy treatment of OO stuff? Kids are learning Java in high school these days, so they get a heavy dose of OO concepts early in their programming careers. Why do we need to keep dedicating 100 pages or more to objects in these books? But I digress...
I do have a few criticisms about the book. First and foremost, this book focuses exclusively on application development in C#. If you plan to do web development in C# or make use of Web Forms, this book is definitely not for you. I only learned this after completing the book and attempting to build a web application and realizing I had no idea how to handle the front end aspx pages.
I found their treatment of events to be rather lacking. Events are one of, if not the most powerful tool to modern application developers, and there is only half a chapter devoted to the subject. The discussion they do have is pretty thin on examples, so I found myself having to experiment with the code they did provide to make them work. After this, the authors barely address events (custom or otherwise), missing several opportunities to show events in action. This leads me to my next criticism.
The book does not even attempt to cover good application design with techniques like decoupling objects. Good applications essentially use events to "talk" between objects. In this book, objects are handing out references to themselves freely to whoever wants one. There were several opportunities to make use of events to show decoupling of objects, but they chose not capitalize. After spending multiple chapters addressing encapsulation, inheritance, and even interfaces and abstracts, we can't spend even a little time on decoupling? I have seen this topic addressed very well in other books, and its a shame it wasn't done so in this book.
Finally, it would be nice to have a CD with the book containing code to establish a "base state" for each chapter. I quickly skimmed several chapters on concepts I was already familiar with. I was disappointed to find that later chapters were making use of code created in the previous chapters. Essentially, the reader is forced to do all the examples in every chapter. While probably by design based on the philosophy of the book, it was rather annoying as an experienced developer.
But overall, the book is a decent one. If you are not planning to do web development, this book is a thorough introduction to C#, in spite of the (admittedly) minor issues above. However, if you are planning to do web development and Web Forms in C#, look elsewhere as this book will not cover important topics.
S. Brown
03 September, 2010
Great book for first time object oriented programmers
I have been out of coding for almost 10 years and decided to get back into it recently. Since I'm focusing on .Net technologies I thought jumping into C# would be the right step. I read most of the reviews for this book and the gist I got was: it was good for beginners, well written, but full of errors.
I have found only two of those to be true: The second edition of this book seems to be mostly error free. I'm about half way through and I *think* I've found only one error so far (this was very minor too). All of my code has compiled and I haven't had any issues at all. The book is very beginner oriented but moves at a good pace. The concepts come fast and things like class diagramming and coding styles are seamlessly worked in to the lessons.
The book teaches C# and object oriented programming from the beginning and I can't recommend it enough for someone who is starting out or has been out of the game for too long (like me). Make sure you get the second edition and you wont be disappointed.
evannever
01 September, 2010
Great book for first time object oriented programmers
I have been out of coding for almost 10 years and decided to get back into it recently. Since I'm focusing on .Net technologies I thought jumping into C# would be the right step. I read most of the reviews for this book and the gist I got was: it was good for beginners, well written, but full of errors.
I have found only two of those to be true: The second edition of this book seems to be mostly error free. I'm about half way through and I *think* I've found only one error so far (this was very minor too). All of my code has compiled and I haven't had any issues at all. The book is very beginner oriented but moves at a good pace. The concepts come fast and things like class diagramming and coding styles are seamlessly worked in to the lessons.
The book teaches C# and object oriented programming from the beginning and I can't recommend it enough for someone who is starting out or has been out of the game for too long (like me). Make sure you get the second edition and you wont be disappointed.
evannever
01 September, 2010
Good introduction
Took me 1.5 wks to finish this book. Its got the great "Head First XXX" presentation format and layout that i'm used to and topics were presented clearly with lots of example applications you can work on and use those accumulated ideas to expand upon. Typos exist but which book doesn't?
One thing i found that wasn't there was topics related to threading and distributed programming. Not sure whether it has something to do with the sheer size of the book i.e. 800+ pages
Raymond Tay
16 August, 2010
Good introduction
Took me 1.5 wks to finish this book. Its got the great "Head First XXX" presentation format and layout that i'm used to and topics were presented clearly with lots of example applications you can work on and use those accumulated ideas to expand upon. Typos exist but which book doesn't?
One thing i found that wasn't there was topics related to threading and distributed programming. Not sure whether it has something to do with the sheer size of the book i.e. 800+ pages
Raymond Tay
16 August, 2010
Very satisfied customer!
Delivery on time and book in excellent condition.
As for the book content, I have never read a programming book that good in explanation while at the same time sticking to the point. I was able to start programming in a very small amount of time. I love it!
Fadi
30 July, 2010
Very satisfied customer!
Delivery on time and book in excellent condition.
As for the book content, I have never read a programming book that good in explanation while at the same time sticking to the point. I was able to start programming in a very small amount of time. I love it!
Fadi
30 July, 2010
Very satisfied customer!
Delivery on time and book in excellent condition.
As for the book content, I have never read a programming book that good in explanation while at the same time sticking to the point. I was able to start programming in a very small amount of time. I love it!
Fadi
30 July, 2010
Wonderful book brought down by poor editing and coding errors
This is my first foray into the Head First series and I must say I love how they approach teaching a new language. However, this book is far from perfect. It is plagued by poor editing and sloppy written exercises. I'm a second year graduate computer science student, and even I become quickly confused by the exercises due to the poor wording, and mistakes. I spend too much time trying to figure out not so much HOW to perform the exercise, but WHAT I'm suppose to be doing. The exercises tend to be poorly worded and/or have confusing errors which will have you puzzled. Otherwise, this is a great book and I love how it approaches teaching a new language. But the poor editing greatly brings it down. Into about chapter 7 I quickly lost any guilt in peeking at the solutions to the exercise, cause if you don't you'll probably being pulling your hair out trying to figure out what the exercise is suppose to entail.
Nicholas DiMucci
17 July, 2010
Wonderful book brought down by poor editing and coding errors
This is my first foray into the Head First series and I must say I love how they approach teaching a new language. However, this book is far from perfect. It is plagued by poor editing and sloppy written exercises. I'm a second year graduate computer science student, and even I become quickly confused by the exercises due to the poor wording, and mistakes. I spend too much time trying to figure out not so much HOW to perform the exercise, but WHAT I'm suppose to be doing. The exercises tend to be poorly worded and/or have confusing errors which will have you puzzled. Otherwise, this is a great book and I love how it approaches teaching a new language. But the poor editing greatly brings it down. Into about chapter 7 I quickly lost any guilt in peeking at the solutions to the exercise, cause if you don't you'll probably being pulling your hair out trying to figure out what the exercise is suppose to entail.
Nicholas DiMucci
17 July, 2010
Follows the Head First model...
I've used two other HF books, and this one follows the same mold. Walks you through setup of your environment, and gets you coding quickly.
John Mark Locklear
01 July, 2010
Follows the Head First model...
I've used two other HF books, and this one follows the same mold. Walks you through setup of your environment, and gets you coding quickly.
John Mark Locklear
01 July, 2010
Great book
I've been programing in VB.NET for a while and wanted to make the switch to C#. I had been programing in C# on some projects, but it was a struggle and I felt I was missing some of the framework basics.
This book presented the material in a great way and improved my understanding of .NET and C# considerably.
Highly recommend purchasing this book.
Don
23 June, 2010
Great book
I've been programing in VB.NET for a while and wanted to make the switch to C#. I had been programing in C# on some projects, but it was a struggle and I felt I was missing some of the framework basics.
This book presented the material in a great way and improved my understanding of .NET and C# considerably.
Highly recommend purchasing this book.
Don
23 June, 2010
Review in progress, 2nd Ed. (read before reading older reviews)
First, please understand this is my first review and I am still just a programming student and this is my first experience with C# but not the C language. I've taken two classes in C++ and one in Visual Basic, so I'm not a newbie but at the same time I still wouldn't consider myself intermediate.
I'm writing this review having only read the first 100 pages of the book because I wanted to state that, as of this writing, the current edition of this book that Amazon.com is selling (Pub: May 2010, 2nd ed) there have been NO errors. If you are considering purchasing this book, please be aware that (again as of this writing) there have only been 2 reviews of the newest edition (2nd ed, May 2010). All previous reviews are of the November 2007 edition which was apparently filled with errors. If only Amazon.com would list them separately we wouldn't have this problem.
Now, a brief review of the content. The first impressive thing about this book is that it takes into consideration how our brain works and learns and it explains this to you a bit before getting into the subject of the book. It uses a lot of pictures and repetition (repetition via text and program exercises) to help you remember things which studies have shown makes a big difference in the way our brain stores data. (I know this from reading 'Brain Rules' by John Medina).
Anyway, so far in the first 100 pages, we've lightly covered the basics; variables, if statements, loops and program structure (namespace, class, method, statements). When I say lightly, I mean it doesn't go into every type of variable or all the details of a method. I feel this is a good approach for a first time coder because trying to remember everything a method can do in one chapter just isn't going to happen. I should also mention that in the first chapter you go through a simple program to help you get the feel of the IDE (Visual Studio 2010).
That about summarizes my experience in the first 100 pages (mid chapter 3), I will add more to the review as I progress through the book.
Update 7/11/2010: Been busy, I've only got to the end of Chapter 4 since my last post. So far great except for a few steps left out of the program you build on p. 162. However these steps and a reason why they aren't there are posted on the front page of the Head First C# webpage.
For those interested, here is the Table of Contents (Summary):
Intro
1 Get productive with C#: Visual Applications, in 10 minutes or less
2 It's All Just Code: Under the hood
3 Objects: Get Oriented: Making code make sense
4 Types and References: It's 10:00. Do you know where your data is?
C# Lab 1: A Day at the races
5 Encapsulation: Keep your privates... private
6 Inheritance: Your object's family tree
7 Interfaces and abstract classes: Making classes keep their promises
8 Enums and collections: Storing lots of data
C# Lab 2: The Quest
9 Reading and Writing Files: Save the byte array, save the world
10 Exception Handling: Putting out fires gets old
11 Events and Delegates: What your code does when you're not looking
12 Review and Preview: Knowledge, power, and building cool stuff
13 Controls and Graphics: Make it pretty
14 Captain Amazing: The Death of the Object
15 LINQ: Get control of your data
C# Lab 3: Invaders
i Leftovers: The top 11 things we wanted to include in this book
Jacob D. Ryf
19 June, 2010
Review in progress, 2nd Ed. (read before reading older reviews)
First, please understand this is my first review and I am still just a programming student and this is my first experience with C# but not the C language. I've taken two classes in C++ and one in Visual Basic, so I'm not a newbie but at the same time I still wouldn't consider myself intermediate.
I'm writing this review having only read the first 100 pages of the book because I wanted to state that, as of this writing, the current edition of this book that Amazon.com is selling (Pub: May 2010, 2nd ed) there have been NO errors. If you are considering purchasing this book, please be aware that (again as of this writing) there have only been 2 reviews of the newest edition (2nd ed, May 2010). All previous reviews are of the November 2007 edition which was apparently filled with errors. If only Amazon.com would list them separately we wouldn't have this problem.
Now, a brief review of the content. The first impressive thing about this book is that it takes into consideration how our brain works and learns and it explains this to you a bit before getting into the subject of the book. It uses a lot of pictures and repetition (repetition via text and program exercises) to help you remember things which studies have shown makes a big difference in the way our brain stores data. (I know this from reading 'Brain Rules' by John Medina).
Anyway, so far in the first 100 pages, we've lightly covered the basics; variables, if statements, loops and program structure (namespace, class, method, statements). When I say lightly, I mean it doesn't go into every type of variable or all the details of a method. I feel this is a good approach for a first time coder because trying to remember everything a method can do in one chapter just isn't going to happen. I should also mention that in the first chapter you go through a simple program to help you get the feel of the IDE (Visual Studio 2010).
That about summarizes my experience in the first 100 pages (mid chapter 3), I will add more to the review as I progress through the book.
For those interested, here is the Table of Contents (Summary):
Intro
1 Get productive with C#: Visual Applications, in 10 minutes or less
2 It's All Just Code: Under the hood
3 Objects: Get Oriented: Making code make sense
4 Types and References: It's 10:00. Do you know where your data is?
C# Lab 1: A Day at the races
5 Encapsulation: Keep your privates... private
6 Inheritance: Your object's family tree
7 Interfaces and abstract classes: Making classes keep their promises
8 Enums and collections: Storing lots of data
C# Lab 2: The Quest
9 Reading and Writing Files: Save the byte array, save the world
10 Exception Handling: Putting out fires gets old
11 Events and Delegates: What your code does when you're not looking
12 Review and Preview: Knowledge, power, and building cool stuff
13 Controls and Graphics: Make it pretty
14 Captain Amazing: The Death of the Object
15 LINQ: Get control of your data
C# Lab 3: Invaders
i Leftovers: The top 11 things we wanted to include in this book
Jacob D. Ryf
19 June, 2010
VERY VERY HIGHLY RECOMMENDED!!!
Do you want to learn how to use C#? If you do, then this book is for you. Authors~ Andrew Stellman and Jennifer Greene PSE, have done an outstanding job of writing the second edition of a book using Visual C# 2010 Express Edition, which uses C# 4.0 and .NET Framework 4.0.
Stellman and Greene, begin by showing you how with Visual Studio IDE, you'll never have to spend hours writing obscure code to get a button to work again. Next, the authors show you how to get a lot of work done by using IDE. Then, they show you why objects are really useful. The authors continue by showing you the ins and outs of C#'s data types, and how to work with data in your program; and, even help you figure out a few dirty secrets about objects. Next, they show you the power of encapsulation. Then, they show you how to subclass an object to get its behavior, but keep the flexibility to make changes to that behavior. The authors continue by showing you how interfaces let you work with any class that can do the job. Next, they show you how collections let you store, sort and manage all of the data that your programs need to pore through. Then, the authors show you how to write data to a file, and then how to read that information back in from a file. They continue by showing you how to write code to deal with problems that come up by using exception handling. Next, the authors show you what events are all about: One object publishes an event, the other objects subscribe, and everyone works together to keep things moving. Then, they show you how to build some software. They continue by discussing the Graphics object, bitmaps, and a determination to not accept the graphics status quo. Finally, the authors discuss how LINQ not only lets you query data in a simple intuitive way, but, how it lets you group data, and merge data from different data sources.
This most excellent book is a learning experience, not a reference book. In other words, this book makes assumptions about what you've already seen and learned.
John R. Vacca
06 June, 2010
VERY VERY HIGHLY RECOMMENDED!!!
Do you want to learn how to use C#? If you do, then this book is for you. Authors~ Andrew Stellman and Jennifer Greene PSE, have done an outstanding job of writing the second edition of a book using Visual C# 2010 Express Edition, which uses C# 4.0 and .NET Framework 4.0.
Stellman and Greene, begin by showing you how with Visual Studio IDE, you'll never have to spend hours writing obscure code to get a button to work again. Next, the authors show you how to get a lot of work done by using IDE. Then, they show you why objects are really useful. The authors continue by showing you the ins and outs of C#'s data types, and how to work with data in your program; and, even help you figure out a few dirty secrets about objects. Next, they show you the power of encapsulation. Then, they show you how to subclass an object to get its behavior, but keep the flexibility to make changes to that behavior. The authors continue by showing you how interfaces let you work with any class that can do the job. Next, they show you how collections let you store, sort and manage all of the data that your programs need to pore through. Then, the authors show you how to write data to a file, and then how to read that information back in from a file. They continue by showing you how to write code to deal with problems that come up by using exception handling. Next, the authors show you what events are all about: One object publishes an event, the other objects subscribe, and everyone works together to keep things moving. Then, they show you how to build some software. They continue by discussing the Graphics object, bitmaps, and a determination to not accept the graphics status quo. Finally, the authors discuss how LINQ not only lets you query data in a simple intuitive way, but, how it lets you group data, and merge data from different data sources.
This most excellent book is a learning experience, not a reference book. In other words, this book makes assumptions about what you've already seen and learned.
John R. Vacca
06 June, 2010
Great book for those starting out.
I love the fact that the first chapter of this book finishes with you building a functional program. And with a target of building a classic game @ the end of the book makes reading this a true joy. I'm definitely going to start checking out more Head First books.
C. Nakagaki
08 April, 2010
Great book for those starting out.
I love the fact that the first chapter of this book finishes with you building a functional program. And with a target of building a classic game @ the end of the book makes reading this a true joy. I'm definitely going to start checking out more Head First books.
C. Nakagaki
08 April, 2010
Disappointing Book
I had read several Head First books and loved the concept behind the book line. With anticipation, I ordered this book as I wanted to learn C# 3.0. (I, however, have a programming background.) After finishing it, it was a disappointing read, and wasn't even entertaining at that.
The book just seemed to be difficult at times, and I quit following through on the examples after a while. Just started to read instead. Perhaps this was my mistake, as learning by doing is the best approach. The book's examples seemed to be a bit difficult for me to grasp. For example, the book used a beehive game as an example to OOP, and referred to it in several chapters. I didn't like the beehive simulation and found it difficult, even tedious, to go along.
I've resorted to reading another introductory book on C# 3.0 and have made better progress on understanding this programming language. Maybe, this Head First C# book 'broke-down' the dense concepts of the C# language, allowing me to easily understand it better on reading my next book about the language. For that, I guess I have this book to thank for.
Todd Elliott
21 March, 2010
Disappointing Book
I had read several Head First books and loved the concept behind the book line. With anticipation, I ordered this book as I wanted to learn C# 3.0. (I, however, have a programming background.) After finishing it, it was a disappointing read, and wasn't even entertaining at that.
The book just seemed to be difficult at times, and I quit following through on the examples after a while. Just started to read instead. Perhaps this was my mistake, as learning by doing is the best approach. The book's examples seemed to be a bit difficult for me to grasp. For example, the book used a beehive game as an example to OOP, and referred to it in several chapters. I didn't like the beehive simulation and found it difficult, even tedious, to go along.
I've resorted to reading another introductory book on C# 3.0 and have made better progress on understanding this programming language. Maybe, this Head First C# book 'broke-down' the dense concepts of the C# language, allowing me to easily understand it better on reading my next book about the language. For that, I guess I have this book to thank for.
Todd Elliott
21 March, 2010
I read the entire book and completed every exercise. Alone. Here's my opinion.
I finished the entire book. I did every exercise, some of them twice. It took months. Here's what I think.
The book isn't ideal for those who are completely new to programming. It devotes relatively little time explaining loops and other decisional structures. This book is better for someone with at least modest programming experience.
The book has a horrendous number of errors. The spelling errors alone are quite remarkable. Even though I have a later edition, it is riddled with mistakes. For instance, on the top of page 509, we are informed that "It's unusal for one of the..." , and on page 560, we are asked to participate in an "exrecise solution." The code you are supposed to use is equally horrific. This means that you have no confidence in the code, and that you can't be sure if you've erred, or the book's authors have erred. Programming is devastatingly difficult to learn, and the poor editing makes this process even more excruciating than it has to be. I doubt very much that the people who raved about this book actually did the exercises. The errata seems to be incomplete towards the end of the book.
That isn't to say that I hated the book. In fairness, I was really only an amateur programmer before buying this book. Now I am a competent programmer. That is because the book is logically laid out and emphasizes real, actual programming. (There are exceptions: the book introduces delegates using a delegate constructor that takes a method name as a parameter, without explaining what it is doing. (p.501) This is disorienting and confusing. ) But generally, you will learn to write real code from this book, if you are willing to devote many hours of time, many of which will be spent productively, some of which will be spent checking the author's mistakes and combing through errata.
Also, the book teaches you to use correct programming strategies--or `best practices'--as they are referred to in the industry. Stick with this book, endure the errors, and you will be a pretty decent programmer at the end. Don't give up: the 2nd half of the book goes much more quickly than the first half.
Owing to the irresponsible editing, I can't give this book more than 2 stars. But it may just be the best C# book available, a sad reflection on the industry. You might try Murach's C# 2008, I have worked through their book on Visual Basic and found it much simpler and better edited than the Head First C# book. But it will probably not teach you sophisticated programming like the Head First C# book that is the subject of this review.
Other Head First Books are wonderful. The Head First HTML/CSS book is fantastic, and helped me get into programming. And O'Reilly is generally in the top tier of technical publishers. This book is an exception. The book is not cheap, and for this amount of money, the authors could have tested the code and spellchecked their work.
T. Butler
20 February, 2010
I read the entire book and completed every exercise. Alone. Here's my opinion.
I finished the entire book. I did every exercise, some of them twice. It took months. Here's what I think.
The book isn't ideal for those who are completely new to programming. It devotes relatively little time explaining loops and other decisional structures. This book is better for someone with at least modest programming experience.
The book has a horrendous number of errors. The spelling errors alone are quite remarkable. Even though I have a later edition, it is riddled with mistakes. For instance, on the top of page 509, we are informed that "It's unusal for one of the..." , and on page 560, we are asked to participate in an "exrecise solution." The code you are supposed to use is equally horrific. This means that you have no confidence in the code, and that you can't be sure if you've erred, or the book's authors have erred. Programming is devastatingly difficult to learn, and the poor editing makes this process even more excruciating than it has to be. I doubt very much that the people who raved about this book actually did the exercises. The errata seems to be incomplete towards the end of the book.
That isn't to say that I hated the book. In fairness, I was really only an amateur programmer before buying this book. Now I am a competent programmer. That is because the book is logically laid out and emphasizes real, actual programming. (There are exceptions: the book introduces delegates using a delegate constructor that takes a method name as a parameter, without explaining what it is doing. (p.501) This is disorienting and confusing. ) But generally, you will learn to write real code from this book, if you are willing to devote many hours of time, many of which will be spent productively, some of which will be spent checking the author's mistakes and combing through errata.
Also, the book teaches you to use correct programming strategies--or `best practices'--as they are referred to in the industry. Stick with this book, endure the errors, and you will be a pretty decent programmer at the end. Don't give up: the 2nd half of the book goes much more quickly than the first half.
Owing to the irresponsible editing, I can't give this book more than 2 stars. But it may just be the best C# book available, a sad reflection on the industry. You might try Murach's C# 2008, I have worked through their book on Visual Basic and found it much simpler and better edited than the Head First C# book. But it will probably not teach you sophisticated programming like the Head First C# book that is the subject of this review.
Other Head First Books are wonderful. The Head First HTML/CSS book is fantastic, and helped me get into programming. And O'Reilly is generally in the top tier of technical publishers. This book is an exception. Still, the book is not cheap, and for this amount of money, the authors could have tested the code and spellchecked their work.
T. Butler
20 February, 2010
I read the entire book and completed every exercise. Alone. Here's my opinion.
I finished the entire book. I did every exercise, some of them twice. It took months. Here's what I think.
The book isn't ideal for those who are completely new to programming. It devotes relatively little time explaining loops and other decisional structures. This book is better for someone with at least modest programming experience.
The book has a horrendous number of errors. The spelling errors alone are quite remarkable. Even though I have a later edition, it is riddled with mistakes. For instance, on the top of page 509, we are informed that "It's unusal for one of the..." , and on page 560, we are asked to participate in an "exrecise solution." The code you are supposed to use is equally horrific. This means that you have no confidence in the code, and that you can't be sure if you've erred, or the book's authors have erred. Programming is devastatingly difficult to learn, and the poor editing makes this process even more excruciating than it has to be. I doubt very much that the people who raved about this book actually did the exercises. The errata seems to be incomplete towards the end of the book.
That isn't to say that I hated the book. In fairness, I was really only an amateur programmer before buying this book. Now I am a competent programmer. That is because the book is logically laid out and emphasizes real, actual programming. (There are exceptions: the book introduces delegates using a delegate constructor that takes a method name as a parameter, without explaining what it is doing. (p.501) This is disorienting and confusing. ) But generally, you will learn to write real code from this book, if you are willing to devote many hours of time, many of which will be spent productively, some of which will be spent checking the author's mistakes and combing through errata.
Also, the book teaches you to use correct programming strategies--or `best practices'--as they are referred to in the industry. Stick with this book, endure the errors, and you will be a pretty decent programmer at the end. Don't give up: the 2nd half of the book goes much more quickly than the first half.
Owing to the irresponsible editing, I can't give this book more than 2 stars. But it may just be the best C# book available, a sad reflection on the industry. You might try Murach's C# 2008, I have worked through their book on Visual Basic and found it much simpler and better edited than the Head First C# book. But it will probably not teach you sophisticated programming like the Head First C# book that is the subject of this review.
Other Head First Books are wonderful. The Head First HTML/CSS book is fantastic, and helped me get into programming. And O'Reilly is generally in the top tier of technical publishers. This book is an exception. The book is not cheap, and for this amount of money, the authors could have tested the code and spellchecked their work.
T. Butler
20 February, 2010
Definitely out of the best programming books out there.
I'm an asp.net web developer. I also work extensively with MS SQL. Before reading this book I thought I had some decent c# skills. Boy was I wrong. This book revealed a lot of holes in my programming. Let me explain why.
I had previously read a lot of reference type of books on C#. The kind of books that just explain things over and over. I hadn't read any books that really challenged me to figure things out on my own. This book is much different. Its a challenging, example and test driven approach that will have you writing very elegant object oriented code.
Don't be fooled by all the silly pictures, this is not a kids book. Some of the test and quizzes were difficult and really make you think. Granted if you're a CS Major and have been programming for years this book isn't for you. But if you're just the average joe (or jane) wanting to learn c# this book is definitely a great choice.
M. Torres
08 February, 2010
Definitely out of the best programming books out there.
I'm an asp.net web developer. I also work extensively with MS SQL. Before reading this book I thought I had some decent c# skills. Boy was I wrong. This book revealed a lot of holes in my programming. Let me explain why.
I had previously read a lot of reference type of books on C#. The kind of books that just explain things over and over. I hadn't read any books that really challenged me to figure things out on my own. This book is much different. Its a challenging, example and test driven approach that will have you writing very elegant object oriented code.
Don't be fooled by all the silly pictures, this is not a kids book. Some of the test and quizzes were difficult and really make you think. Granted if you're a CS Major and have been programming for years this book isn't for you. But if you're just the average joe (or jane) wanting to learn c# this book is definitely a great choice.
M. Torres
08 February, 2010
Excellent Rread. Made Learning C# Fun
I really enjoyed reading this book. The authors did a great job making learning C# fun. I have read several books on C# ranging from beginner to intermediate, though many were excellent, none provided entertaining examples and labs to work on.
Waleed Albalooshi
28 October, 2009
Excellent Rread. Made Learning C# Fun
I really enjoyed reading this book. The authors did a great job making learning C# fun. I have read several books on C# ranging from beginner to intermediate, though many were excellent, none provided entertaining examples and labs to work on.
Waleed Albalooshi
28 October, 2009
You really learn with this book
The author's dedication to teaching comes through clearly in this book. The exercises are well thought out. By the time you complete the exercises you feel like you have truly learned the subject matter. The bubbles approach makes it a lot of fun to read and serve to drive home each point very clearly. I highly recommend this book to anyone interested in starting to write c# code right away.
Carmen D. Mariscal
02 October, 2009
You really learn with this book
The author's dedication to teaching comes through clearly in this book. The exercises are well thought out. By the time you complete the exercises you feel like you have truly learned the subject matter. The bubbles approach makes it a lot of fun to read and serve to drive home each point very clearly. I highly recommend this book to anyone interested in starting to write c# code right away.
Carmen D. Mariscal
02 October, 2009
not pleased
Considerable effort was made to try to make the material "fun" using what amounts to doodles and various cute graphics devices. Sadly, this creative effort was not accompanied by clear didactic style. I read several chapters of the book and decided I needed another book because the chaotic and disorganized approach was actually more confusing than instructive. Any introductory work must be meticulous about not using concepts and terms that have not been previously defined; it should start out simple and build. Seems obvious, yet many books violate this simple rule, and this book is rife with examples. It is also completely unacceptable to have errors in the practice code that won't actually run when executed. It wastes the reader's time and energy. Look elsewhere.
B. Stanton
13 September, 2009
not pleased
Considerable effort was made to try to make the material "fun" using what amounts to doodles and various cute graphics devices. Sadly, this creative effort was not accompanied by clear didactic style. I read several chapters of the book and decided I needed another book because the chaotic and disorganized approach was actually more confusing than instructive. Any introductory work must be meticulous about not using concepts and terms that have not been previously defined; it should start out simple and build. Seems obvious, yet many books violate this simple rule, and this book is rife with examples. It is also completely unacceptable to have errors in the practice code that won't actually run when executed. It wastes the reader's time and energy. Look elsewhere.
B. Stanton
13 September, 2009
Too many puzzles
When I first bought this book, I was excited about the unique layout and the projects that I'd be creating. At Chapter 6, I am struggling to go any further. I'm bored of doing the crossword puzzles, matching, etc. I just want to write code. At this point, I'm probably just going to skip all the goofy "things to do" and just go through the brief exercises in the chapters.
Lori
26 August, 2009
Too many puzzles
When I first bought this book, I was excited about the unique layout and the projects that I'd be creating. At Chapter 6, I am struggling to go any further. I'm bored of doing the crossword puzzles, matching, etc. I just want to write code. At this point, I'm probably just going to skip all the goofy "things to do" and just go through the brief exercises in the chapters.
Lori
26 August, 2009
Make sure you get copy printed on September and on since it has all the "Errata corrected"
Get a copy that was printed after September 2008 since it has all the "Errata corrected" (I checked publisher site before buying) I didn't buy it at Amazon because I wanted to make sure I got the latest printed copy with all the corrections. To my surprise I found printed copy with the date July 2009. This book is amazing. Programming is a huge pain to learn with books. But this is totally a fun experience.
Jacob Gonzalez
14 August, 2009
Make sure you get copy printed on September and on since it has all the "Errata corrected"
Get a copy that was printed after September 2008 since it has all the "Errata corrected" (I checked publisher site before buying) I didn't buy it at Amazon because I wanted to make sure I got the latest printed copy with all the corrections. To my surprise I found printed copy with the date July 2009. This book is amazing. Programming is a huge pain to learn with books. But this is totally a fun experience.
Jacob Gonzalez
14 August, 2009
Good Read (so far)
What stands out most for me with this book is the relaxed style most computing books don't have.
OOP is very new to me, the last programming I did was over 15 years ago at University so I really do need a softly softly approach to get me back in to the swing and this book appears to be doing it's job quite nicely!
I've only had time to go through the first project and so far the book has made the experience an easier one!
Darren Finch
29 June, 2009
Good Read (so far)
What stands out most for me with this book is the relaxed style most computing books don't have.
OOP is very new to me, the last programming I did was over 15 years ago at University so I really do need a softly softly approach to get me back in to the swing and this book appears to be doing it's job quite nicely!
I've only had time to go through the first project and so far the book has made the experience an easier one!
Darren Finch
29 June, 2009
This book delivers what it promises
There are several reviews for this book that cite the poor editing of the first edition of this book. As I have found that the confirmed errata on the O'Reilly web site seems to be fixed in my copy, I can only assume I have the second edition.
This book isn't perfect; there are still some errors, BUT if you are really trying to learn C# and you've paid attention to what you've read in the book, the errors are not serious and you should be able to tell what was intended.
I suppose I should say that this book is just over 700 pages and I am currently on page 348. That means two things. First, I can't claim that there won't be problems with the text later in the book (but I doubt there will be), and two...
When I say I'm on page 348, I mean I've read every page preceding, followed every exercise and finished the first lab without 'cheating'. I haven't done that with a 'computer book' since Datamost published a guide to Applesoft Basic back in the early 1980's.
What do I really like about this book? Two main things. First, everything is explained, then repeated several times in plain language. If at first I don't understand, I only need to keep reading to have the explanation come at me again from a slightly different angle, and usually with a new code example or exercise. Second, I love (LOVE!) the labs. After learning and reinforcing several key bits of C#, you'll eventually reach a lab wher you are given the specs for a program. There are usually some details on what sort of approach you might take but otherwise you are on your own to use what you've learned to build the application. If you are serious about learning anything (including C#), nothing beats practice, practice, practice.
The forum for this book on the O'Reilly site is populated by helpful people who seem to be good at sharing information and helping clarify if and when you get stuck on something.
I would totally recommend this book, especially if you are a beginner.
John Sheppard
10 June, 2009
This book delivers what it promises
There are several reviews for this book that cite the poor editing of the first edition of this book. As I have found that the confirmed errata on the O'Reilly web site seems to be fixed in my copy, I can only assume I have the second edition.
This book isn't perfect; there are still some errors, BUT if you are really trying to learn C# and you've paid attention to what you've read in the book, the errors are not serious and you should be able to tell what was intended.
I suppose I should say that this book is just over 700 pages and I am currently on page 348. That means two things. First, I can't claim that there won't be problems with the text later in the book (but I doubt there will be), and two...
When I say I'm on page 348, I mean I've read every page preceding, followed every exercise and finished the first lab without 'cheating'. I haven't done that with a 'computer book' since Datamost published a guide to Applesoft Basic back in the early 1980's.
What do I really like about this book? Two main things. First, everything is explained, then repeated several times in plain language. If at first I don't understand, I only need to keep reading to have the explanation come at me again from a slightly different angle, and usually with a new code example or exercise. Second, I love (LOVE!) the labs. After learning and reinforcing several key bits of C#, you'll eventually reach a lab wher you are given the specs for a program. There are usually some details on what sort of approach you might take but otherwise you are on your own to use what you've learned to build the application. If you are serious about learning anything (including C#), nothing beats practice, practice, practice.
The forum for this book on the O'Reilly site is populated by helpful people who seem to be good at sharing information and helping clarify if and when you get stuck on something.
I would totally recommend this book, especially if you are a beginner.
John Sheppard
10 June, 2009
This was the best book on C#
This was the best book on C# that I have got. It is really a practical step by step learning. So I give the highest rate to this book.
[...]
Ali
03 June, 2009
This was the best book on C#
This was the best book on C# that I have got. It is really a practical step by step learning. So I give the highest rate to this book.
[...]
Ali
03 June, 2009
C# educational books
A book Head first is a great book for beginners in C# programming. It shows you on a simple way how to start coding. I was really surprised how easy is to learn some basics. But still, it is only for the beginning - for something more the additional books are needs AND most of all, a lot of time invested into practising.
But still, great book, as I said it is a great book got getting basic knowledge.
Mitja Bonca
17 May, 2009