Programming books that have you follow a project?

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
Jan 2, 2006
10,455
35
91
I spent some time at Borders today going through the various web development books. For example, PHP + MySQL. The Dummy books sucked, the Bible books were nice, and the O'Reilly ones seemed over my head. But I noticed that a lot of the books were simply references, snippets of code and explanations of how they work in a vacuum. I found a book by WROX that had two ongoing websites that the user actually had to build as they went through the code in the book. One was a movie review site, and another was a comic book store or something that dealt with databases and security.

I really liked this structure, so I decided to go on Amazon to buy it, but the reviews weren't good. Apparently the examples are just plain broken. The code doesn't work, the book isn't proofread, and I'd be spending more time debugging this book than learning from it.

Can anyone recommend me some programming books or series that are actually project-oriented? Like after following it from beginning to end I'll actually have a tangible creation? Considering how expensive these books are, I don't want to spend $30 for a book that's just a reference vs. a teacher, over my head, or worse, has broken code.
 

nordloewelabs

Senior member
Mar 18, 2005
542
0
0
Originally posted by: fuzzybabybunny
I found a book by WROX that had two ongoing websites that the user actually had to build as they went through the code in the book. [...]

Apparently the examples are just plain broken. The code doesn't work, the book isn't proofread, and I'd be spending more time debugging this book than learning from it.

so it might be a commom problem with Wrox as i got one of their Visual C# books and spent lots of time debugging their instructions/code.

i agree with you, a book with projects is nice. but i'd rather read a theory book first, and a "projects book" second. i'm a sucker for "why's". :p
 

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
Jan 2, 2006
10,455
35
91
Originally posted by: nordloewelabs
Originally posted by: fuzzybabybunny
I found a book by WROX that had two ongoing websites that the user actually had to build as they went through the code in the book. [...]

Apparently the examples are just plain broken. The code doesn't work, the book isn't proofread, and I'd be spending more time debugging this book than learning from it.

so it might be a commom problem with Wrox as i got one of their Visual C# books and spent lots of time debugging their instructions/code.

i agree with you, a book with projects is nice. but i'd rather read a theory book first, and a "projects book" second. i'm a sucker for "why's". :p

Yeah, i guess so. i have no idea how this is acceptable at all for something that's $50!
 

WannaFly

Platinum Member
Jan 14, 2003
2,811
1
0
I don't know of any, but thought i'd share my two cents.

On any given project, you'll need to break it down into the SMALLEST possible parts to code it. Until you know what those parts are, you can't code them. And, at the same time, the language you write it in shouldn't matter. Yes, you'll need to learn syntax, etc, but the LOGIC is much more important. I try to encourage people to not think about "How do I accomplish x task in VB.NET" but in a more general sense, "What steps to I need to do in ANY environment to accomplish x task". Pseudocode, drawing, etc becomes very important. The point is that the technologies change, but the logic and methods will stay very similar over time.

So, pick a project, maybe a simpler one then you are currently working on, and break it down.

a) insert a property
b) delete a property
c) edit properties
d) upload images
e) resize images

Do "sub" projects first, a single page that might accomplish one single task, then one it mostly works move it into your project.

Hopefully this helps a little bit, I like to think of programming as a bit of an art form, yes, anyone can do it with enough knowledge and practice, but it takes a bit more to understand an entire project and how it works inside and out. I work at a college and i'd guess that about 75% of CS/MIS students are "code monkeys", in which they can write code, but to integrate that code into something else, or do a large project from start to finish, that becomes a challenge for them.
 

ivan2

Diamond Member
Mar 6, 2000
5,772
0
0
www.heatware.com
depends on what kind of language you are after, 2 very good one about java i read recently took that approach.

EJB3 in action.
Seam in action.

judging by this trend you might want to look at the in action series. They are also what i will recommend if you decide to go after these technologies.
 

tarak

Member
Sep 27, 2001
128
0
0
I've been hearing good stuff about Professional ASP.NET MVC, part of which walks you through the creation of Nerd Dinner

You can actually get the "chapter" on creating the site for free here. At 186 pages it is pretty significant. I haven't read the book myself (and just glanced through at the free pdf) but the authors are very well respected in the .NET community.

Only two hesitations in mentioning it is that that ASP.NET MVC is still very new technology compared to classic asp.net "webforms" and its from WROX who you've already mentioned you weren't thrilled with.
 

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
Jan 2, 2006
10,455
35
91
Originally posted by: WannaFly
I don't know of any, but thought i'd share my two cents.

On any given project, you'll need to break it down into the SMALLEST possible parts to code it. Until you know what those parts are, you can't code them. And, at the same time, the language you write it in shouldn't matter. Yes, you'll need to learn syntax, etc, but the LOGIC is much more important. I try to encourage people to not think about "How do I accomplish x task in VB.NET" but in a more general sense, "What steps to I need to do in ANY environment to accomplish x task". Pseudocode, drawing, etc becomes very important. The point is that the technologies change, but the logic and methods will stay very similar over time.

So, pick a project, maybe a simpler one then you are currently working on, and break it down.

a) insert a property
b) delete a property
c) edit properties
d) upload images
e) resize images

Do "sub" projects first, a single page that might accomplish one single task, then one it mostly works move it into your project.

Hopefully this helps a little bit, I like to think of programming as a bit of an art form, yes, anyone can do it with enough knowledge and practice, but it takes a bit more to understand an entire project and how it works inside and out. I work at a college and i'd guess that about 75% of CS/MIS students are "code monkeys", in which they can write code, but to integrate that code into something else, or do a large project from start to finish, that becomes a challenge for them.

I understand, but I believe that my learning style is starting with the big picture first. I enjoy seeing a finalized project first so that I can be wowed by it and know that I have that goal to work towards. And then I can break it down into smaller sections and see how they all tie together, and then even smaller subsections to see how they make each section, and then down into the code to see how the code makes up each subsection, section, whole site, etc. I've always enjoyed the top down approach more than the bottom up approach and like it most when there is a hefty mix of both. Too many classes I've taken have stressed a bottom up approach, and only bottom up, depriving me of the big picture and making me frustrated, confused, bored, and unaware of where I'm at in the big scope of things, if that makes any sense. That's why I like project based learning because I know the destination, so I have a goal, and whilst working on the little things I can always "zoom out" and see where I'm at in the grand scheme. I believe that to only focus on the little things is precisely what creates "code monkeys" and an inability to integrate anything.
 

sao123

Lifer
May 27, 2002
12,653
205
106
Originally posted by: fuzzybabybunny
I spent some time at Borders today going through the various web development books. For example, PHP + MySQL. The Dummy books sucked, the Bible books were nice, and the O'Reilly ones seemed over my head. But I noticed that a lot of the books were simply references, snippets of code and explanations of how they work in a vacuum. I found a book by WROX that had two ongoing websites that the user actually had to build as they went through the code in the book. One was a movie review site, and another was a comic book store or something that dealt with databases and security.

I really liked this structure, so I decided to go on Amazon to buy it, but the reviews weren't good. Apparently the examples are just plain broken. The code doesn't work, the book isn't proofread, and I'd be spending more time debugging this book than learning from it.

Can anyone recommend me some programming books or series that are actually project-oriented? Like after following it from beginning to end I'll actually have a tangible creation? Considering how expensive these books are, I don't want to spend $30 for a book that's just a reference vs. a teacher, over my head, or worse, has broken code.

having evaluated many many books for programming for a variety of purposes (self learning, instruction a college programming class, building projects myself) the problem with top down learning is the following:

Rarely is a single learning project so wide in scope, that it can cover every topic.
It might hit 75% of the material, but what of the other 25%?
Database projects being the lone exception to this... I have seen entire access books devoted to top down learning.

As far as web programming, I like the New Perspectives (X)HTML Series, which do a mixture of top down and bottom up, in both their learning, and the end of chapter exercises...
Programming books by Deitel, also do a good mixture of top down and bottom up.
 
Oct 27, 2007
17,009
5
0
Originally posted by: tarak
I've been hearing good stuff about Professional ASP.NET MVC, part of which walks you through the creation of Nerd Dinner

You can actually get the "chapter" on creating the site for free here. At 186 pages it is pretty significant. I haven't read the book myself (and just glanced through at the free pdf) but the authors are very well respected in the .NET community.

Only two hesitations in mentioning it is that that ASP.NET MVC is still very new technology compared to classic asp.net "webforms" and its from WROX who you've already mentioned you weren't thrilled with.

I absolutely loved the free chapter PDF, I'm a huge fan of the authors, ASP.NET MVC is wonderful and I intend to buy this book. However, the OP looks to be looking at Unix-based server software, not .NET.

Fuzzy, my first recommendation to you is to ditch PHP. It's old-school and despite the authors' best efforts it is a poor example of an object-oriented language. It's a confused language that doesn't seem to know if it wants to be OO or functional, it's sort-of a scripting language but not really. The whole language is just a giant mess and despite it's popularity I think it will die within the next 5 - 10 years.

If you want to stick to free Linux-based software I would strongly recommend picking up a book on Ruby, and probably one that covers both the language and the Rails framework. This will still play nicely with your MySQL databases, but it has the advantage of being a truly object-oriented dynamic language backed with a real MVC framework.

Edit - to quote Jeff Atwood regarding the PHP language:
It's a galactic supernova of incomprehensibly colossal, mind-bendingly awful suck. If you sit down to program in PHP and have even an ounce of programming talent in your entire body, there's no possible way to draw any other conclusion. It's inescapable.
Couldn't have put it better myself.
 

Idontcareforpie

Junior Member
May 15, 2009
12
0
0
Originally posted by: WannaFly
quoted text

Seconded. It can be really tough to learn something new AND be creative about how to do it but it is very easy to get stuck into following a project and thinking you know how to do things when really you just know how to copy examples.

I've done this a lot actually. I like the idea of breaking down into small parts and coding them and I would add try to think of ways to make each thing you do modular to fit in with any other thing you may do.

Good luck
 

Crusty

Lifer
Sep 30, 2001
12,684
2
81
Originally posted by: GodlessAstronomer
Originally posted by: tarak
I've been hearing good stuff about Professional ASP.NET MVC, part of which walks you through the creation of Nerd Dinner

You can actually get the "chapter" on creating the site for free here. At 186 pages it is pretty significant. I haven't read the book myself (and just glanced through at the free pdf) but the authors are very well respected in the .NET community.

Only two hesitations in mentioning it is that that ASP.NET MVC is still very new technology compared to classic asp.net "webforms" and its from WROX who you've already mentioned you weren't thrilled with.

I absolutely loved the free chapter PDF, I'm a huge fan of the authors, ASP.NET MVC is wonderful and I intend to buy this book. However, the OP looks to be looking at Unix-based server software, not .NET.

Fuzzy, my first recommendation to you is to ditch PHP. It's old-school and despite the authors' best efforts it is a poor example of an object-oriented language. It's a confused language that doesn't seem to know if it wants to be OO or functional, it's sort-of a scripting language but not really. The whole language is just a giant mess and despite it's popularity I think it will die within the next 5 - 10 years.

If you want to stick to free Linux-based software I would strongly recommend picking up a book on Ruby, and probably one that covers both the language and the Rails framework. This will still play nicely with your MySQL databases, but it has the advantage of being a truly object-oriented dynamic language backed with a real MVC framework.

Edit - to quote Jeff Atwood regarding the PHP language:
It's a galactic supernova of incomprehensibly colossal, mind-bendingly awful suck. If you sit down to program in PHP and have even an ounce of programming talent in your entire body, there's no possible way to draw any other conclusion. It's inescapable.
Couldn't have put it better myself.

I completely agree about PHP, I recommend http://www.pragprog.com/titles...3/programming-ruby-1-9 and http://www.pragprog.com/titles...th-rails-third-edition as good books to learn Ruby on Rails. Took me from knowing nothing about Ruby to having a functional site in just a matter of weeks.