• Post Reply Bookmark Topic Watch Topic
  • New Topic

Upgrades from Head First  RSS feed

 
Stian Almaas
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Kathy!

I have enjoyed several of the Head First series and I like the way the books presents the material. I wonder, how has your delivery changed since you did HF Java all those years ago? What have you learnt that makes this book more engaging than HF Java?

I see on forum comments and such that even though I like the HF style there are many that find it distracting. Have you explicitly decided to write to a special kind of reader? Do you think that there are different modes of learning that fits to different people or is there a "best" way?

Another one; personally I find that I learn best through doing and one of the good things about the HF books is that they break up the material with frequent excercises. Do you think that the content of this book could be even better delivered through some kind of interactive experience? I'm in two minds myself. Sites like Khan Academy and Codecademy etc. are already very good and has very good potential. On the other hand, books are standalone packages and probably live longer.

Thanks for your time (and your books)
Stian
 
Kathy Sierra
Cowgirl and Author
Rancher
Posts: 1589
5
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Stan,
Thanks for these questions. They get to the heart of what I've been doing for the last ten years! My answers could themselves be book-length, so I'll try to just give the highlight/overview:

I have enjoyed several of the Head First series and I like the way the books presents the material. I wonder, how has your delivery changed since you did HF Java all those years ago? What have you learnt that makes this book more engaging than HF Java?


HF Java (the first HF book) was an attempt to take a wide range of theories and research around learning, cognitive science, game design, etc. and throw "everything we had" at the problem we defined simply as "help people learn Java." The problem we addressed was less about getting the right content *about Java* and more about helping people keep turning the pages and getting something from the experience. There were literally 2,000 Java books at the time HF Java was released, and a whole bunch of them were quite good. We knew the challenge wasn't about making a "better" Java book, but about making a book that people could stick with, especially those who were new to OO and who weren't all that confident (or hopefully) that it would be anything other than painful.

We always said that HF Java was just *one* possible implementation of endless possibilities. And yes, we've learned a lot since then that I would do differently and *am* doing differently today.


I see on forum comments and such that even though I like the HF style there are many that find it distracting. Have you explicitly decided to write to a special kind of reader? Do you think that there are different modes of learning that fits to different people or is there a "best" way?


When it first came out, the assumption was that it was "a particular style for a particular type of reader." But then it became the bestselling Java book ever, and is now the longest running technical bestseller on Amazon, despite being a decade old! What we learned from this is that yes, it IS reflecting a specific 'learning style' but that 'style' is one that most humans share. However, the book *also* includes a lot of OTHER things and some of those are distracting for certain people and don't *necessarily* add to the learning for all people. So a lot of people are learning from the book *in spite of* some of the distracting elements, simply because the bulk of the experience is still giving them an effective way to learn that they weren't able to find in most books.

But to answer your question, there *is* a "best" way for most people. HF is not that "best" way, but it's better than most. The idea of learning styles is mostly a myth -- what the science shows is that while most people *believe* they have a "preferred learning style", most humans learn from having access to *multiple representations* of what they're trying to learn, and that there IS a "preferred learning style" for specific types of content/learning. In other words, there is a *best way to represent [x]* not a *best way for person [x] to learn things.* HF was based heavily on this science: when in doubt, teach with *multiple representations*, not just one. So although HF does have a graphical/theme style (including its personality), the *actual learning* is coming from the simple fact that the difficult topics are represented in multiple ways including graphics, examples, stories, metaphors, anthropomorphizing, etc. In other words, the BEST learning style is to have multiple representations. But there IS one representation -- one "style" -- that is superior for virtually *every human brain*. And that is graphics/visuals. A picture really IS worth 1000 words in terms of speed AND accuracy of processing. But we also used graphics so heavily because we are not at all confident that our ability as writers to convey a difficult concept verbally will be enough to guarantee that the mental model WE have is transferred error-free into the head of the reader. A graphic solves most of this problem because no translation has to happen in the person's mind.

I have always said that if we took out everything that makes a Head First book a Head First book, the two things that absolutely are necessary are the heavy use of visuals (especially the diagrams) and the annotated code. The annotated code is a dramatically powerful way to help reduce the cognitive load experienced when trying to learn how things work in code. Part of that annotated code (not Java-code-annotations -- I mean the way we make 'notes' on the code) is also that we are able to keep repeating parts of the context in which the code we're discussing lives. A code snippet without repeating its context is a very difficult way to learn because very few people can see the original context just once and then remember it perfectly on the next page.



Another one; personally I find that I learn best through doing and one of the good things about the HF books is that they break up the material with frequent excercises. Do you think that the content of this book could be even better delivered through some kind of interactive experience? I'm in two minds myself. Sites like Khan Academy and Codecademy etc. are already very good and has very good potential. On the other hand, books are standalone packages and probably live longer.



I'll answer it this way by revealing something NOBODY knows (until now ;) -- my current project is working on a form of interactive learning for Java 8.


Thanks for your time (and your books)


Thank YOU!
 
Stian Almaas
Ranch Hand
Posts: 37
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Wow, thanks for that response, Kathy. It was a lot more than I expected.

Kathy Sierra wrote:
I have always said that if we took out everything that makes a Head First book a Head First book, the two things that absolutely are necessary are the heavy use of visuals (especially the diagrams) and the annotated code. The annotated code is a dramatically powerful way to help reduce the cognitive load experienced when trying to learn how things work in code. Part of that annotated code (not Java-code-annotations -- I mean the way we make 'notes' on the code) is also that we are able to keep repeating parts of the context in which the code we're discussing lives. A code snippet without repeating its context is a very difficult way to learn because very few people can see the original context just once and then remember it perfectly on the next page.


That certainly feels right. Another of my favorite technical books is Steve Krugs "Don't make me think!". His book also has very effective use of visuals.
I also agree on the annotated code. The notes made me re-read the parts of the code that were annotated. When I think about it, having code in a paper book feels a little off. It is a little like having dried flowers in a herbarium. Code is much easier to grasp when it is alive in the computer and you can play around with it. The annotated code and the "Be the compiler" excercises was better in that they made me think through the code more. I find in other java books it is easier to just skim the code sections.

Kathy Sierra wrote:
I'll answer it this way by revealing something NOBODY knows (until now ;) -- my current project is working on a form of interactive learning for Java 8.


OMG! That is a scoop for the JavaRanch! We heard it here first. Really exciting news!


Thank you again,
Stian
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!